검색 전체 메뉴
PDF
맨 위로
OA 학술지
MQTT 기반 실시간 공조제어 시스템 설계 및 구현 Design and Implementation of MQTT Based Real-time HVAC Control Systems
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT

본 논문에서는 클라우드 플랫폼에서의 실시간 공조제어 시스템의 제어, 관리 및 모니터링을 위한 MQTT 기반의 프로토콜을 설계하고, 설계된 프로토콜을 적용한 시스템을 구현하였다. MQTT 프로토콜은 보편성, 유연성, 경량성, 신속성을 가지며 메시지 전달의 신뢰도와 보안성이 있는 양방향 메시징 프로토콜이다. 구현된 시스템에서는 CCU와 클라우드 서버 간 데이터 수집 및 제어를 위한 통신 프로토콜의 성능 및 안정성을 고려하였다. 클라우드 서버 상에서의 장비 제어 및 모니터링은 MQTT 서버를 기반으로 CCU와 연계하여 수신된 데이터를 실시간으로 실행된다.


In this paper, an MQTT based protocol is designed and implemented for control, management and monitoring of HVAC in a cloud platform in real time. The MQTT protocol is a two-way messaging protocol, and has the generality, flexibility, light weighted, quickness with reliability and security. In the implemented system, performance and reliability of the communication protocol is considered for data acquisition and control between the CCU and the cloud server. Control and monitoring for the cloud server is performed in real time in conjunction with CCU and the MQTT server.

