Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 20, No. 12, pp.2495-2504
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Dec 2019
Received 28 Oct 2019 Revised 20 Nov 2019 Accepted 15 Dec 2019
DOI: https://doi.org/10.9728/dcs.2019.20.12.2495

제안하는 방범모드를 추가한 WiFi 기반 스마트 홈 IoT 시스템 구현

양희준 ; 김동회*
강원대학교 IT대학 전기전자공학과
Implementation of Smart Home IoT System based-on WiFi adding the Proposed Security Mode
Hee-Joon Yang ; Dong-Hoi Kim*
Electrical and Electronic Engineering, IT College, Kangwon National University, Chuncheon, Korea

Correspondence to: *Dong-Hoi Kim Tel: +82-33-250-6349 E-mail: donghk@kangwon.ac.kr

Copyright ⓒ 2019 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

기존에는 최근까지도 IoT(Internet of Things) 분야의 제품들이 여러 다양한 분야에서 시스템 기능을 구현하고 있다. 그 중에서, 홈 IoT 시스템은 IoT 분야 중에 가장 흔하게 사용되고 있는 분야이기도 하다. 본 논문은 다양한 분야에서 사용되는 기존 스마트 홈 IoT 시스템 기능 중 수동모드와 자동모드의 동작을 보고 직접 자체 설계하고, 그 설계한 내용을 바탕으로 독자적인 방법으로 구현하였으며 기존에 없던 방범모드도 추가적으로 설계 및 구현하였다. 또한 홈 IoT 시스템을 구현할 때 기존의 NFC(Near Field Communication) 방식을 사용한 통신 방법과는 다르게 WiFi(Wi-Fi)통신을 이용하여 모바일 어플리케이션을 통해 앞서 소개한 각 모드들을 제어할 수 있게 하였으며 거리가 변화함에 따라 변하는 센서들의 측정결과값을 통하여 가장 적당한 거리에 해당 센서를 설치하였다. 결과적으로 센서값들이 정상적으로 측정되는 것을 확인하였다.

Abstract

Until recently, the products in IoT field have implemented the system functions in various fields. Among them, home IoT service is one of the most commonly used fields of the IoT. This paper proposes to implement some of the smart home IoT service functions used in these various fields. Among the service functions, this paper has directly designed the existing manual and automatic functions learning their operations and implemented them according to the design by oneself. In addition, the paper actually has designed and implemented the proposed security mode. Also, when the home IoT system is implemented, unlike the existing NFC method, we can have controlled each of the aforementioned modes through a mobile application using WiFi communication, and each sensor has been installed at the its best location considering the measured results of the sensor which is varied as the distance is differed. As a result, it was confirmed that the sensor values ​​were worked normally operated

Keywords:

WiFi Communications, IoT, Arduino, Applications, Home IoT system

키워드:

WiFi 통신, IoT, 아두이노, 어플리케이션, 홈 IoT 시스템

Ⅰ. 서 론

최근 몇년간 IoT 산업은 점차 발전하고 있다. 불과 몇 년전 까지만 하더라도 3G에서 4G로 전국에 확산, 보급 되면서 소비자들이 4G, LTE(Long-Term Evolution) 망을 사용했다면 최근에는 5G가 개발되고 전국적으로 망을 구축하고 있는 중이며, 점차 5G를 사용하는 사용자들이 많아지고 있다[1]. 이처럼 4G에서 5G가 점차 상용화 되면서 이러한 변화를 지원해주고 뒷받침해주기 위해 IoT가 점차 일상 생활, IT(information technology) 분야, 산업 분야 등 여러 분야에서 사용되는 것을 확인 할 수 있다.

2016년 1월, 스위스에서 열린 세계경제포럼에서 정보통신 기술(Information and Communication Technology, 이하 ICT)의 융합으로 이루어낸 이래의 산업혁명을 뜻하는 4차 산업혁명이라는 용어가 나타났다. 4차 산업혁명의 핵심은 인공지능(Artificial Intelligence, 이하 AI), 로봇공학, 사물인터넷(Internet of Things, 이하 IoT)과 같은 6대 분야에서 새로운 기술 혁신이다[2]. 이 후 3년간 각 6대 분야는 각자의 분야에서 끊임없이 발전해 왔다. 이때 건설사들도 4차 산업혁명 시대를 맞아 가장 보편적으로 선보이는 아이템은 스마트 홈과 관련한 IoT이었다[3][4]. 또한, 2018년 1월에 개최된 CES(Consumer Electronics Show) 2018에서는 스마트 카, 스마트 시티와 함께 가장 주목받은 키워드 중 하나가 바로 스마트 홈이었다. CES 2018에서는 집 안에 있는 가전제품에 인공지능이 탑재된 스마트 가전제품을 쉽게 찾아 볼 수 있다. 스마트 홈은 4차 산업 혁명이 시작됐을 때부터 현재에 이르기까지 계속해서 발전해 나가고 있다. 현재는 계속해서 발전해나가는 스마트폰과 스마트 기기를 연결시켜 터치 한번으로 집안의 모든 기기를 조작하고 더 나아가 자연스러운 대화를 통해 필요한 기능을 실행하는 음성 인터페이스(Voice User Interface, 이하 VUI)의 시대까지 나아가고 있다. 이처럼 IoT 기술은 계속해서 발전해 나가고 있고, 앞으로도 발전가능성이 높고 다양한 분야에 사용될 수 있다. 그렇기 때문에 직접 스마트홈의 IoT 시스템 기능들을 실제로 모형집을 설계하고 제작하여 구현해보면서 IoT 시스템의 원리를 이해하고, 앞으로도 발전할 IoT 시스템에 대해 알아보기로 한다.

