• Tidak ada hasil yang ditemukan

학교 과학 교육 환경에서 저비용 원격 측정을 위해 피지컬 컴퓨팅과 사물

인터넷을 도입한다면, 개발 보드로는 아두이노, IoT 플랫폼으로는 ThingsBoard가

권장된다. 장소를 이동해가면서 측정을 하는 것이 아니라면, 인터넷 연결에는 Wi-

Fi를 사용하는 것이 가장 저렴하다. 이 장에서는 아두이노, ThingsBoard, Wi-Fi의

조합으로 온도, 습도, 미세먼지, 이산화 탄소 농도를 측정하는 장치를 만들고 IoT

플랫폼에 적용해보았다.

(1) 배선 코딩

회로는 [그림 6]과 같이 구성하였으며, 모든 부품은 AliExpress를 통해

구매하였다. 개발 보드는 아두이노 UNO 호환 보드 (USD 2.76), Wi-Fi 모듈은 ESP-

01S (USD 1.53), 온습도 센서로는 DHT11 (USD 0.78), 미세먼지 센서는 ZH03B

Wi-Fi Module (ESP-01)

Temp, Humidity (DHT11)

Dust Sensor (ZH03B)

CO2 Sensor (MG811)

(USD 7.98), 그리고 이산화 탄소 센서는 MG-811 (USD 21.66)을 이용하였다.

Arduino IDE를 이용해서 텍스트 코딩으로 프로그램을 개발하였고 각 센서에

대해서 오픈 소스로 공개된 라이브러리를 이용하였다.

(2) ThingsBoard 설치

ThingsBoard Community는 Opensource Software이기 때문에 홈페이지 (http://www.thingsboard.io)에서 무료로 내려받을 수 있다. Excel로 내보내기, 다른 플랫폼과의 통합 (platform integration) 등 추가적인 기능을 이용하기 위해서는

유료인 Professional Edition (PE) 버전을 이용해야 하지만, 학교 과학 탐구

환경에서는 Community Edition (CE)만으로도 기능이 충분하므로 유료 버전을

이용할 필요성은 크지 않다. ThingsBoard는 Ubuntu, CentOS, Windows, Raspberry Pi

OS 등 다양한 운영체제에 설치할 수 있다. 설치방법에 대한 가이드와 비디오 튜토리얼이 온라인으로 제공되기 때문에 초보자들도 쉽게 설치할 수 있다. 설치가

완료된 이후 모든 설정은 관리자 웹페이지에서 가능하다. 과학 탐구에서는 측정한

데이터를 IoT 플랫폼으로 일방적으로 보내는 경우가 대부분일 것이다. 이 경우는

관리자 페이지에서 ‘장치’, ‘대시보드’ 메뉴만 이용해도 충분하다 (그림 7).

(3) IoT 플랫폼으로의 데이터 전송

ThingsBoard 설치가 끝났으면, 아두이노에서 ThingsBoard로 데이터를

전송해야 할 것이다. ThingsBoard는 아두이노에서 IoT 플랫폼과 쉽게 연결할 수

있도록 관련된 라이브러리를 제공하고 있다. 또한, ThingsBoard의 홈페이지에는

DHT11 (온습도 센서)로 측정한 데이터를 ESP8266 계열의 와이파이 모듈을

이용해서 IoT 플랫폼으로 보내는 예제가 있다. 이 또한, STEP by STEP의 형태로

설명이 진행되기 때문에 초보자라도 손쉽게 데이터 전송이 가능하다. 다만

아두이노 UNO는 Flash Memory가 32KB로 작은 편인데, ThingsBoard

라이브러리는 의존하는 라이브러리가 많아 이를 모두 포함 (include)할 경우 플래시

메모리 (flash memory)의 상당량을 차지하게 된다. 아두이노 UNO를 이용한 과학

탐구에서는 측정된 데이터를 IoT 플랫폼으로 보내는 간단한 작업만 수행하면 되기

때문에, 우리는 기존 라이브러리 대신 간결화 된 라이브러리를 제작하여

이용하였다.

과학 탐구에는 두 메뉴만 이용해도 충분하다.

그림 7 ThingsBoard 관리자 페이지

(4) IoT 플랫폼상에서의 데이터 분석

ThingsBoard로 전송된 데이터는 데이터베이스 관리 시스템 (DBMS)에

체계적으로 등록된다. ThingsBoard는 이러한 데이터들을 가시화하여 표현하는

대시보드 기능을 제공하고 있다. ThingsBoard 대시보드의 강점은 차트, 게이지,

지도, 표 등 다양한 형태를 지원하며, 프로그래밍 언어를 알지 못해도 손쉽게 수집된

데이터를 가시화할 수 있다 (그림 8).

게이지바

시계열 차트

구글 지도 OpenStreetMap

그림 8 ThingsBoard 가시화한 차트, 게이지바, , 지도의 예시