KEYWORD
MQTT , 공조제어 , 클라우드 , 실시간 제어 및 모니터링
  • Ⅰ. 서 론

    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 간의 통신을 간략하게 표현한 것이다.

    그림 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].

    [표 1.] HTTPS와 MQTT의 성능 비교

    label

    HTTPS와 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].

    [표 2.] XML 및 JSON 표현

    label

    XML 및 JSON 표현

    Ⅲ. MQTT기반 실시간 공조제어 시스템 설계

       3.1. 시스템 개요

    현재의 HVAC 시스템은 시스템의 안정성·신뢰성 관점에서 현장 내에 모니터링 시스템을 설치하여 전문기술을 가진 관리자가 중앙 통제실 등에서 상주하며 관리하고 있다. 그러나 네트워크 기술과 데이터 센터의 발전으로 반드시 현장 내에 시스템 서버를 설치하지 않아도 신뢰성 높은 시스템 구축이 가능하다.

    따라서 클라우드 상에 시스템을 구축하여 운용함으로써 단일 현장에 제공하는 서비스에 그치지 않고 여러 현장의 시설·에너지 관리를 일원적으로 하는 시스템을 구현한다. 이를 통하여 각각의 사이트 단위의 개선이 아니라 여러 사이트를 통합한 전체적인 최적화가 가능하다. MQTT 기반 실시간 공조제어 시스템의 구성은 그림 2와 같이 서로 상이한 프로토콜을 사용하는 공조 장치들의 인터페이스를 TCP/IP로 변환해주는 Protocol Converter와 이를 통하여 공조장치들을 제어/모니터링 할 수 있는 CCU(Central Control Unit) 및 클라우드 플랫폼을 기반으로 스마트 공조제어 시스템 원격제어/모니터링을 할 수 있는 어플리케이션 및 웹서비스로 구성된다.

    그림 3는 본 논문에서 제안하는 시스템 구성을 나타내고 있으며, 그림 4는 시스템 구성상에서의 서비스 흐름을 나타낸다.

       3.2. 프로토콜 설계

    클라우드 서버 상에서의 장비제어 및 모니터링은 MQTT 서버를 기반으로 CCU와 연계하여 수신된 데이터를 실시간으로 서비스한다.

    CCU와 클라우드 서버 상의 프로토콜의 흐름은 그림 5와 같고, 장비제어/모니터링 및 알람 등과 같은 사항들을 고려하여 CCU와 클라우드 상의 프로토콜을 표 3과 같이 정의한다.

    [표 3.] 프로토콜 타입 및 정의

    label

    프로토콜 타입 및 정의

    표 3에 정의한 프로토콜 타입에 대한 상세 정의 및 데이터 형식은 다음과 같다.

    ? Monitoring

    실시간으로 관제점 데이터를 CCU에서 MQTT로 전달하며, 전송주기는 CCU에서 정의한다. 그림 6은 Monitoring에 대한 내용을 나타내고 있으며, 표 4는 CCU에서 MQTT 서버로 전송되어지는 데이터 형식을 표시하고 있다.

    [표 4.] Monitoring 데이터 형식

    label

    Monitoring 데이터 형식

    ? Request/Set

    Request/Set은 이벤트의 주체는 MQTT 서버가 되며, 특정 CCU에 연결된 기기의 연결 상태 확인, 사용자가 특정기기의 상태 값 확인요청(출력), 사용자가 특정기기의 상태 값 변경요청(입력) 및 디바이스 정보를 클라우드 서버에 적재하는 4가지로 구분할 수 있다.

    그림 7은 Request/Set 상에서 특정 CCU에 연결된 기기의 연결상태 확인을 위한 내용을 나타내고 있으며, 표 5는 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.

    [표 5.] Request/Set Type(1) 데이터 형식

    label

    Request/Set Type(1) 데이터 형식

    그림 8은 Request/Set 상에서 사용자가 특정기기의 상태 값 확인요청(출력)을 위한 내용을 나타내고 있으며, 표 6은 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.

    [표 6.] Request/Set Type(2) 데이터 형식

    label

    Request/Set Type(2) 데이터 형식

    그림 9는 Request/Set 상에서 사용자가 특정기기의 상태값 확인요청(입력)을 위한 내용을 나타내고 있으며, 표 7은 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.

    [표 7.] Request/Set Type(3) 데이터 형식

    label

    Request/Set Type(3) 데이터 형식

    그림 10은 Request/Set상에서 디바이스 정보를 클라우드 서버 상에 적재를 위한 내용을 나타내고 있으며, 표 8은 MQTT에서 CCU 상으로의 요청 및 응답에 대한 데이터 형식을 나타내고 있다.

    [표 8.] Request/Set Type(4) 데이터 형식

    label

    Request/Set Type(4) 데이터 형식

    ? Event

    Event의 주체는 CCU가 되며, 알람발생시 CCU에서 MQTT 서버로 실시간 전달, 디바이스 변동사항 발생시, CCU와 디바이스 변동사항 발생시(변경), CCU와 디바이스 변동사항 발생시(삭제) 4가지로 구분할 수 있다. 그림 11은 Event 상에서 알람발생시 CCU에서 MQTT 로 전달을 위한 내용을 나타내고 있으며, 표 9는 CCU 상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다.

    [표 9.] Event Type(1) 데이터 형식

    label

    Event Type(1) 데이터 형식

    다음의 그림 12는 Event상에서 디바이스 변동사항 발생시(신규 추가) CCU에서 MQTT로 전달을 위한 내용을 나타내고 있으며, 표 10은 CCU상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다

    [표 10.] Event Type(2) 데이터 형식

    label

    Event Type(2) 데이터 형식

    그림 13은 Event상에서 CCU 및 디바이스 변동사항 발생시(변경) CCU에서 MQTT로 전달을 위한 내용을 나타내고 있으며, 표 11은 CCU상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다.

    [표 11.] Event Type(3) 데이터 형식

    label

    Event Type(3) 데이터 형식

    그림 14는 Event상에서 CCU 및 디바이스 변동사항 발생시(삭제) CCU에서 MQTT로 전달을 위한 내용을 나타내고 있으며, 표 12는 CCU상에서 MQTT로의 응답에 대한 데이터 형식을 나타내고 있다.

    [표 12.] Event Type(4) 데이터 형식

    label

    Event Type(4) 데이터 형식

    Ⅳ. 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는 시스템의 구성 요소와 프로토콜 설계 내용을 기반으로 구현된 시스템 구성도이다.

       4.2. 클라우드 시스템 사용자 화면

    본 논문에서 제안한 시스템은 다양한 환경에서 사용 할 수 있도록 하기 위하여 Html 5, JavaScript, CSS를 이용하여 사용자 화면을 개발하였다. 따라서 웹 브라우저 이외에 다른 프로그램을 설치할 필요가 없으며, 웹 브라우저에 주소만 입력하면 시스템으로 접속 가능하다.

    ?초기화면(로그인)

    그림 16은 클라우드 시스템 상에 접속을 위한 사용자 ID, Password 입력 화면이다.

    ? 전국 현장 화면

    다음의 그림 17은 로그인 이후 전국현장의 맵 및 현장리스트를 보여주는 화면으로, 현장명 선택시 해당 현장의 대시보드 메뉴로 이동한다.

    ? 현장 대시 보드 화면

    그림 18은 전국 현장 화면에서 특정 현장을 선택할 경우, 해당 현장의 시스템 상태 및 장비 내역 등의 정보를 나타내고 있다.

    ? 장비 구성 화면

    그림 19는 현장 선택시 현장에 설치된 장비의 구성 현황을 나타내고 있다.

    장비 구성 화면에서는 선택한 장비의 관제점, 상태 값, 장비 이미지, 운전 모드, 운전 상태 등의 장비 상태를 확인할 수 있도록 구성하였으며, 그림 20은 장비 선택시 보여주는 화면이다.

    또한 장비 구성 화면에서는 선택한 장비의 알람 내역을 확인할 수 있으며, 알람 상황에 따라 관리자에게 알람 정보를 전송할 수 있도록 그림 21과 같이 화면을 구성하였다.

    ? 장비 설정 화면

    그림 22는 장비구성화면에서 선택한 장비의 설정변경 및 해당 장비의 운전/정지 여부를 변경할 수 있는 화면이다. 장비 설정 화면에서는 장비와 관련된 세부설정 화면을 표시하며, 크게 냉수제어, 모드설정, 전류제어, 오일 온도, 베인 설정, 압력제어, 스케줄 조정, 설비연동 설정, 타이머 설정으로 구성되어진다.

    ? 관리자 설정 화면

    그림 23은 관리자 권한을 가진 사용자가 접속하여 사용자 관리기능(등록, 조회, 권한 설정), 현장 관리기능, CCU 관리기능 및 사용자와 현장을 연결시켜주는 맵핑기능으로 구성된다.

    Ⅴ. 결 론

    본 논문에서는 보편성, 유연성, 경량성, 신속성을 가지며 메시지 전달의 신뢰도와 보안성이 있는 양방향 메시징 프로토콜인 MQTT를 활용하여 클라우드 플랫폼에서의 실시간 공조제어 시스템의 제어, 관리 및 모니터링을 위한 프로토콜을 설계하고, 설계한 프로토콜을 적용한 시스템을 구현하였다.

    구현된 시스템에서는 CCU와 클라우드 서버 간 데이터 수집 및 제어를 위한 통신 프로토콜은 성능 및 안정성을 고려하였으며, 클라우드 서버 상에서의 장비제어 및 모니터링은 MQTT 서버를 기반으로 CCU와 연계하여 수신된 데이터를 실시간으로 서비스하도록 하였다.

    향후에는 제안된 시스템을 실제 현장에 적용하여 성능 측정 및 분석을 통하여 시스템의 성능과 안정성을 향상할 계획이다.