기존의 스마트 홈 IoT 시스템의 수동모드와 자동모드의 동작을 보고 직접 조작하여 IoT 시스템을 동작시키는 수동모드와 여러가지 센서들의 값이 설정된 일정 값에 도달하면 자동으로 동작하는 자동모드를 재설계하여 재설계한 내용을 바탕으로 자체적인 방법으로 본 논문에서 제안하는 수동모드와 자동모드를 구현하였다. 또한, 기존의 스마트 홈 IoT 시스템에는 방범모드가 따로 존재하지 않아서 누군가 침입했을 때 상황을 알려주는 방범모드를 추가로 설계 및 구현하였다.

그리고 간단한 스마트 홈 IoT 시스템을 다룬 논문에서는 NFC 통신 방식을 채택하여 사용하고 있지만, 본 논문에서 제안하는 스마트 홈 IoT 시스템은 WiFi 통신 방식을 채택하였다.

본 논문은 서론, Ⅱ장에서는 기존의 스마트 홈 IoT 시스템을 설명하고, Ⅲ장에서는 제안하는 스마트 홈 IoT 시스템 기능 동작 알고리즘을 소개하고 Ⅳ장에서는 제안하는 스마트 홈 IoT 시스템 구현및 시스템 구성도를 소개하며 Ⅴ장에서는 제안하는 스마트 홈 IoT 시스템의 실험결과를 소개한다. 마지막 Ⅵ장에서는 본 논문의 결론을 맺는다.


Ⅱ. 기존의 스마트 홈 IoT 시스템

기존의 IoT 시스템은 분야가 정말 다양하다. 에너지 분야, 수송/운송 분야, 제조분야, 건강, 정부 공공기관, 고객 서비스 분야, 금융분야, 홈 IoT 분야등에서 사용되고 있다. 본 논문에서 다루고자 하는 분야인 홈 IoT 분야에서는 보통 스마트폰, 모바일 장치를 통해 원격으로 건물안의 시스템을 제어하는 기능을 제공한다.

최근에는 홈 IoT 시스템은 보안분야로도 많이 발전하게 되었다. 스마트폰으로 집안에 설치한 CCTV(Closed-circuit television)를 확인 할 수 도 있고 그 외 가스밸브 잠금, 누전기 차단, 콘센트 차단 등등 원격으로 제어할 수도 있고, 누군가 침입했는지 등등 확인 할 수 있다.

본 논문은 현재 기존에 있는 IoT 기능 중 홈 IoT 서비스 기능을 WiFi 통신과 아두이노 메가, NodeMCU보드, 모바일 어플리케이션을 통해 구현한다. 기존에 있던 비슷한 내용을 다룬 논문에는 라즈베리파이와 아두이노를 연결하여 NFC 방식을 채택했지만, 본 논문에서는 아두이노 메가에 NodeMCU보드라는 작은 아두이노를 연결하여 아두이노간의 연결과 WiFi 방식을 채택하였다[5].

NFC는 RFID(Radio-Frequency Identification)를 기반으로 한 통신 기술의 일종으로 이동통신 단말기에 탑재하여 다양한 부가서비스가 가능하도록 하는 근거리 무선 통신 기술이며 10cm 이내의 거리에서 양방향으로 데이터의 송수신을 지원한다. 전송속도는 106kbps ~ 848kbps이며 암호화 기술로 보안성이 뛰어나며, 두 단말기간 복잡한 페어링 절차가 필요하지 않다는 장점이 있다.

기존의 수동, 자동, 방범모드 중 수동모드와 자동모드는 우리가 구현하려는 기능들이 실제 IoT 제품들에도 다양하게 나타나있다. 수동모드는 대표적으로 홈 IoT 시스템 중 ‘불꺼 홈 IoT 스위치 제품’이 있고[6], 자동모드의 예로는 ‘유플러스 IoT@home의 자동실행’ 이 있다[7].

