DOI QR코드

DOI QR Code

Implementation of Smart Ventilation Control System using IoT and Machine Learning

IoT와 기계학습을 이용한 스마트 환풍기 제어 시스템 구현

  • 이희은 (한국산업기술대학교 컴퓨터공학과) ;
  • 최진구 (한국산업기술대학교 컴퓨터공학부)
  • Received : 2019.12.25
  • Accepted : 2020.04.03
  • Published : 2020.04.30

Abstract

In this paper, we implemented a control for ventilation system based on IoT. It can on/off of system and monitoring current status through the smartphone app. We applied linear regression, one of machine learning algorithm. It autonomously collects data about temperature, humidity in home and works diagnosing system status. Using this proposed control method, the energy efficiency can be improved. It is expected to be used in energy efficiency and convenience.

본 논문에서는 스마트폰 앱을 통하여 환풍기의 현재 상태 모니터링, on/off 기능 등 IoT를 지원하는 제어 시스템을 구현하였다. 기계학습(Machine Learning) 알고리즘 종류 중 하나인 지도학습에 포함되는 선형회귀(Linear Regression)를 적용하여 자율적으로 가정의 실내 온도, 습도의 데이터를 수집하여 상태를 진단하고 운전하면서 에너지를 최대한 효율적으로 사용하면서 사용자의 요구를 충족하도록 하였다. 구현한 시스템에서는 수동제어보다 같은 습도가 되는 데 필요한 환풍기의 작동 시간이 더 적다는 것으로 더 좋은 에너지 효율을 확인할 수 있었다. 이로 인해 사용자들은 기존의 환풍기보다 더욱 편리하고 효율적으로 사용할 수 있을 것으로 기대된다.

Keywords

Ⅰ. 서론

ICT 기술의 발전에 따라서 사물들을 인터넷에 연결하여 다양한 사물정보를 공유하는 IoT 서비스들이 확산되고 있다.[1]

IoT의 확산에 따라 스마트폰을 통해 가전기기를 끄고 켜거나 상태를 확인하는 기능에 대한 수요도 증가하고 있고, 바쁜 현대인들을 위해 가정의 실내 습도를 자동 조절하는 지능화된 환풍 시스템에 대한 수요가 증가하고 있다.[2],[3],[4]

IoT 플랫폼을 기반으로 하는 스마트 홈 시스템들은 일반적으로 데이터를 센싱, 데이터 습득 및 가공, 전송하는 부분으로 구성하고 있다. 본 논문에서 구현한 시스템은 스마트폰 앱에서 Wi-Fi 모듈을 이용한 IoT 기술을 접목하여 현재 상태 모니터링 및 on/off 기능을 지원한다. 또한 기계학습(Machine Learning) 알고리즘 종류 중 하나인 지도학습에 포함되는 선형회귀(Linear Regression)를 추가하여 자율적으로 가정의 실내 온도, 습도의 데이터를 수집하여 환풍기 상태를 진단하고 예측하도록 하였다. 이를 바탕으로 에너지를 최대한 효율적으로 운전하는 스마트 환풍기 시스템을 구현하였다. 본 논문에서는 IoT, 기계학습(Machine Learning) 기능을 적용하는 데 필요한 기술에 대해서 언급하고, 시스템 세부 설계 및 구현에 대해 기술하였다.

Ⅱ. 개발 구현

1. 개발 방법

선형회귀 알고리즘은 종속 변수 y와 한 개 이상의 독립변수(또는 설명 변수) x와의 선형 상관관계를 모델링하는 회귀분석기법이다. 아래 그림 1은 선형 회귀 알고리즘 그래프의 예시이다.

OTNBBE_2020_v20n2_283_f0001.png 이미지

그림 1. 선형 회귀 알고리즘 그래프[5]

Fig. 1. Linear Regression Algorithm graph[5]

선형회귀 알고리즘은 학습 속도가 빠르고 예측하는 시간이 적게 소요된다. 매우 큰 데이터 셋과 희소한 데이터 셋에서도 잘 작동하고 예측이 어떻게 만들어지는지 수식 등을 통해 비교적 쉽게 이해가 가능하다.

2. 개발 환경

시스템 개발을 위해서 운영체제 윈도우10을 기반으로 하고 서버는 Eclipse로 구축하였다. 서버와 연동되는 데이터베이스는 MySQL을 이용하였다. 어플리케이션은 JDK1.8과 Android SDK를 사용하였다.

3. 시스템 구성도