참고문헌
  • 1. “Power Profiling:HTTPS Long Polling vs. MQTT with SSL, on Android,” google
  • 2. Julio P. 2005 “MQTT Performance Analysis with OMNeT++,” google
  • 3. “The MQTT protocol,” google
  • 4. Collina M., Corazza G.E., Vanelli-Coralli A. Sep. 2012 “Introducing the QUST broker: Scaling the IoT by bridging MQTT and REST,” [Personal Indoor and Mobile Radio Communications, 2012 IEEE 23rd International Symposium on] P.36-41 google
  • 5. Mesnil Jeff 2014 “Mobile and Web Messaging,” google
  • 6. 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] Vol.38B P.344-354 google cross ref
  • 7. Lee Shinho, Kwon Dongwoo, Kim Hyunwoo, Joo Hongtec 2013 “Development of Mobile Integrated Web Board Gateway,” [KNOM Review] Vol.16 P.24-34 google
  • 8. “KOREA HTML5,” google
  • 9. Lee Eunmin 2011 “The Impact of HTML5 on Web,” [Communications of the Korean Institute of Information Scientists and Engineer] Vol.29 P.55-60 google
  • 10. Oh Jinsu, Song Changgi 2012 “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] P.128-131 google
  • 11. Rodrigues C., Afonso J., Tome P. 2011 “Mobile Application Webservice Performance Analysis: Restful Services with JSON and XML,” [ENTERprise Information Systems Communications in Computer and Information Science] Vol.220 P.162-169 google
  • 12. “Introducing JSON,” google
