Advanced
Design and Implementation of MQTT Based Real-time HVAC Control Systems
Design and Implementation of MQTT Based Real-time HVAC Control Systems
Journal of the Korea Institute of Information and Communication Engineering. 2015. May, 19(5): 1163-1172
Copyright © 2015, The Korean Institute of Information and Commucation Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/li-censes/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • Received : March 16, 2015
  • Accepted : April 21, 2015
  • Published : May 31, 2015
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
헌 정
Mobile Technology Convergence Center, Daegu Technopark, Daegu 704-801, Korea
everlaw@ttp.org
종원 박
Department of Electronics Information, Keimyung College University, Daegu 704-703, Korea

Abstract
본 논문에서는 클라우드 플랫폼에서의 실시간 공조제어 시스템의 제어, 관리 및 모니터링을 위한 MQTT 기반의 프로토콜을 설계하고, 설계된 프로토콜을 적용한 시스템을 구현하였다. MQTT 프로토콜은 보편성, 유연성, 경량성, 신속성을 가지며 메시지 전달의 신뢰도와 보안성이 있는 양방향 메시징 프로토콜이다. 구현된 시스템에서는 CCU와 클라우드 서버 간 데이터 수집 및 제어를 위한 통신 프로토콜의 성능 및 안정성을 고려하였다. 클라우드 서버 상에서의 장비 제어 및 모니터링은 MQTT 서버를 기반으로 CCU와 연계하여 수신된 데이터를 실시간으로 실행된다.
Keywords
Ⅰ. 서 론
ARC의 최신 보고서인 ‘VAC 제어 시스템의 세계시장 동향 조사 (HVAC Control System Worldwide Outlook)’에 의하면 인텔리전트 HVAC (Heating, Ventilation, Air conditioning)의 세계시장은 약세를 보이고 있었으나, 현재 시장은 디지털 정보통신의 접목에 의한 패러다임 이동으로 회복 추세에 있다.
최근의 HVAC 제어 시스템은 인터넷을 활용하는 IP 기반 시스템을 적용함으로서, 시스템의 유연성을 향상시키고 원격 호스트 시스템 및 원격관리 서비스를 가능하게 한다. 이에 TCP/IP기반 HVAC 시스템 솔루션을 제공하는 공급자가 증가하고 있으며, 이 솔루션의 목표는 리얼타임 데이터에 근거한 기본적인 운전상의 의사 결정을 통해 숨겨진 불필요한 비용을 발견하고 에너지 소비를 절감하며 포괄적인 시설 관리를 통해 비용을 삭감할 수 있는 시설을 제공하고자 하는 것이다.
여러 현장에 분산되어진 다양한 공조시스템의 정보를 실시간 제어 및 관리하기 위하여서는 기존의 인터넷 환경에서 사용하고 있는 HTTP 프로토콜만으로는 속도 및 신뢰도 저하, Polling 사용으로 인한 배터리 및 성능저하 등의 문제점이 발생한다. 따라서 이러한 문제점을 해결하기 위하여 IoT(Internet of Thing) 환경에 최적화 되고, 이벤트기반 모니터링 및 지능형 제어실현 등의 적합한 MQTT(Message Queue Telemetry Transport) 프로토콜이 사용되고 있다 [1] .
본 논문에서는 제한된 컴퓨팅 성능과 빈약한 네트워크 연결환경에 적합한 개방형 표준 메시징 프로토콜인 MQTT 프로토콜을 이용한 실시간 공조제어 시스템의 설계를 제안하며, 설계된 시스템을 구현한다.
Ⅱ. 관련 연구
- 2.1. MQTT 프로토콜
IBM이 개발한 모바일용 양방향 통신규약인 MQTT는 경량적인 프로토콜로써, 모바일 기기와의 효율적 통신을 위한 양방향 pub/sub 메시징 서비스를 구현함에 있어서 메시징 크기에 제약이 없으며 이기종 플랫폼 간에 개발이 용이하다 [1 , 3] . 그림 1 은 MQTT의 Publish와 Subscribe 간의 통신을 간략하게 표현한 것이다.
PPT Slide
Lager Image
MQTT 통신구조 Fig. 1 MQTT communication structure
그림 1 에서 각각의 클라이언트들은 자신이 Publish 할 Topic과 Subscribe 할 Topic을 Broker 서버에게 알린다. Broker 서버는 Publish 클라이언트의 메시지를 받아, Subscribe 클라이언트들이 알린 적절한 Topic을 확인하여, 해당 메시지를 전송한다 [4 , 5] .
P. Julio는 OMNeT++ 시뮬레이션 환경에서 MQTT 프로토콜에 대하여 메시지 크기 및 개수, 다수 클라이언트 간의 통신 성능을 평가하였으며 [2 , 6] , M. Prihodko 는 MQTT와 HTTP 간의 처리를 비교하여 배터리 소모 및 성능을 측정하여 분석하고, MQTT의 장점을 소개하였다. 또한, 표 1 은 HTTPS와 MQTT의 메시지 전달 성능을 비교한 것이다 [1] .
HTTPS와 MQTT의 성능 비교Table. 1 Performance Comparison of HTTPS and MQTT
PPT Slide
Lager Image
HTTPS와 MQTT의 성능 비교 Table. 1 Performance Comparison of HTTPS and MQTT
MQTT는 대표적으로는 Facebook Messenger에서 사용하고 있으며 [7] , 많은 오픈소스 프로젝트들이 진행되고 있고, 다양한 실험을 통하여 그 유용성이 검증되었다.
- 2.2. HTML5 기술
HTML5는 웹 문서를 만들기 위한 프로그래밍 언어인 HTML(HyperText Markup Language)의 차세대 웹 표준안으로, 하나의 언어(Java Script), 하나의 데이터 모델(XML, DOM), 하나의 레이아웃(CSS)을 통일적으로 제공하여 텍스트, 오디오, 비디오, 그래픽 등을 통합적으로 제공해준다 [8] .
또한 HTML5는 위치정보, 디바이스 제어, 양방향통신, 오프라인 처리, 로컬 스토리지 등의 기술을 지원하여, 플래시나 ActiveX 등과 같은 비표준 플러그인 없이도 대부분의 기능을 사용할 수 있다 [9] .
따라서 HTML5로 구현된 웹 애플리케이션은 데스크탑, 스마트폰, 태블릿 등의 장치에서 OS에 종속성 없이 실행된다. 즉, 다양한 장치에서 동일한 서비스를 제공 받을 수 있는 OSMU(One Source Multi Use) 환경을 지원한다.
- 2.3. JSON
JSON(JavaScript Object Notation)은 경량의 데이터 교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다 [10] .
표 2 는 XML과 JSON을 비교하기 위해 같은 내용을 각 형식에 맞게 표현한 것이다. XML로 표현했을 경우는 362byte, JSON으로 표현했을 경우에는 111byte로, JSON은 XML의 약 30% 데이터 용량으로 동일한 내용을 표현할 수 있다. 이렇게 JSON은 경량화된 데이터 포맷을 지원하므로 데이터 교환 시 흔히 사용하는 XML 보다 더 빠른 데이터 교환 속도를 보장한다 [11 , 12] .
XML 및 JSON 표현Table. 2 XML and JSON expression
PPT Slide
Lager Image
XML 및 JSON 표현 Table. 2 XML and JSON expression
Ⅲ. MQTT기반 실시간 공조제어 시스템 설계
- 3.1. 시스템 개요
현재의 HVAC 시스템은 시스템의 안정성·신뢰성 관점에서 현장 내에 모니터링 시스템을 설치하여 전문기술을 가진 관리자가 중앙 통제실 등에서 상주하며 관리하고 있다. 그러나 네트워크 기술과 데이터 센터의 발전으로 반드시 현장 내에 시스템 서버를 설치하지 않아도 신뢰성 높은 시스템 구축이 가능하다.
따라서 클라우드 상에 시스템을 구축하여 운용함으로써 단일 현장에 제공하는 서비스에 그치지 않고 여러 현장의 시설·에너지 관리를 일원적으로 하는 시스템을 구현한다. 이를 통하여 각각의 사이트 단위의 개선이 아니라 여러 사이트를 통합한 전체적인 최적화가 가능하다. MQTT 기반 실시간 공조제어 시스템의 구성은 그림 2 와 같이 서로 상이한 프로토콜을 사용하는 공조 장치들의 인터페이스를 TCP/IP로 변환해주는 Protocol Converter와 이를 통하여 공조장치들을 제어/모니터링 할 수 있는 CCU(Central Control Unit) 및 클라우드 플랫폼을 기반으로 스마트 공조제어 시스템 원격제어/모니터링을 할 수 있는 어플리케이션 및 웹서비스로 구성된다.
PPT Slide
Lager Image
전체 시스템 구성도 Fig. 2 Overall system configuration
그림 3 는 본 논문에서 제안하는 시스템 구성을 나타내고 있으며, 그림 4 는 시스템 구성상에서의 서비스 흐름을 나타낸다.
PPT Slide
Lager Image
제안 시스템 구성 Fig. 3 Proposed system configuration
PPT Slide
Lager Image
서비스 흐름 Fig. 4 Service flow
- 3.2. 프로토콜 설계
클라우드 서버 상에서의 장비제어 및 모니터링은 MQTT 서버를 기반으로 CCU와 연계하여 수신된 데이터를 실시간으로 서비스한다.
CCU와 클라우드 서버 상의 프로토콜의 흐름은 그림 5 와 같고, 장비제어/모니터링 및 알람 등과 같은 사항들을 고려하여 CCU와 클라우드 상의 프로토콜을 표 3 과 같이 정의한다.
PPT Slide
Lager Image
CCU와 클라우드 상의 프로토콜 흐름 Fig. 5 Protocol flow of CCU and Cloud
프로토콜 타입 및 정의Table. 3 Protocol type and definition
PPT Slide
Lager Image
프로토콜 타입 및 정의 Table. 3 Protocol type and definition
표 3 에 정의한 프로토콜 타입에 대한 상세 정의 및 데이터 형식은 다음과 같다.
- ▪ Monitoring
실시간으로 관제점 데이터를 CCU에서 MQTT로 전달하며, 전송주기는 CCU에서 정의한다. 그림 6 은 Monitoring에 대한 내용을 나타내고 있으며, 표 4 는 CCU에서 MQTT 서버로 전송되어지는 데이터 형식을 표시하고 있다.
PPT Slide
Lager Image
모니터링 내용 Fig. 6 Monitoring Type
Monitoring 데이터 형식Table. 4 Monitoring data format
PPT Slide
Lager Image
Monitoring 데이터 형식 Table. 4 Monitoring data format
- ▪ Request/Set
Request/Set은 이벤트의 주체는 MQTT 서버가 되며, 특정 CCU에 연결된 기기의 연결 상태 확인, 사용자가 특정기기의 상태 값 확인요청(출력), 사용자가 특정기기의 상태 값 변경요청(입력) 및 디바이스 정보를 클라우드 서버에 적재하는 4가지로 구분할 수 있다.
그림 7 은 Request/Set 상에서 특정 CCU에 연결된 기기의 연결상태 확인을 위한 내용을 나타내고 있으며, 표 5 는 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.
PPT Slide
Lager Image
Request/Set Type(1) Fig. 7 Request/Set Type(1)
Request/Set Type(1) 데이터 형식Table. 5 Request/Set Type(1) data format
PPT Slide
Lager Image
Request/Set Type(1) 데이터 형식 Table. 5 Request/Set Type(1) data format
그림 8 은 Request/Set 상에서 사용자가 특정기기의 상태 값 확인요청(출력)을 위한 내용을 나타내고 있으며, 표 6 은 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.
PPT Slide
Lager Image
Request/Set Type(2) Fig. 8 Request/Set Type(2)
Request/Set Type(2) 데이터 형식Table. 6 Request/Set Type(2) data format
PPT Slide
Lager Image
Request/Set Type(2) 데이터 형식 Table. 6 Request/Set Type(2) data format
그림 9 는 Request/Set 상에서 사용자가 특정기기의 상태값 확인요청(입력)을 위한 내용을 나타내고 있으며, 표 7 은 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.
PPT Slide
Lager Image
Request/Set Type(3) Fig. 9 Request/Set Type(3)
Request/Set Type(3) 데이터 형식Table. 7 Request/Set Type(3) data format
PPT Slide
Lager Image
Request/Set Type(3) 데이터 형식 Table. 7 Request/Set Type(3) data format
그림 10 은 Request/Set상에서 디바이스 정보를 클라우드 서버 상에 적재를 위한 내용을 나타내고 있으며, 표 8 은 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.
PPT Slide
Lager Image
Request/Set Type(4) Fig. 10 Request/Set Type(4)
Request/Set Type(4) 데이터 형식Table. 8 Request/Set Type(4) data format
PPT Slide
Lager Image
Request/Set Type(4) 데이터 형식 Table. 8 Request/Set Type(4) data format
- ▪ Event
Event의 주체는 CCU가 되며, 알람발생시 CCU에서 MQTT 서버로 실시간 전달, 디바이스 변동사항 발생시, CCU와 디바이스 변동사항 발생시(변경), CCU와 디바이스 변동사항 발생시(삭제) 4가지로 구분할 수 있다. 그림 11 은 Event 상에서 알람발생시 CCU에서 MQTT 로 전달을 위한 내용을 나타내고 있으며, 표 9 는 CCU 상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다.
PPT Slide
Lager Image
Event Type(1) Fig. 11 Event Type(1)
Event Type(1) 데이터 형식Table. 9 Event Type(1) data format
PPT Slide
Lager Image
Event Type(1) 데이터 형식 Table. 9 Event Type(1) data format
다음의 그림 12 는 Event상에서 디바이스 변동사항 발생시(신규 추가) CCU에서 MQTT로 전달을 위한 내용을 나타내고 있으며, 표 10 은 CCU상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다
PPT Slide
Lager Image
Event Type(2) Fig. 12 Event Type(2)
Event Type(2) 데이터 형식Table. 10 Event Type(2) data format
PPT Slide
Lager Image
Event Type(2) 데이터 형식 Table. 10 Event Type(2) data format
그림 13 은 Event상에서 CCU 및 디바이스 변동사항 발생시(변경) CCU에서 MQTT로 전달을 위한 내용을 나타내고 있으며, 표 11 은 CCU상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다.
PPT Slide
Lager Image
Event Type(3) Fig. 13 Event Type(3)
Event Type(3) 데이터 형식Table. 11 Event Type(3) data format
PPT Slide
Lager Image
Event Type(3) 데이터 형식 Table. 11 Event Type(3) data format
그림 14 는 Event상에서 CCU 및 디바이스 변동사항 발생시(삭제) CCU에서 MQTT로 전달을 위한 내용을 나타내고 있으며, 표 12 는 CCU상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다.
PPT Slide
Lager Image
Event Type(4) Fig. 14 Event Type(4)
Event Type(4) 데이터 형식Table. 12 Event Type(4) data format
PPT Slide
Lager Image
Event Type(4) 데이터 형식 Table. 12 Event Type(4) data format
Ⅳ. MQTT기반 실시간 공조제어 시스템 구현
- 4.1. 시스템 구성
시스템 운영을 위한 환경은 LINUX 운영체제(Linux Server Ubuntu 12.04) 환경에서 PostgrSQL 9.1.14, MQTT 프로토콜 적용을 위하여 브로커 서버로 Mosquitto Ver.1.3.5, Event 기능 구현을 위한 WebSocket 및 Web Application 동작을 위해 Tomcat 7 Server 환경에서 개발 및 운영을 하였다.
그림 15 는 시스템의 구성 요소와 프로토콜 설계 내용을 기반으로 구현된 시스템 구성도이다.
PPT Slide
Lager Image
클라우드 HW, SW 구성 Fig. 15 Cloud HW and SW configuration
- 4.2. 클라우드 시스템 사용자 화면
본 논문에서 제안한 시스템은 다양한 환경에서 사용 할 수 있도록 하기 위하여 Html 5, JavaScript, CSS를 이용하여 사용자 화면을 개발하였다. 따라서 웹 브라우저 이외에 다른 프로그램을 설치할 필요가 없으며, 웹 브라우저에 주소만 입력하면 시스템으로 접속 가능하다.
- ▪초기화면(로그인)
그림 16 은 클라우드 시스템 상에 접속을 위한 사용자 ID, Password 입력 화면이다.
PPT Slide
Lager Image
초기화면 Fig. 16 Initial screen
- ▪ 전국 현장 화면
다음의 그림 17 은 로그인 이후 전국현장의 맵 및 현장리스트를 보여주는 화면으로, 현장명 선택시 해당 현장의 대시보드 메뉴로 이동한다.
PPT Slide
Lager Image
전국 현장 화면 Fig. 17 Nationwide field screen
- ▪ 현장 대시 보드 화면
그림 18 은 전국 현장 화면에서 특정 현장을 선택할 경우, 해당 현장의 시스템 상태 및 장비 내역 등의 정보를 나타내고 있다.
PPT Slide
Lager Image
현장대시보드 화면 Fig. 18 Field dashboard screen
- ▪ 장비 구성 화면
그림 19 는 현장 선택시 현장에 설치된 장비의 구성 현황을 나타내고 있다.
PPT Slide
Lager Image
장비 구성 화면 Fig. 19 Equipment configuration screen
장비 구성 화면에서는 선택한 장비의 관제점, 상태 값, 장비 이미지, 운전 모드, 운전 상태 등의 장비 상태를 확인할 수 있도록 구성하였으며, 그림 20 은 장비 선택시 보여주는 화면이다.
PPT Slide
Lager Image
장비 선택 화면 Fig. 20 Equipment selection screen
또한 장비 구성 화면에서는 선택한 장비의 알람 내역을 확인할 수 있으며, 알람 상황에 따라 관리자에게 알람 정보를 전송할 수 있도록 그림 21 과 같이 화면을 구성하였다.
PPT Slide
Lager Image
장비 알람 확인 화면 Fig. 21 Equipment alarm check screen
- ▪ 장비 설정 화면
그림 22 는 장비구성화면에서 선택한 장비의 설정변경 및 해당 장비의 운전/정지 여부를 변경할 수 있는 화면이다. 장비 설정 화면에서는 장비와 관련된 세부설정 화면을 표시하며, 크게 냉수제어, 모드설정, 전류제어, 오일 온도, 베인 설정, 압력제어, 스케줄 조정, 설비연동 설정, 타이머 설정으로 구성되어진다.
PPT Slide
Lager Image
장비 설정 화면 Fig. 22 Equipment setting screen
- ▪ 관리자 설정 화면
그림 23 은 관리자 권한을 가진 사용자가 접속하여 사용자 관리기능(등록, 조회, 권한 설정), 현장 관리기능, CCU 관리기능 및 사용자와 현장을 연결시켜주는 맵핑기능으로 구성된다.
PPT Slide
Lager Image
관리자 설정 화면 Fig. 23 Administrator settings screen
Ⅴ. 결 론
본 논문에서는 보편성, 유연성, 경량성, 신속성을 가지며 메시지 전달의 신뢰도와 보안성이 있는 양방향 메시징 프로토콜인 MQTT를 활용하여 클라우드 플랫폼에서의 실시간 공조제어 시스템의 제어, 관리 및 모니터링을 위한 프로토콜을 설계하고, 설계한 프로토콜을 적용한 시스템을 구현하였다.
구현된 시스템에서는 CCU와 클라우드 서버 간 데이터 수집 및 제어를 위한 통신 프로토콜은 성능 및 안정성을 고려하였으며, 클라우드 서버 상에서의 장비제어 및 모니터링은 MQTT 서버를 기반으로 CCU와 연계하여 수신된 데이터를 실시간으로 서비스하도록 하였다.
향후에는 제안된 시스템을 실제 현장에 적용하여 성능 측정 및 분석을 통하여 시스템의 성능과 안정성을 향상할 계획이다.
Acknowledgements
본 연구는 산업통상자원부, 한국산업기술진흥원, 대경지역사업평가원의 2014년도 「광역경제권선도산업 육성사업」으로 수행된 연구결과입니다.
BIO
정 헌(Hun Jung)
1997년 대구대학교 전자계산학과(공학사)
2001년 영남대학교 컴퓨터공학과(공학석사)
2009년 영남대학교 컴퓨터공학과(공학박사)
2006년 ~ 2007년 대구산업정보대학 컴퓨터정보계열 교수
2011년 ~ 현재 (재)대구테크노파크 모바일융합센터 선임연구원
※관심분야 : P2P, 영상처리, 차량네트워크
박종원(Chong-Won Park)
1981년 한양대학교 전자통신공학과(공학사)
1983년 한양대학교 전자통신공학과(공학석사)
2002년 한양대학교 전자통신공학과(공학박사)
1984년 ~ 2005년 한국전자통신연구원 책임연구원
2012년 ~ 현재 계명문화대학교 전자정보과 교수
※관심분야 : 컴퓨터시스템, 스토리지시스템, 임베디드시스템, 통신 및 네트워크
References
“Power Profiling:HTTPS Long Polling vs. MQTT with SSL, on Android,” http://stephendnicholas.com/archives/1217/
Julio P. , M.S. thesis 2005 “MQTT Performance Analysis with OMNeT++,” IBM Zurich Research Laboratory, Institut Eurecom M.S. thesis
“The MQTT protocol,” http://www.mqtt.org/
Collina M. , Corazza G.E. , Vanelli-Coralli A. “Introducing the QUST broker: Scaling the IoT by bridging MQTT and REST,” Personal Indoor and Mobile Radio Communications, 2012 IEEE 23rd International Symposium on Sydney, Australia Sep. 2012 36 - 41
Mesnil Jeff 2014 “Mobile and Web Messaging,” O'Reilly Media
Lee Shinho , Kim Hyeonwoo , Ju Hongtaek 2013 “Design of The High-Level Architecture of Mobile Integration SNS Gateway and The MQTT Based Push Notification Protocol,” Korean Institute of Communications and Information Sciences 38B (05) 344 - 354    DOI : 10.7840/kics.2013.38B.5.344
Lee Shinho , Kwon Dongwoo , Kim Hyunwoo , Joo Hongtec 2013 “Development of Mobile Integrated Web Board Gateway,” KNOM Review 16 (1) 24 - 34
“KOREA HTML5,” https://www.koreahtml5.kr/
Lee Eunmin 2011 “The Impact of HTML5 on Web,” Communications of the Korean Institute of Information Scientists and Engineer 29 (6) 55 - 60
Oh Jinsu , Song Changgi “Transmission performance of improvements in mobile applications via XML and JSON data translation,” Proceeding of Communications of the Korean Institute of Information Scientists and Engineer 2012 Vol.39, No.1D 128 - 131
Rodrigues C. , Afonso J. , Tomé P. 2011 “Mobile Application Webservice Performance Analysis: Restful Services with JSON and XML,” ENTERprise Information Systems Communications in Computer and Information Science 220 162 - 169
“Introducing JSON,” http://www.json.org