본 논문에서 제안하는 수동모드는 사용자가 직접 원하는 기능을 선택하여 실행 명령을 내리면 스마트 홈 IoT 시스템은 사용자가 선택한 기능을 수행하게 된다. 자동모드는 사용자가 직접 기능을 선택하지 않아도 현재 집 상태 또는 환경에 따라 자동으로 스마트 홈 IoT 시스템 기능을 수행한다. 또한, 방범모드는 현관쪽에 설치된 센서를 통하여 해당 모드를 실행했을 때 인체의 움직임이 감지된다면, 침입자로 판단하여 사용자에게 알려주게 된다.


Ⅲ. 제안하는 스마트 홈 IoT 시스템 기능 동작 알고리즘

본 논문에서 제안하는 WiFi 통신 방식은 무선랜 연결과 장치 간 연결 PAN(Personal Area Networks)/LAN(Local Area Networks)/WAN(Wide Area Networks) 등을 지원하는 기술이다. 와이파이를 사용하려면 무선 접속 장치(AP, Access point)가 있어야 한다. WiFi는 실내에서는 약 20미터의 대역을 가지고 실외에서는 이보다 더 큰 대역을 가진다. 그렇기 때문에 본 논문에서는 평균 10cm 이내에서 통신할 수 있는 NFC 통신 방식보다는 실내에서도 약 20미터의 대역을 가지고 있는 WiFi 통신 방식을 채택하였다.

3-1 스마트 홈 IoT 시스템 전체 동작 알고리즘

그림 1은 제안하는 방범모드를 포함한 전체 동작 다이어그램을 나타내고 있다. 공통동작으로는 화재 발생 알림, 가스 누출알림을 가지고 있고, 수동 모드, 자동 모드, 방범 모드 이 세가지 모드를 포함하고 있다.

Fig. 1.

Overall operation diagram including proposed security mode

3-2 스마트 홈 IoT 시스템 초기 동작 알고리즘

그림 2는 제안하는 모드를 포함한 초기 동작 알고리즘을 나타내고 있다. 어플리케이션을 최초 실행하기 전에 먼저 스마트폰에서 Node MCU보드에서 설정한 ID(Identification), PW(password)로 WiFi 공유를 켜서 Node MCU보드와 연결시킨다. 그 뒤에 어플리케이션을 실행시킨 뒤 IP(Internet Protocol)정보를 입력하고 저장하여 IP정보가 맞으면 센서들의 값이 나오게 되고, 맞지 않다면 센서 값이 나오지 않게 된다. 기본적으로 센서 값들 중 불꽃 센서 값이 설정한 센서 값보다 낮거나 가스 센서 값이 설정한 값보다 높게 측정이 되면 부저를 울리고, 화재나 발생 했거나, 가스가 누출되었다고 알려준다. 해당 조건을 만족하지 않으면 부저는 울리지 않고 입력받는 값을 계속 대기하게 된다.

Fig. 2.

Initial operation algorithm including proposed mode

표 1은 제안하는 모드를 포함한 초기 동작의 특징을 보여주고 있다. 기본적으로 어플리케이션을 실행하면 그때 집안의 온습도와 조도, 가스, 불꽃 값을 측정하여 어플리케이션 화면에 보여준다. 그 중 불꽃 감지 센서와 가스 센서는 측정된 값이 일정값 보다 낮거나 높으면 부저를 통해 알림메시지가 나오고, 어플리케이션 화면에 측정값을 보여준다. 이와 같은 기능들은 수동,자동,방범 모드의 공통적인 기능과 특징에 해당된다.

Characteristic of initial operation including proposed mode

3-3 스마트 홈 IoT 시스템 수동모드 동작 알고리즘

그림 3은 자체적인 방법으로 구현한 수동모드의 동작 알고리즘을 나타내고 있다. 초기 실행 시 기본으로 수동모드에 진입되어 있고, 수동모드에 진입하게 되면 자동모드로 진입할 수 있는 기능을 선택할 수도 있다. 자동모드로 진입하게되면 수동모드에서 자동모드로 바뀌게 된다. 또한 자동모드로 진입하지 않고 수동모드에서 동작을 입력하게 되면, 아두이노는 해당기능을 동작하게 된다. 해당 동작으로는 현관문 열기, 닫기, 커튼 내리기, 올리기, LED(Light Emitting Diode)1, 2 켜기, 끄기가 있다.

Fig. 3.

Passive mode operation algorithm implemented by own method

표 2는 자체적인 방법으로 구현한 수동모드의 특징을 나타내고 있다. 수동모드에서 현관 열기/닫기 버튼을 클릭하여 서브모터를 통해 현관문의 동작 유무를 설정할 수 있고, 커튼 올리기/내리기 버튼을 클릭하여 스테핑 모터를 통해 커튼의 동작 유무를 설정할 수 있다. 마지막으로 LED ON/OFF 버튼을 클릭하여 LED A,B의 점등 유무를 설정할 수 있다.

Features of manual mode implemented by own method

