아두이노로 ‘미세먼지 측정기’ 만들어봤어요

가 +
가 -

센서+저널리즘. 국내 언론 생태계에선 생경한 조합이다. 센서로 저널리즘 행위를 실천한다는 의미지만 친숙하진 않다. 어떤 센서로 어떤 뉴스에 활용할지 사례가 딱 떠오르지 않는다. 여전히 이 조합이 모호하기만 하다.

지난 1월30일, ‘사물인터넷, 센서 저널리즘을 부른다’ 기사를 작성했다. 곧이어 한국언론진흥재단이 발행하는 신문과방송 4월호에 ‘저렴하고 손쉽게, 데이터 수집의 무한도전’이라는 글도 기고했다. 센서 저널리즘이 미국 언론사를 중심으로 하나둘씩 실험되고 있다는 내용이다.

글을 쓰면서 욕심이 났다. ‘기자들이라고 못할 이유가 있을까? 직접 따라해보면 되지 않겠나.’

때마침 주류 언론에선 여느 해 봄날처럼 ‘미세먼지의 심각성’을 경고하는 기사들이 연일 터져나왔다. 페이스북 타임라인에선 그린피스의 ‘초미세먼지 줄이기 캠페인’ 포스트가 눈길을 잡아챘다. 자연스럽게 ‘미세먼지를 센서로 측정해 보도하면 어떨까’라는 구상으로 이어졌다. 단, 환경부가 제공하는 실외 미세먼지 농도가 아니라 실내를 확인해보자는 데까지 생각이 미쳤다. 필요하다면 실외와 실내를 비교해볼 수도 있겠다 싶었다.

남은 과제는 실행이다. 미세먼저 측정 센서를 어떻게 제작할지, 이를 작동시키는 코드를 어떻게 짤지, 서버에선 데이터를 어떻게 수집할지, 데이터를 어떻게 표현할지, 생각만 해도 쉬운 작업이 없었다. 아두이노로 미세먼지 측정 센서를 개발해보겠노라 결심은 굳힌 상태였지만 이를 구현할 공개된 설계도면도, 제어할 소스코드로 가진 것이 없었다.

제작을 결심하기까지

arduino

미세먼지 측정을 위해 구매한 부품들. 왼쪽부터 아두이노 나노, 미세먼지 측정 센서, 브레드보드, 이더넷포트, OLED 스크린. 상단에는 연결 케이블들.

3월26일, 서영배 하드카피월드 대표에게 도움을 청했다. 취지를 설명하고 함께 미세먼지 측정 센서를 제작해볼 것을 제안했다. 서 대표는 흔쾌히 승낙했다. 그는 아두이노로 공기질 측정 센서를 제작해 적용해보고 있는 터였다고 했다. 공기질 측정 센서를 미세먼지 센서로 교체해 다시 제작해볼 수도 있겠다 싶었다.

부품 구매는 서 대표에게 부탁했다. 내가 직접 하자니, 경험이 일천해 고르는 데만도 며칠이 걸릴 듯했다. 서 대표는 대부분의 소재들을 해외 쇼핑몰에서 구매했다. 4세트를 사는 데 들인 비용은 108.91달러, 우리돈으로 12만원에 불과했다. 2세트는 실 측정 기기용으로, 2세트는 테스트용 버전과 추가 부품용으로 주문했다. 미세먼지 측정 센서를 제작하기 위해 구매한 부품은 아래와 같다.

미세먼지 측정 센서 제작을 위해 ‘아두이노 나노’를 선택했다. 아두이노는 우노, 레오나르도 등 그 종류만 20종이 넘는다. 복잡한 기능이 필요 없고 브레드보드와의 조립이 간편하다는 이점 때문에 나노를 택했다. 물론 개당 3.15달러에 불과한 ‘착한’ 가격도 한몫했다.

아두이노란?