본 논문에서 구현한 시스템의 주요 구성은 아래 그림 2와 같다. 애플리케이션은 사용자의 명령을 입력받아 서버로 전송하고, 사용자의 스마트폰 화면에 현재 상태(온도, 습도, 환풍기의 on/off 상태)를 보여준다. 기계학습 모듈이 탑재된 IoT 서버는 환풍기에서부터 받아들인 센서 값을 애플리케이션으로 전송한다. Wi-Fi모듈을 통한 양방향 통신을 지원하고 Wi-Fi모듈은 WFM-SFC201을 이하였다.[6]

OTNBBE_2020_v20n2_283_f0002.png 이미지

그림 2. 시스템 구성도

Fig. 2. System configuration

하드웨어는 보드에 온도센서, 습도센서가 부착되어 실내 대기 상태를 서버로 보내고, 서버에서부터 오는 명령을 받아 팬을 제어하는 모터 제어기가 부착되어 있다. 본 연구는 환풍기의 모터제어기와 날개 부분을 소프트웨어적으로 제작하여 가상 환풍기를 만들어 테스트하였다.

4. 서버-어플리케이션 통신

서버와 어플리케이션 간의 통신은 소켓을 이용하여 환풍기의 데이터를 송신한다. 서버는 하나의 애플리케이션에게 데이터를 주는 것이 아닌 여러 애플리케이션, 즉 다중 클라이언트에게 데이터를 송신한다. 아래 그림 3은 그 과정을 나타내는 코드의 일부분이다.

OTNBBE_2020_v20n2_283_f0003.png 이미지

그림 3. 서버 로그인

Fig. 3. Login Server

애플리케이션에서부터 수신되어 환풍기의 상태를 요청하는 프로토콜 PT_REQ_DEV_STATUS를 사용하는 것이 그림 3을 통해 나타난다. 서버는 데이터베이스에 저장된 아이디를 식별하여 각 아이디에 해당되는 환풍기의 데이터를 전송한다.

5. 서버-가상 환풍기 통신

서버와 가상 환풍기(클라이언트)간의 데이터 교환 또한 서버와 애플리케이션간의 통신과 같이 소켓을 기반으로 한 TCP 통신을 사용한다. 클라이언트에서는 Wi-Fi 모듈을 통해 서버에 접속하여 데이터를 보낸다. 아래 그림 4가 그 과정을 보여준다.

OTNBBE_2020_v20n2_283_f0004.png 이미지

그림 4. 데이터 전송

Fig. 4. Data transfer

가상 환풍기를 가동시키면서 임의 값으로 지정된 데이터인 온도는 temperature 변수, 습도는 humidity 변수에, on/off 정보는 order 변수에 담는다. out 변수에 저장된 소켓 정보를 이용하여 서버로 데이터들을 송신한다.

아래 그림 5는 서버에서 환풍기의 데이터를 받는 코드의 일부분이다. 각 온도와 습도를 버퍼에 할당하여 저장하며 환풍기의 상태를 서버로 송신하는 프로토콜 PT_RES_DEV_STATUS을 통해 서버에서 데이터를 수신한다.

OTNBBE_2020_v20n2_283_f0005.png 이미지

그림 5. 데이터 수신

Fig. 5. Data Receive

6. 기계학습 알고리즘 구현

본 시스템에서 사용하는 기계학습 알고리즘은 훈련 데이터로부터 하나의 함수를 유추해내기 위해 지도학습인 회귀분석을 고려하였다. 그중 값의 예측이 비교적 쉬운 선형회귀를 사용하였다. 그림 6은 선형회귀 알고리즘을 구현한 코드의 일부분이다.

OTNBBE_2020_v20n2_283_f0006.png 이미지

그림 6. 회귀분석 알고리즘

Fig. 6. Linear regression algorithm

독립 변수는 현재 습도이고 종속 변수는 환풍기의 동작 시간이다. 이러한 데이터들을 학습하여 현재 습도에 따라 환풍기가 얼마나 자동 작동되어야하는지 예측하는 것이다.[7] 예측된 시간만큼 돌아가면 환풍기는 자동으로 꺼지게 된다.

Ⅲ. 시스템 시험

본 절은 연구 결과물인 애플리케이션과 구현한 알고리즘을 테스트하기 위해 소프트웨어적으로 제작한 가상 환풍기의 모습을 나타낸다.

1. 가상 환풍기