3-4 스마트 홈 IoT 시스템 자동모드 동작 알고리즘

그림 4는 자체적인 방법으로 구현한 자동모드의 동작 알고리즘을 나타내고 있다. 자동모드 또한 수동모드로 진입할 수 있는 기능을 선택할 수도 있다. 수동모드로 진입하는 기능을 선택하게 되면 자동모드에서 수동모드로 바뀌게 된다. 또한 수동모드로 진입하지 않고 자동모드에 있게 되면 조도센서의 값이 설정해 둔 일정 값에 도달할 때 밝다고 판단하여 자동으로 커튼을 내리고 LED를 소등하고 설정 값보다 낮다면 어둡다고 판단하여 커튼을 올리고 LED를 점등하게 된다.

Fig. 4.

Automatic mode operation algorithm implemented by own method

표 3은 자체적인 방법으로 구현한 자동모드의 특징을 나타내고 있다. 자동모드에서는 측정되는 조도센서 값에 따라 스테핑 모터를 통해 커튼과 LED 점/소등 동작 유무 가 자동으로 결정된다. 즉 측정된 조도 센서값이 일정값 보다 크면 커튼이 내려가고 LED가 소등되며 반대로 일정값 보다 작으면 커튼이 올라가고 LED가 점등된다.

Features of automatic mode implemented by own method

3-5 스마트 홈 IoT 시스템 방범모드 동작 알고리즘

그림 5는 제안하는 방범모드의 동작 알고리즘을 나타내고 있다. 방범모드를 활성화 하게 되면 현관문 앞에 달린 근적외선 인체감지 모션센서의 센서 값이 설정한 일정 값 이상으로 높아지게 되면 침입자가 발생했다고 알리게 된다. 일반모드버튼을 클릭하게 되면 방범모드를 비활성화 하게 된다.

Fig. 5.

Proposed algorithm for security mode

표 4는 제안하는 방범모드의 특징을 보여주고 있다. 방범모드는 어플리케이션에서 방범모드 버튼을 클릭하면 실행되는데, ‘침입’ 여부를 나타내주는 문구가 ‘안전’으로 설정되어 있는 상태에서 집안에 설치된 근적외선 인체감지 모션 센서를 통해 움직이는 물체 등을 확인하면 부저를 통해 침입자가 발생했다고 알리고 어플리케이션 화면의 ‘침입 : 안전’이 ‘침입 : 발생’ 으로 변경된다.

Features of proposed security mode

우리가 제작하는 방범모드는 실 생활에서도 여러 기능으로 쓰이고 있는데 대표적으로 ‘코오롱베니트의 홈 IoT, Iok 브로슈어’을 통해 알아볼 수 있다[8]. 여기서 소개하는 방범모드는 생체인식 출입관리, 침입 감지, 화재 및 가스 감지, 층간 소음 저감, 창문 및 출입문 열림 감지, 실버케어의 기능을 제공한다. 우리가 연구에서 제시하는 방범모드도 이와 비슷하다. 모형집안에 근적외선 감지센서를 이용하여 스마트폰으로 방범모드를 실행시킨 후 집안에 누군가가 침입하면 스마트폰에서 “침입자가 발생했습니다.”라는 문구와 함께 ‘침입 : 안전’이 ‘침입 : 발생’ 으로 바뀌게 되고 모형집 안의 부저에서 소리를 통해 알려준다.


Ⅳ. 제안하는 홈 IoT 시스템 구현 및 시스템 구성도

4-1 스마트 홈 IoT 시스템 구성 및 실행도

그림 6은 홈 IoT 시스템 기능 구현을 위한 제어기 구성도를 나타낸다. 아두이노 메가 2560을 이용하여 여러 센서들이 기능을 수행한다. 온습도 센서를 이용하여 방안의 온도와 습도 값을 측정하고, 조도 센서 CdS cell을 이용하여 방안의 조도 값을 측정하며 측정된 조도값을 통해 5V 스텝 모터와 드라이버 모듈 ULN2003을 이용하여 커튼의 동작을 실행시킨다[9]. 근적외선 인체 감지 모듈센서로 모형집 앞에 사람유무를 확인하여 미니서보모터로 현관문의 열고 닫힘을 관리 할 수 있다. 아두이노 불꽃 센서 모듈과 MQ-6가스 센서로 화재, 가스 감지 여부를 확인 할 수 있다.

Fig. 6.

Home IoT System Function Implementation Controller Diagram

그림 7은 아두이노 메가에 연결되어 있는 센서값들을 WiFi통신을 통해 모바일 App에 전송하여 그 값들을 받아 스마트폰 안드로이드 App을 이용하여 기능들을 구현하고 제어하는 과정을 보여주고 있다.

Fig. 7.

Home IoT System Function Implementation Action Execution Diagram

4-2 스마트 홈 IoT 시스템의 하드웨어 및 App 구성도