아두이노는 오픈소스로 제작된 마이크로제어 보드다. 센서나 외부 기기를 부착해 다양한 목적으로 조작할 수 있다. 이탈리아 개발자 마시모 반지와 데이비드 꾸아르띠에예스가 제작해 2005년 처음으로 소개했다. 전세계적으로 수백만대가 판매될 만큼 높은 인기를 구가하고 있다. 이미 출시된 보드 종류만 해도 20여종에 이른다. 아두이노의 활용 범위는 상상력에 달려있다. 무엇이든 제작할 수 있고 무엇이든 조작할 수 있다.

아두이노 나노로 미세먼지 측정 센서를 조립하는 작업은 의외로 간단했다. 설계 도면에 따라 저항과 축전지를 연결하고 선을 뜯어 부품을 연결하는 게 전부였다. 한 세트 조립에 소요된 시간은 대략 40분 남짓이었다. 조립은 간단했지만 설계도면 작성에는 며칠이 걸렸다. 서영배 하드카피월드 대표와 강순구 디자인스튜디오36.5 대표가 도움을 줬다

#1. 미세먼지 센서 부착

arduino

미세먼지 측정 센서를 테스트하기 위해 브레드보드에 아두이노 나노를 부착한 뒤 미세먼지 센서를 도면에 따라 선으로 연결했다.

조립은 미세먼지 센서가 정상적으로 작동하는지 테스트하는 작업부터 시작됐다. 브레드보드에 아두이노 나노를 가운데쯤 부착했다. 브레드보드는 일종의 확장 기판이다. 각종 연결선과 부품을 장난감 조립하듯 브레드보드에 끼워넣는 형태로 진행했다. 별도의 납땜질은 필요 없었다. 벗겨진 선 끝부분을 손가락으로 힘차게 밀어넣으면 ‘똑’하며 탈착되는 방식이었다.

미세먼지 센서는 샤프의 ‘GP2Y1010AU0F’ 모델을 사용했다. 광학 방식의 먼지센서로 대기 중에 적외선을 쏘면 포토트랜지스터가 대기 중의 먼지 농도를 검출해낸다. 담배 연기와 같은 미세입자를 감지하는 데 도움이 된다고 했다. 고가의 미세먼지 측정 기기와 이 센서의 측량치를 비교하는 것은 무리다. 정밀도도 떨어질뿐더러 결과값의 보정도 필요하다. 그렇지만 추이를 확인하는 데는 도움이 된다.

#2. 아두이노 개발 환경으로 작동 여부 테스트

미세먼지 센서를 가동시키기 위해서는 아두이노 나노에 제어 코드를 등록해야 한다. 이를 위해 아두이노 개발 환경인 ‘아두이노 1.6.0’ 소프트웨어를 내려받아 실행했다. USB 케이블로 아두이노 나노와 노트북을 연결한 뒤 작성된 코드를 업로드하면 작업은 완료된다.

일반적으로 제어 코드는 공개돼있는 경우가 많지만 용도에 맞춰 변경하고 추가하는 수고로움이 필요하다. 관련 코드 작성은 서영배 대표가 미리 완성해 제공했다.

#3. OLED 스크린과 이더넷 포트 연결

arduino

OLED 스크린을 브레드보드에 끼워붙인 뒤 이더넷 포트를 연결한 상황. 아두이노 나노를 USB로 연결해 전원을 공급했다.

아두이노 미세먼지 센서가 측정한 데이터를 서버로 전송하기 위해 이더넷 포트를 사용했다. 와이파이로 데이터를 전송받는 방식도 가능했지만 전송 오류 확률이 높다는 조언을 듣고 안정적인 송·수신 방식을 선택했다. 이더넷 포트를 구매해 브레드보드에 연결했다. 케이블 끝부분이 구부러지거나 부러질까 조심스레 다뤄야 했다. 기기에서 측정된 먼지농도 현황을 확인하기 위해 OLED 스크린도 장착했다. 서버와의 교신 여부를 눈으로 체크하기 위해서라도 필요한 부품이었다.

#4. 블로터 사무실 미세먼지 농도 데이터 수집

IMG_2985

랜선과 이더넷 포트를 연결해 서버로 데이터를 전송하는 상황. 전원 공급은 노트북에 의존해야 했다.