아래 그림 7은 java의 swing을 이용하여 그림 2의 모터 제어기와 환풍기의 날개 부분을 제작한 가상 환풍기이다. 임의의 실내 환경 값을 서버로 전달하도록 제작되었고 알고리즘에 의해 서버에서 전달된 시간만큼 작동할 뿐만 아니라 사용자가 직접 컨트롤 할 수 있도록 또한 제작되었다.

OTNBBE_2020_v20n2_283_f0007.png 이미지

그림 7. 가상 환풍기

Fig. 7. Virtual ventilation

2. 어플리케이션

아래 그림 8과 그림 9는 안드로이드 스튜디오로 구현한 애플리케이션의 UI이다. 그림 8는 애플리케이션 구동 시 초기화면이다. 어플리케이션을 사용하기 위해 필요한 로그인 액티비티이다. 해당 화면에는 아이디와 비밀번호를 입력받는 칸을 배치하였다.

OTNBBE_2020_v20n2_283_f0008.png 이미지

그림 8. 로그인 화면

Fig. 8. Login screen

OTNBBE_2020_v20n2_283_f0009.png 이미지

그림 9. 메인 화면

Fig. 9. Main screen

그림 8에서 서버의 데이터베이스에 존재하는 아이디와 일치하는 비밀번호를 입력하여 로그인을 성공하고 나면 다음에 출력되는 메인 화면이 그림 9이다. 위에서부터 차례로 환풍기의 전원 상태를 출력해주는 아이콘과 환풍기 팬의 동작 on/off 역할을 해주는 리모컨 기능 버튼, 온도, 습도 순서로 출력하는 것을 확인할 수 있었다.

Ⅳ. 결론

본 논문에서는 IoT, 기계학습(Machine Learning) 알고리즘 종류 중 하나인 지도학습에 포함되는 선형회귀(Linear Regression)가 적용된 환풍기를 개발 및 구현하였다. 이 환풍기는 IoT 기술을 활용하여 사용자들이 스마트폰을 통해 스스로 on/off 작동함과 동시에, 환풍기가 설치된 건물 내부의 상황을 실시간으로 모니터링하고, 현재 습도를 독립변수로 지정하여 종속 변수인 환풍기의 동작 시간을 예측하여 환풍기의 자동제어 기능을 제공한다. 구현한 내용을 테스트한 결과, 사용자들이 스마트폰을 통한 모니터링 및 수동조작이 기계학습을 통한 자동제어로 가능한 것을 확인하였다.

기계학습의 적용으로 현재 습도에 따라 환풍기가 얼마나 오랫동안 작동되어 하는지 예측하고, 예측된 시간만큼 돌아가면 환풍기는 자동으로 꺼지게 되므로 기계학습을 적용하지 않는 것보다 동작시간의 낭비를 줄임으로써 에너지 효율 개선될 것으로 기대된다.

향후 과제로 본 시스템을 응용하여 기계학습 모델을 확립하고 에너지 효율을 정량적으로 분석하고 제시하고자 한다.

References

  1. Joo-Man Kim, Won-Ho Chung, "Proliferation of Smart Agriculture through Advanced ICT Technology", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 18, No. 4, pp. 111-116, Aug 2018. DOI: http://dx.doi.org/10.7236/JIIBC.2018.18.4.117
  2. Yeong-Min Ji, Jun-Jae Ju, "Intelligent IoT-based Building Automatic Control System", Magazine of SAREK, Vol. 46, No. 7, pp. 32-40, Jul 2017.
  3. Jeong-Gil Go, Sang-Gi Hong, Byeong-Bok Lee, "Trends in Smart Device and IoT convergence technology", ETRI Journal, Vol. 23, No. 4, pp.79-85, Aug 2013.
  4. Sang-Hun Kim, Jun-Hyeok Kim, Jung-Mee Yun, Sang-Hak Lee, "Machine Learning-based Temperature Control for Smart Home Environment", Korea Institute Of Communication Sciences, Vol .2017 No. 6, pp-1294-1295, Jun 2017.
  5. Sigmoid, "https://medium.com/sigmoid/linear-regression-from-scratch-with-python-5c33712a1ce"
  6. Fccid, "https://fccid.io/2ADXS-WFM50-SFC201/User-Manual/User-Manual-2533206"
  7. Du-Sam Song, Ju-Uk Kim, "Building system remote control technology. based on IoT", The Society Of Air-Conditioning And Refrigerating Engineers Of Korea, Vol. 47, No. 11, pp.24-30, Nov 2018.