연구를 통해 홈 IoT 시스템을 구현하기 위해 모형집을 설계하였다. 스마트 홈 IoT 시스템 기능들을 구현하는 것이기 때문에 실제 가정집에서 사용하는 기능처럼 구현하여 보는 것이 연구 목적 이였기 때문에 모형집을 설계 해야 했고 구글과 여러 블로그 등등 비슷한 분야의 설계를 보면서 참조했다[10]. 설계도를 통해 그림 8와 같이 모형집을 제작하였고 모형집은 방, 거실, 현관, 주방으로 구성되어있으며 3D프린터를 통해 외형 틀을 제작했다. 틀을 제작한 후 각각의 서비스 기능들을 구현하기 위한 센서들을 방, 거실, 현관, 주방에 설치했고 가운데에 아두이노 메가와 WiFi 통신을 위한 Node MCU를 설치하였다.

Fig. 8.

Model Body to Implement Home IoT System Function

그림 9는 홈 IoT 시스템 기능을 구현 시킬 모바일 어플리케이션 구성도이다. 어플리케이션에는 집의 온습도, 불꽃, 가스, 조도의 측정된 값을 나타내고 침입 상태를 나타내며, 방범모드와, 일반모드, 자동모드, 수동모드, 커튼 동작 버튼, 현관 동작 버튼, LED 동작 버튼과 현재 시간 그리고 현재 사용하는 IP 주소를 저장할 수 있는 버튼으로 구성되어 있다. 이러한 어플리케이션을 구성하기 위해 MIT App Inventor를 이용하였다[11].

Fig. 9.

Home IoT System Function Implementation Mobile App Diagram


Ⅴ. 제안하는 스마트 홈 IoT 시스템의 실험 결과

5-1 거리에 따른 센서 값 측정 실험 결과

근적외선 인체감지 모션센서를 현관문에서 가장 적당한 위치에 설치하기 위해 거리에 따른 모션센서의 센서 값을 측정하는 실험을 진행하였다. 표 5는 근적외선 인체감지 모션센서의 거리에 따른 측정값을 나타낸다. 근적외선 인체감지 모션센서의 센서 값은 10cm부터 14cm 까지는 700 근처의 값, 그 이후로는 0을 가지고 있다. 근적외선 인체감지 모션센서는 말 그대로 적외선을 통해 사람의 움직임을 감지하는 센서이다. 감지 각도 범위안에 적외선의 변화가 있을시 High(1) 신호를, 없을시 Low(0) 값을 출력하는 센서이다. 실험 결과를 보면 14cm까지는 사람의 움직임을 감지하여 High 신호를 보내고 있고, 그 이상 멀어지면 움직임을 감지하지 못해 Low 신호를 보내고 있다. 따라서 근적외선 인체감지 모션센서를 현관문에서 15cm정도에 이격시켜 설치하였다.

Sensor Value Measurement of NIR Motion Sensor

불꽃 센서 또한 부엌에서 가장 적당한 위치에 설치하기 위해 거리에 따른 센서 값을 측정하는 실험을 진행하였다. 표 6은 불꽃 센서의 거리에 따른 센서값을 나타낸다. 불꽃의 거리가 10cm일 때는 121, 20cm일 때는 723, 30cm 일 때는 1028로 나타났다. 그 이상 멀어져도 센서의 값은 거의 변화가 없이 1110~1200 사이를 왔다갔다 하였다.

Sensor Value Measurement of NIR Motion Sensor

근적외선 인체감지 모션센서와 불꽃 센서 또한 두 자리로 전달하기 위해 해당 값을 900이상인 값은 900으로 바꾸고 10으로 나눈 뒤에 전송하게 된다. 따라서 불꽃 센서값을 스마트폰에서 전달받은 값은 10cm, 20cm, 30cm, 40cm, 50cm 각각 12, 72, 90, 90, 90이 된다. 실험 결과 데이터를 바탕으로 불꽃 센서를 부엌에서 가장 적당한 위치인 15 ~ 20cm정도 이격시켜 설치하였다.

5-2 스마트 홈 IoT 시스템의 어플리케이션과 Node MCU에서 주고받는 신호

표 7은 Node MCU가 어플에 보내는 html코드를 나타내고 있다. 스마트 홈 IoT 시스템에서 어플리케이션으로 센서 데이터를 정상적으로 전송하고 있는지 확인하기 위해 Node MCU에서 클라이언트로 전송하는 html 코드를 확인하는 실험을 진행하였다. 스마트 홈 IoT 시스템은 계속해서 습도, 온도, 불꽃, 가스, 조도의 센서값을 화면에 보여주어야 한다. 그렇기 때문에 매 초마다 해당 센서값들을 아두이노 메가에서 받아 Node MCU로 전송해주고, 전송받은 센서값들을 Node MCU가 WiFi로 연결된 클라이언트로 전송하게 된다. 전송할 때에는 표 7과 같이 html코드로 전송하게 된다. 어플리케이션에서는 전송받은 html코드에서 문자열 길이를 통하여 해당 센서값들의 수치를 가져오게된다. 154에서 두자리, 158에서 두자리 , 162에서 한자리, 165에서 두자리, 169에서 두자리, 173에서 두자리는 각각 습도, 온도, 방범모드의 활성화 유무, 불꽃, 가스, 조도값을 나타내고 있다.