이미지 / 테이블
  • [ 그림 1. ]  MQTT 통신구조
    MQTT 통신구조
  • [ 표 1. ]  HTTPS와 MQTT의 성능 비교
    HTTPS와 MQTT의 성능 비교
  • [ 표 2. ]  XML 및 JSON 표현
    XML 및 JSON 표현
  • [ 그림 2. ]  전체 시스템 구성도
    전체 시스템 구성도
  • [ 그림 3. ]  제안 시스템 구성
    제안 시스템 구성
  • [ 그림 4. ]  서비스 흐름
    서비스 흐름
  • [ 그림 5. ]  CCU와 클라우드 상의 프로토콜 흐름
    CCU와 클라우드 상의 프로토콜 흐름
  • [ 표 3. ]  프로토콜 타입 및 정의
    프로토콜 타입 및 정의
  • [ 그림 6. ]  모니터링 내용
    모니터링 내용
  • [ 표 4. ]  Monitoring 데이터 형식
    Monitoring 데이터 형식
  • [ 그림 7. ]  Request/Set Type(1)
    Request/Set Type(1)
  • [ 표 5. ]  Request/Set Type(1) 데이터 형식
    Request/Set Type(1) 데이터 형식
  • [ 그림 8. ]  Request/Set Type(2)
    Request/Set Type(2)
  • [ 표 6. ]  Request/Set Type(2) 데이터 형식
    Request/Set Type(2) 데이터 형식
  • [ 그림 9. ]  Request/Set Type(3)
    Request/Set Type(3)
  • [ 표 7. ]  Request/Set Type(3) 데이터 형식
    Request/Set Type(3) 데이터 형식
  • [ 그림 10. ]  Request/Set Type(4)
    Request/Set Type(4)
  • [ 표 8. ]  Request/Set Type(4) 데이터 형식
    Request/Set Type(4) 데이터 형식
  • [ 그림 11. ]  Event Type(1)
    Event Type(1)
  • [ 표 9. ]  Event Type(1) 데이터 형식
    Event Type(1) 데이터 형식
  • [ 그림 12. ]  Event Type(2)
    Event Type(2)
  • [ 표 10. ]  Event Type(2) 데이터 형식
    Event Type(2) 데이터 형식
  • [ 그림 13. ]  Event Type(3)
    Event Type(3)
  • [ 표 11. ]  Event Type(3) 데이터 형식
    Event Type(3) 데이터 형식
  • [ 그림 14. ]  Event Type(4)
    Event Type(4)
  • [ 표 12. ]  Event Type(4) 데이터 형식
    Event Type(4) 데이터 형식
  • [ 그림 15. ]  클라우드 HW, SW 구성
    클라우드 HW, SW 구성
  • [ 그림 16. ]  초기화면
    초기화면
  • [ 그림 17. ]  전국 현장 화면
    전국 현장 화면
  • [ 그림 18. ]  현장대시보드 화면
    현장대시보드 화면
  • [ 그림 19. ]  장비 구성 화면
    장비 구성 화면
  • [ 그림 20. ]  장비 선택 화면
    장비 선택 화면
  • [ 그림 21. ]  장비 알람 확인 화면
    장비 알람 확인 화면
  • [ 그림 22. ]  장비 설정 화면
    장비 설정 화면
  • [ 그림 23. ]  관리자 설정 화면
    관리자 설정 화면
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.