조립된 아두이노 미세먼지 측정기로 사무실 실내 농도를 계측하기 위해선 안정적으로 전원이 공급돼야 했다. 아두이노는 일반적으로 USB로 전원을 공급받는다. 따라서 이동형으로 제작할 경우 전원 공급 장치를 별도로 부착해야만 한다. 임시로 노트븍 USB 포트와 아두이노 나노를 연결했다.

전원을 연결하자 OLED 스크린에 데이터 측정을 시작한다는 메시지가 떴다. 30초 단위로 집계하도록 코드를 변경했다. 그 다음은 수집한 데이터를 서버로 보내는 작업이다. 이를 위해 이더넷 포트에 랜선을 연결, 유선으로 데이터를 전송했다. 안정적인 전원 공급장치만큼이나 인터넷 접속의 안정성도 필요해 보였다.

▲현재 시각 ‘블로터’ 사무실의 미세먼지 측정치. ‘F5’ 키를 누르면 업데이트된 측정치를 확인할 수 있습니다.

아두이노 활용 센서 저널리즘 한계와 가능성

미세먼지 측정 센서의 데이터시트에는 출력 전압값과 미세먼지 농도간의 비교젼환표가 제시돼있다.(이미지 출처 : GP2Y1010AU0F 데이터시트)

미세먼지 측정 센서의 데이터시트에는 출력 전압값과 미세먼지 농도간의 비교젼환표가 제시돼 있다.(자료 : GP2Y1010AU0F 데이터시트)

아두이노로 센서 저널리즘을 구현하는 작업은 비교적 수월한 편이었다. 하지만 저널리즘이 요구하는 정밀한 데이터를 수집하기 위해선 다양한 작업이 뒤따를 필요가 있었다. 특히 데이터의 신뢰를 확보하기 위한 정밀 센서 장비 구비는 전제 조건에 해당한다.

저가 센서만으로 환경부나 기상청의 미세먼저 측정 장비를 대신하기는 어려웠다. 주변 온도와 바람의 영향에 따라 미세먼지 농도는 들쑥날쑥하는 경우가 빈발했다. 먼지센서의 위치를 조금이라도 변경하면 농도가 갑작스럽게 ‘튀는’ 현상도 자주 발생했다. 일정 정도의 데이터 보정이 뒷받침되지 않으면 측정치 자체를 뉴스 보도용으로 활용하는 것은 무리다.

데이터 측정 과정의 투명성도 센서 저널리즘이 보편화하기 위한 충분조건이다. 예를 들어 센서마다 측정 방식이 다르고 그에 따라 미세먼지 농도로 전환하는 과정도 바뀐다. 샤프사의 미세먼지측정 센서는 적외선 방식으로 계측한 데이터를 전압 단위로 제공한다. 이를 아두이노 소스코드를 이용해 미세먼지 단위인 ㎍/㎥로 변환해야 한다. 때문에 과정을 투명하게 제공하지 않으면 데이터 신뢰도엔 금이 가기 마련이다.

분명 아두이노와 같은 오픈소스 하드웨어는 센서 저널리즘의 가능성을 열어젖히고 있다. 측정 시간대를 뉴스 기획에 맞춰 조절할 수 있는 이점도 있다. 정부가 제공하는 계측 지점도 얼마든지 확대할 수 있다. 하지만 몇 가지 요건을 충족시키지 못한다면 보도용으로 활용하기엔 결함이 뒤따른다.

사물인터넷 시대, 센서의 중요성은 두말할 나위가 없다. 아두이노나 라즈베리파이와 같은 오픈소스 하드웨어가 보편화하면서 센서를 제어하는 하드웨어 제작은 한결 손쉬워졌다. 3D 프린팅 기술까지 보태진다면 보기 좋은 완결품을 내놓는 건도 어렵지 않다. 단지 저널리스트의 상상력이 관건이 될 뿐이다. 하드웨어 제작이 간편해진다고 저널리즘의 품질이 높아지지는 않는다. 결과적으로 센서 저널리즘은 하드웨어보다 데이터를 다루는 기술이 향상될 때 빛을 발할 것으로 보인다.

도움을 준 사람들

네티즌의견(총 6개)