Html code that Node MCU sends to application in auto mode

그림 10은 센서 데이터들을 자리수에 맞게 데이터를 읽은 웹화면를 나타내고 있다. Node MCU는 아두이노 메가에서 센서들의 측정값을 전달받아 서버에 전달하게 된다. 위에서 설명한 바와 같이 문자열의 자리수를 판별하여 해당 센서의 센서값을 읽기 때문에 서버에 전달할 때 센서의 측정값이 10보다 아래 즉, 두자리수가 아니라면 두자리로 맞춰주기 위해 해당 숫자 앞에 0을 붙여 전송하게 된다. 같은 이유로 아두이노 메가에서 Node MCU로 데이터를 보낼 때에도 센서의 측정값이 900보다 큰 값이면 900으로 바꿔주고 그 데이터를 10으로 나누어 최대 두자리 숫자가 나오게 해준다. 이는 어플리케이션에서 서버의 데이터를 읽을 때 자릿수로 어느 부분이 온도, 습도, 불꽃, 가스, 조도인지 알기 위해서 최대 두자리 숫자로 만들어 준다. 그림 10의 데이터는 표 7의 설명과 같이 데이터를 처리한 결과 첫 번째 두자리는 습도, 두 번째 두자리는 온도, 세 번째 한자리는 0과 1로 방범모드일 때 사람이 식별되었는지 판별, 네 번째 두자리는 불꽃센서, 다섯 번째 두자리는 가스, 마지막 두자리는 조도를 나타낸다. 실험결과 정상적으로 아두이노 메가에서 측정한 센서 값들을 Node MCU를 통해 어플리케이션까지 전달되고 있는 것을 확인하였다.

Fig. 10.

Web screen that reads data according to digits of sensor data

표 8은 어플에서 동작에 따른 호출하는 웹서버 URL을 나타내고 있다. 어플리케이션에서 동작 버튼을 클릭했을 때 제대로 URL을 붙여서 호출하고 있는지 확인하기 위하여 버튼을 클릭했을 때 호출하는 URL을 확인하는 실험을 진행하였다. APP INVENTOR의 소스코딩을 통하여 어플에 있는 버튼을 클릭할 시 각 버튼마다 그 버튼에 해당하는 문자열을 IP주소 뒤에 붙여서 해당 URL을 호출한다. 이 URL을 호출하게 되면 Node MCU에서는 호출된 URL에서 문자열 검색을 통해 어떤 버튼이 눌려졌는지 판별하고, 아두이노 메가에 해당하는 문자를 전송하여 결과적으로 아두이노 메가에서는 어플에서 어떤 버튼이 눌려졌는지 판단하여 해당 동작을 실행하게 된다.

URL of web server that calls according to operation in application

예를들어, A ON버튼을 클릭하게 되면 표 8의 case 7에 해당하는 http://192.168.43.113:48/ledA=on 를 호출하게 되고, Node MCU에서는 이 URL에서 /ledA=on이라는 문자를 찾아 이 조건에 해당하는 시리얼을 아두이노 메가에 전송하게 된다. 그러면 아두이노 메가에서 ‘led A를 켠다’라는 명령을 받고, 이 동작을 수행하게 된다. 실험결과 정상적으로 URL을 호출하고 있는것을 확인하였다.

5-3 스마트 홈 IoT 시스템의 어플리케이션의 동작에 따른 결과

그림 11은 현관문 열기 버튼을 클릭했을 때의 시스템 결과를 나타내고 있다. 그림에서 보이는 거와 같이 해당 버튼을 클릭하면 현관문이 열려진 상태인 것을 알 수 있다. 반대로 현관문 닫기 버튼을 클릭하면 열린 현관문은 닫히게 된다. 그림 12는 커튼 내리기 버튼을 클릭했을 때의 시스템 결과를 나타내고 있다. 그림에서 보이는 바와 같이 해당 버튼을 클릭하면 커튼이 내려가게 되는 것을 알 수 있다. 반대로 커튼 올리기 버튼을 클릭하면 커튼이 다시 올라가게 된다. 그림 13그림 14는 각각 A ON 버튼, B ON 버튼을 눌렀을 때의 시스템 결과를 나타내고 있다. 그림에서 보이는 바와 같이 해당 버튼을 클릭하면 A LED, B LED에 불빛이 들어오게 된다. A OFF 버튼, B OFF 버튼을 클릭하면 A LED, B LED는 불빛이 꺼지게 된다. 그림 15는 자동모드일 때 조도 값을 낮게 했을 때의 시스템 결과를 나타내고 있다. 조도 센서에 들어가는 빛을 손으로 막아 조도 값을 낮게 해주면 커튼이 내려가고 A, B LED의 불빛이 켜지게 된 것을 알 수 있다. 반대로 손으로 막지 않는다면 커튼은 올라가고 A, B LED의 불빛은 꺼지게 된다.

