최종보고서
Pusan National University
-1 -
1. 개발배경
가. 개발배경*
하늘을 올려다보면 맑은 하늘을 보다 미세먼지 가득한 하늘이 더 자주 보인다. 미세
먼지가 많은 날에 마스크를 하지 않으면 목이 칼칼해지는 것은 일상이 되었다.
이처럼 미세먼지가 심각한 사회문제로 부각 되고 있으며, 마스크를 하지 않으면 목
이 칼칼해지는 것처럼 미세먼지가 우리 몸에 침투하면 각종 호흡기 및 심장 질환을 유
발할 수 있다.
미세먼지에 IoT기술을 접목하여 실내외 공기 분석을 통해 적절한 환기 시점을 알려
주는 동시에 미세먼지 정보를 직관적인 전달함으로써 미세먼지로부터 건강을 지키고
불안감을 해소 할 수 있다.
나. 개발필요성* (문제점 도출)
현재 여러 사이트에서 미세먼지 정보를 제공하고 있다. 이 정보를 활용한 미세먼지
정보 어플리케이션이 존재하지만,
아침에 일어나 출근하기에도 바쁜 일상 속에서 오늘 미세먼지 농도는 더더욱 확인을
안 하게 된다.
그래서 사용자가 시간을 들여 미세먼지 농도를 확인하지 않아도
IoT기기의 디스플레이를 통해 신발을 신다가 단 한번만 봐도 오늘의 미세먼지 농도
정보를 전달 하고자 한다.
이로 인해 미세먼지 건강관리에 대한 정확한 정보를 제공함과 동시에 환기 시점에
대한 정확한 정보를 제공함으로써 실내 공기를 쾌적하게 유지할 수 있게 도와준다.
4.
최종보고서
Pusan National University
-2 -
2. 개발개요
가. 개발목표*
실내외 미세먼지 수준을 분석하여 적절한 환기 시점에 대한 정보를 하여 실내 공기 개
선에 도움을 주는 IoT제품 개발이다.
나. 개발기간
업무
5월 6월 7월 8월 9월
3주 4주 5주 1주 2주 3주 4주 5주 1주 2주 3주 4주 5주 1주 2주 3주 4주 5주 1주 2주
역할분담
Arduino
모듈을
사용한 IoT
기기제작
사용자
친화적인 UI
제작
AWS 웹서버
구축 및
IoT기기와
연동
웹 크롤링을
통한 데이터
수집 및 전송
적절한 환기
시점 판단
알고리즘
구현
IoT 어플
제작
디버깅 및
성능테스트
결과보고서
작성
발표자료 작성
SW저작등록
준비
예산사용 내역
증빙
표 1 개발 일정표
5.
최종보고서
Pusan National University
-3 -
다. 주요내용*
* IoT 기기 제작
* IoT 기기의 LED를 통해 직관적인 정보 전달
* 센서를 통해 실내 미세먼지, 이산화탄소, 휘발성유기화합물, 온도, 습도를 수집한
다.
* Node.js를 활용하여 공공데이터 중 시군구별 실시간 공기 오염 평균정보를 호출한
뒤 파싱 후 Firebase에 입력한다.
* 실내와 실외 미세먼지를 분석하여 환기적절성을 판단한다.
라. 활용방안*
* 학교나 회사, 원룸 같은 장소에 설치하여 미세먼지 및 대기오염의 위협으로부터 건
강을 지키고 미세먼지에 대한 불안감을 해소 할 수 있다.
6.
최종보고서
Pusan National University
-4 -
3. 산업체 멘토링 결과반영
가. 산업체 멘토링 내용*
구분 멘토링 내용
산업체 수요
미세먼지가 많은날 환기 시점의 애매함을 해결하는 솔루션을 제안하는 점이
긍정적임. 핵심기능인 환기 시점 판단 알고리즘의 구체적인 설명이 필요함.
환기 시점은 이산화탄소의 농도나 냄새가 중요할 것으로 보여지는데 이에
대한 조사가 필요할 것 같음. 국내에 출시되어 있는 Awair 같은 제품들을
참조하면 도움이 될 것 같음
목표 타당성
환기 시점 판단 알고리즘의 설명이 부재. 이 알고리즘이 핵심이기 때문에 많
은 시간을 할애하는 것이 중요할 것 같음. 그 이외의 하드웨어 개발 및 서버
개발은 구체적인 편. 실외 미세먼지 데이터를 특별한 이유가 있는 것이 아니
면 웹 크롤링을 통해서 얻기보다는 API로 제공되는 데이터를 사용하는 것이
더 나아보임.
개발 효율성
사용할 수 있는 장비와 필요한 부품들을 잘 파악하고 있는 편. 개발 일정에
서 적절한 환기 시점 판단 알고리즘 구현이 가장 중요하기 때문에 데이터만
확보되면 최대한 빠른 시점에 시작하는 것이 필요해 보이며 사용자 친화적
인 UI는 보다 후반부에 진행해도 괜찮음.
표 2 산업체 멘토링 결과
나. 산업체 멘토링 결과반영*
구분 멘토링 내용
산업체 수요
1. Awair 같은 제품을 참고하여 프로젝트 기간 동안 제작할 제품의
역할 및 기능 확정
2. 환기 시점 판단 알고리즘에 대한 구체적 설명 추가
3. 실내 공기질 데이터 확보를 위한 추가 센서 구입 완료
목표 타당성
1. 환기 시점 판단 알고리즘에 대한 구체적인 설명 추가 완료
2. 알고리즘 구현 위주로 개발 일정 조정 완료
3. API로 제공되는 미세먼지 공공 데이터 사용
개발 효율성
1. 알고리즘 구현을 위한 데이터 우선 확보 실시
2. 알고리즘 구현 위주로 개발 일정 조정
3. Firebase를 활용하여 개발하는 것으로 변경
표 3 산업체 멘토링 반영 항목
최종보고서
Pusan National University
-10 -
나. 사용기술 및 알고리즘
사용기술
1. 기기 하드웨어 설계
2. 기기 소프트웨어 제작
3. Firebase 실시간 데이터 베이스 구축
4. Firebase와 아두이노, 웹서버 연동
5. AWS와 node.js를 사용하여 공공API 호출
6. XML을 xml2js를 사용하여 JSON으로 변환 후 파싱
7. 3D Max, illustrator CC, Photoshop CC, 123D Design을 활용한 디자인
8. AutoCad를 사용한 3D 프린팅, 레이저 커팅
9. 어플리케이션 개발 및 Firebase 연동
알고리즘
사용자가 LED 모드를 선택한다. LED모드에 따라 해당 오염변수를 모니터링 한
다. 모니터링 중 임계치를 초과할 경우 <표5 공기오염 판단 기준>으로 공기 오
염 정도를 판단 후 LED색상을 제어한다.
실내외 비교 알고리즘은 센서로 측정된 미세먼지 농도와 서버에서 수집한 외
부 미세먼지 농도를 비교하여 환기적절성을 판단한다.
13.
최종보고서
Pusan National University
-11 -
5. 개발결과
가. 전체 시스템 흐름도
도면8 (시스템 전체 흐름도)
`
도면8을 참고하면, 왼쪽 상단에 위차한 ECO마크는 IoT기기를 의미이다. IoT기
기는 WIFI를 센서를 통해 실내 대기정보를 수집하고 무선인터넷을 통해
Firebase와 연동되어 실내 대기정보를 Firebase에 실시간으로 저장한다.
오른쪽 상단에 구름모양은 AWS EC2를 통해 클라우드 서버 환경을 구축후
Node.js를 사용하여 공공데이터포털에서 제공하는 시군구별 실시간 공기 오염
평균정보를 XML형식으로 호출한다. XML을 xml2js를 이용하여 JSON으로 변환 후
구단위로 파싱 후 실외 미세먼지 데이터를 Firebase에 저장한다.
사용자는 어플리케이션을 통해 IoT기기의 모드를 선택할 수 있다. 사용자가 어
플리케이션을 통해 모드를 설정하면 Firebase에서 해당기기의 모드에 해당하는
항목을 변경한다. Firebase에서 해당기기의 모드값이 변경되면 IoT기기는 변경
된 값을 감지 후 해당 모드로 동작을 하게 된다.
표 4를 참고하면, IoT기기는 6가지 모드로 동작할 수 있다.
14.
최종보고서
Pusan National University
-12 -
모드 동작
1. 실내 미세먼지 감지모드
실내 미세먼지의 오염 수준을 감지하고 표5를 참고하여
LED 색상을 제어한다.
2. 실내 이산화탄소 감지모드
실내 이산화탄소의 오염 수준을 감지하고 표5를 참고하여
LED 색상을 제어한다.
3. 실내 휘발성 유기화합물
감지모드
실내 휘발성 유기화합물의 오염 수준을 감지하고 표5를 참고하여
LED 색상을 제어한다.
4. 실내 불쾌지수 감지모드
실내 불쾌지수의 오염 수준을 감지하고 표5를 참고하여
LED 색상을 제어한다.
5. 실내 환기적절성 체크모드
실내와 실외 미세먼지 농도를 비교 분석하여
환기적절성을 체크 후 LED를 제어한다.
6. 무드등 모드 사용자가 설정한 색상에 따라 LED를 제어한다.
표 4 IoT 동작 모드
항목 좋음 보통 나쁨 매우 나쁨 단위 기준
PM2.5 0-15 16-25 26-50 51이상 ug/m3 WHO
PM10 0-30 21-50 51-100 101이상 ug/m3 WHO
CO2 0-450 451-700 701-1000 1001이상 ppm 환경부
VOCs 0-400 401-700 701-1000 1001이상 ppm 환경부
불쾌지수 0-67 68-74 75-79 80이상 THI 환경부
표 5 공기오염 판단 기준
나. 개발기능
1. 기기 하드웨어 설계
2. 기기 하드웨어 제작
3. 기기 소프트웨어 제작
4. Firebase 실시간 데이터 베이스 구축
5. Node.js를 사용하여 공공API 호출 서버 구축
6. 3D Max, illustrator CC, Photoshop CC, 123D Design을 활용한 디자인
7. AutoCad를 활용한 3D 프린팅 및 레이저 커팅
8. 어플리케이션 개발
15.
최종보고서
Pusan National University
-13 -
6. 구성원별 역할 및 개발일정
가. 구성원별 역할
총괄 및
메인개발
성명 김영기
1. 프로젝트 총괄
2. 제품 S/W 개발
3. 제품 H/W 제작
학부(과) 전기컴퓨터공학부
학번 201424422
학년 3학년
기획 및
보조개발
성명 박선우
1. 프로젝트 기획
2. 서버 S/W 개발
3. 외부 케이스 제작
학부(과) 전기컴퓨터공학부
학번 201424455
학년 3학년
디자이너
성명 한하람
1. 발표자료 제작
2. 외부 케이스 디자인
3. 프로젝트 로고 디자인
학부(과) 디자인학과
학번 201766218
학년 2학년
디자이너
성명 하주원
1. 발표자료 제작
2. 수경식물 유지 관리
3. 제품 패키징
학부(과) 디자인학과
학번 201766217
학년 2학년
하드웨어
개발
성명 강원모
1. 제품 보드 및 센서 설계
2. 3D 프린팅 도면 제작
학부(과) 기계공학부
학번 201521106
학년 2학년
표 6 구성원별 역할
16.
최종보고서
Pusan National University
-14 -
나. 개발 일정
표7은 초기 개발 일정이며, 표8은 실제 진행된 개발 일정이다.
업무
5월 6월 7월 8월 9월
3주 4주 5주 1주 2주 3주 4주 5주 1주 2주 3주 4주 5주 1주 2주 3주 4주 5주 1주 2주
역할분담
Arduino
모듈을
사용한 IoT
기기제작
사용자
친화적인 UI
제작
AWS 웹서버
구축 및
IoT기기와
연동
웹 크롤링을
통한 데이터
수집 및 전송
적절한 환기
시점 판단
알고리즘
구현
IoT 어플
제작
디버깅 및
성능테스트
결과보고서
작성
발표자료 작성
SW저작등록
준비
예산사용 내역
증빙
표 7 초기 개발 일정
17.
최종보고서
Pusan National University
-15 -
실제 진행된 개발 일정
업무
5월 6월 7월 8월 9월
3주 4주 5주 1주 2주 3주 4주 5주 1주 2주 3주 4주 5주 1주 2주 3주 4주 5주 1주 2주
역할분담
예산사전검토
서 제출
지원금 검토
및 멘토링
결과 보고
확인 후 개발
일정 수정
IoT부품 구입
환기 시점
알고리즘
관련 문헌
참고
적절한 환기
시점 판단
알고리즘
구현
Arduino
모듈을
사용한 IoT
기기제작
3D 프린팅
패키징
IoT 연동
어플 제작
디버깅 및
성능테스트
결과보고서
작성
발표자료 작성
SW저작등록
준비
예산사용 내역
증빙
표 8 실제 진행된 개발일정
18.
최종보고서
Pusan National University
-16 -
7. 참고문헌
<Book, Paper, Report, etc>
l Michael Margolis. (2016). 아두이노 쿡북 (윤순백, Trans.). 경기도 파주시: 제이펍(Original work
published in 2011)
l 박종석. (2008). 쾌적한 실내공기 만들기. 환경과 안전 지킴이 2008 Vol.21. pp.126-131. Retrieved
from http://s-space.snu.ac.kr/handle/10371/1492
l 박주형. (2018). 실내 공기 중의 먼지. 공업화학전망 21권2호 pp.1~8. Retrieved from http://kiss.
kstudy.com/thesis/thesis-view.asp?key=3589549
l WHO. (2005). WHO Air quality guidelines for particulate matter, ozone, nitrogen dioxide and s
ulfur dioxide. Retrieved from http://apps.who.int/iris/bitstream/handle/10665/69477/WHO_SDE_P
HE_OEH_06.02_eng.pdf;jsessionid=9CB0CA473234EB7986B0F0FEBF055B7C?sequence=1
<GitHub>
l Sergei Kotlyachkov. 2015,11,1. FirebaseArduino samples project. Retrieved from https://githu
b.com/FirebaseExtended/firebase-arduino
l david gauchard. 2014,11,9. ESP8266 core for Arduino. Retrieved from https://github.com/esp826
6/Arduino
l Benoît Blanchon. 2014,1,5. C++ JSON library for IoT. Simple and efficient. Retrieved from ht
tps://github.com/bblanchon/ArduinoJson
<Develop Reference>
l Ivan Grokhotkov. 2017. Welcome to ESP8266 Arduino Core’s documentation!. Retrieved from htt
ps://arduino-esp8266.readthedocs.io/en/latest/
l Benoît Blanchon. 2018. ArduinoJson API Reference. Retrieved from https://arduinojson.org/v5/a
pi/
l firebase-arduino. 2015. firebase-arduino Class Documentation. Retrieved from https://firebase
-arduino.readthedocs.io/en/latest/
l Google Developers. 2018,8,27. Firebase 실시간 데이터베이스. Retrieved from https://firebase.g
oogle.com/docs/database/?authuser=0