Fig. 11.

System results when the Open door button is pressed

Fig. 12.

System result when the curtain down button is pressed

Fig. 13.

System result when A ON button is pressed

Fig. 14.

System result when B ON button is pressed

Fig. 14.

System result when the illuminance value is low in the automatic mode


Ⅵ. 결 론

이번 스마트 홈 IoT 시스템 기능 구현 연구를 통해 다양한 센서값들을 측정하고 그 센서에 해당하는 시스템 기능들을 성공적으로 구현할 수 있었다. 본 논문에서는 기존의 스마트 홈 IoT 시스템의 수동모드와 자동모드의 동작을 보고 자체적인 방법으로 제안하는 수동모드와 자동모드의 기능을 구현하였고, 추가로 기존의 스마트 홈 IoT 시스템에 없던 방범모드의 동작까지 제안하였다. 그리고 NFC 통신 방식을 활용한 기존의 스마트 홈 IoT 시스템과는 다르게 WiFi를 기반으로 어플리케이션과 통신하는 스마트 홈 IoT 시스템을 제안한다. 향후에 추가적으로 본 논문에서 제안한 스마트 홈 IoT 시스템에 위에서 말한 4차산업 기술을 추가로 접목시켜 보다 실용성이 높은 스마트 홈 IoT 연구를 진행할 예정이다.

참고문헌

  • https://www.mk.co.kr/news/it/view/2019/08/608795/
  • Schwab, Klaus. “The Fourth Industrial Revolution: what it means, how to respond”. 《World Economic Forum
  • Eun-Mo Ahn and Dong-Hoi Kim, "Implementation of Integrated Platform of Face Recognition CCTV and Home IOT", Journal of Digital Contents Society Vol. 19, No. 2, pp. 393-399, Feb. 2018
  • M. H. Lee, K. S. Han, K. W. Jang, and S. Y. Kim, "A Study on the Intention of Using IoT based Smart Home Service –Focusing on fine dust detection Solutions 2019", Vol.20, No.1, pp. 135-144, 2019 [https://doi.org/10.9728/dcs.2019.20.1.135]
  • Smart Living [Internet]. Available: https://m.blog.naver.com/scw0531/220792534452, .
  • Turn-off Home IoT Switch Product [Internet]. Available: http://storefarm.naver.com/sjretail/products/639860992, .
  • Uplus IoT@home [Internet]. Available: https://m.post.naver.com/viewer/postView.nhn?volumeNo=9030652&memberNo=1217380
  • Kolon Benit Home IoT, Iok Brochure [Internet]. Available: https://www.kolonbenit.com
  • Chang-Wook Lee, Sang-Yoon Lee, Sung-Kyun Lim, Keun-Ho Kim, and Dong-Il Kim, "Study on Curtain & Window Automatic Management System", Korea Information and Communications Society 2017 Spring Conference 2017 May 31, 2017, pp.410-412
  • Jae-sung Roh and Young-joon Cho, "IoT Platform and Control App Design for Wireless Data Transmission", J. Adv. Navig. Technol. 21(1): 72-77, Feb. 2017 [https://doi.org/10.12673/jant.2017.21.1.72]
  • MIT App Inventor [Internet]. Available: http://ai2.appinventor.mit.edu

저자소개

양희준(Hee-Joon Yang)

2014년 ~ 현재: 강원대학교 IT대학 전기전자공학과 재학

※관심분야: 사물인터넷(IoT) 및 프로그래밍, 게임개발 등

김동회(Dong-Hoi Kim)

2005년 : 고려대학교 전파공학과 (공학박사)

1989년 1월 ~ 1997년 1월 : 삼성전자 전임연구원

2000년 8월 ~ 2005년 8월 : 한국전자통신연구원 선임연구원

2006년 3월 ~ 현재 : 강원대학교 IT대학 전기전자공학과

2018년 7월 ~ 현재 : 행정안전부 정책자문 및 전자정부추진위원회 위원 등

※관심분야: 무선 네트워크 및 사물인터넷(IoT) 등

Fig. 1.

Fig. 1.
Overall operation diagram including proposed security mode

Fig. 2.

Fig. 2.
Initial operation algorithm including proposed mode

Fig. 3.

Fig. 3.
Passive mode operation algorithm implemented by own method

Fig. 4.

Fig. 4.
Automatic mode operation algorithm implemented by own method

Fig. 5.

Fig. 5.
Proposed algorithm for security mode

Fig. 6.

Fig. 6.
Home IoT System Function Implementation Controller Diagram

Fig. 7.

Fig. 7.
Home IoT System Function Implementation Action Execution Diagram

Fig. 8.

Fig. 8.
Model Body to Implement Home IoT System Function

Fig. 9.

Fig. 9.
Home IoT System Function Implementation Mobile App Diagram

Fig. 10.

Fig. 10.
Web screen that reads data according to digits of sensor data

Fig. 11.

Fig. 11.
System results when the Open door button is pressed

Fig. 12.

Fig. 12.
System result when the curtain down button is pressed

Fig. 13.

Fig. 13.
System result when A ON button is pressed

Fig. 14.

Fig. 14.
System result when B ON button is pressed

Fig. 14.

Fig. 14.
System result when the illuminance value is low in the automatic mode

Table 1.

Characteristic of initial operation including proposed mode

Category Action Function
case 1 The value measured on the gas sensor rises above a certain value Display gas value on mobile app and notify through buzzer when measuring over a certain value
case 2 The flame sensor's measured value drops below a certain value Show flame value on mobile app and notify via buzzer when measuring over a certain value
case 3 Measure the temperature and humidity of your home using a temperature and humidity sensor Indicates current temperature and humidity value in the mobile app
case 4 Measure the illuminance of your home using an illuminance sensor Indicate the current illuminance value in the mobile app

Table. 2.

Features of manual mode implemented by own method

Category Action Function
case 1 Click Open / Close Door Submotor operates to open and close the front door
case 2 Click the curtain up / down button Stepping motor runs to raise or lower the curtain
case 3 Click the LED ON / OFF button LED diode on / off by button

Table. 3.

Features of automatic mode implemented by own method

Category Action Function
case 1 Measure the illuminance of your home using an illuminance sensor Display the current illuminance value on the mobile app and determine whether the curtain operates according to the illuminance value
case 2 Stepping motor runs to raise / lower curtain Curtain is raised or lowered automatically according to measured illuminance value
case 3 LED on / off LED turns on / off with curtain operation according to measured illuminance value

Table 4.

Features of proposed security mode

Category Action Function
case 1 Click the Security Mode button Infrared alarm is notified when the near-infrared human body motion sensor confirms it moves inside the house.

Table. 5.

Sensor Value Measurement of NIR Motion Sensor

Category Distance Value
case 1 10cm 701
case 2 12cm 699
case 3 14cm 700
case 4 16cm 0
case 5 20cm 0

Table. 6.

Sensor Value Measurement of NIR Motion Sensor

Category Distance Value
case 1 10cm 121
case 2 20cm 723
case 3 30cm 1028
case 4 40cm 1175
case 5 50cm 1130

Table. 7.

Html code that Node MCU sends to application in auto mode

Category Value
case 1 <!DOCTYPE HTML> <html> <head> <title>NodeMCU Control</title> <meta name='viewport' content='width=device-width, user-scalable=no'> </head> <body> 31 21 0 90 1 70 </p> <br><br> <a href="/ledA=on""><button>Turn On </button></a> <a href="/ledA=off""><button>Turn Off </button></a><br /> </div> </body> </html>
case 2 <!DOCTYPE HTML> <html> <head> <title>NodeMCU Control</title> <meta name='viewport' content='width=device-width, user-scalable=no'> </head> <body> 33 20 0 90 1 68 </p> <br><br> <a href="/ledA=on""><button>Turn On </button></a> <a href="/ledA=off""><button>Turn Off </button></a><br /> </div> </body> </html>
case 3 <!DOCTYPE HTML> <html> <head> <title>NodeMCU Control</title> <meta name='viewport' content='width=device-width, user-scalable=no'> </head> <body> 33 23 0 90 1 75 </p> <br><br> <a href="/ledA=on""><button>Turn On </button></a> <a href="/ledA=off""><button>Turn Off </button></a><br /> </div> </body> </html>

Table. 8.

URL of web server that calls according to operation in application

Category Action URL
case 1 Click the Security mode button http://192.168.43.113:48/cpmode=on
case 2 Click the Normal mode button http://192.168.43.113:48/cpmode=off
case 3 Click the Close door button http://192.168.43.113:48/door=closed
case 4 Click the Open door button http://192.168.43.113:48/door=open
case 5 Click the Lower curtain button http://192.168.43.113:48/curtain=closed
case 6 Click the Raise curtain button http://192.168.43.113:48/curtain=open
case 7 Click the A ON button http://192.168.43.113:48/ledA=on
case 8 Click the A OFF button http://192.168.43.113:48/ledA=off
case 9 Click the B ON button http://192.168.43.113:48/ledB=on
case 10 Click the B OFF button http://192.168.43.113:48/ledB=off
case 11 Click the Manual mode button http://192.168.43.113:48/manual
case 12 Click the Auto mode button http://192.168.43.113:48/auto