KR20240009677A - Mqtt를 활용한 메시지 전달 시스템 및 그 방법 - Google Patents

Mqtt를 활용한 메시지 전달 시스템 및 그 방법 Download PDF

Info

Publication number
KR20240009677A
KR20240009677A KR1020220086869A KR20220086869A KR20240009677A KR 20240009677 A KR20240009677 A KR 20240009677A KR 1020220086869 A KR1020220086869 A KR 1020220086869A KR 20220086869 A KR20220086869 A KR 20220086869A KR 20240009677 A KR20240009677 A KR 20240009677A
Authority
KR
South Korea
Prior art keywords
mqtt
broker
format
message
database
Prior art date
Application number
KR1020220086869A
Other languages
English (en)
Inventor
안성욱
김형환
Original Assignee
주식회사 쉬프트베리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 쉬프트베리 filed Critical 주식회사 쉬프트베리
Priority to KR1020220086869A priority Critical patent/KR20240009677A/ko
Publication of KR20240009677A publication Critical patent/KR20240009677A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Abstract

본 발명은 사물통신(Machine to Machine), 사물인터넷(Internet of Things)과 같이 대역폭이 제한된 통신 환경에 최적화하여 개발된 푸시 기술(Push Technology) 기반의 경량 메시지 전송 프로토콜인 MQTT(Message Queuing Telemetry Transport)를 이용하여 모든 IoT 장비의 센서 정보를 해석하지 않고 그대로 MQTT 형태로 변환하여 데이터베이스(DB)에 저장할 수 있으며, MQTT 발행자(Publisher) 단말로부터 받은 MQTT 메시지를 파라미터로 하여 지정된 웹페이지를 호출할 수 있는 MQTT를 활용한 메시지 전달 시스템 및 그 방법에 관한 것으로, 복수의 IoT 장비에 각각 연결되어 데이터를 수집하는 복수개의 센서; 상기 복수개의 센서로부터 수집된 데이터를 전달받아 데이터 패킷을 생성하는 IoT 게이트웨이: 상기 생성된 데이터 패킷을 전달받아 MQTT 형태로 생성하는 MQTT 발행자 단말; 및 상기 생성된 MQTT 형태를 전달받는 MQTT 브로커, 상기 MQTT 브로커와 연결된 웹서버, 및 상기 웹서버와 연결된 데이터베이스로 구성된 에지서버를 포함하며, 상기 MQTT 발행자 단말은 상기 IoT 게이트웨이에 의해 생성된 상기 데이터 패킷을 전달받아 MQTT 형태로 변환하는 MQTT 변환부를 포함하며, 상기 MQTT 변환부는 상기 IoT 게이트웨이에 의해 형성된 상기 데이터 패킷을 MQTT 형태로 변환하며, 상기 변환된 MQTT 형태는 상기 웹서버를 통해 상기 데이터베이스까지 연결된 구조를 통해, 상기 복수의 IoT 장비의 센서 정보가 해석되지 않은 채 MQTT 형태로 상기 데이터베이스에 저장된다.

Description

MQTT를 활용한 메시지 전달 시스템 및 그 방법{MESSAGE DELIVERY SYSTEM USING MQTT AND METHOD THEREOF}
본 발명은 MQTT를 활용한 메시지 전달 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사물통신(Machine to Machine, 이하 "M2M"이라 총칭함), 사물인터넷(Internet of Things, 이하 "IoT"라 총칭함)과 같이 대역폭이 제한된 통신 환경에 최적화하여 개발된 푸시 기술(Push Technology) 기반의 경량 메시지 전송 프로토콜인 MQTT(Message Queuing Telemetry Transport)를 이용하여 모든 IoT 장비의 센서 정보를 해석하지 않고 그대로 MQTT 형태로 변환하여 데이터베이스(DB)에 저장할 수 있으며, MQTT 발행자(Publisher) 단말로부터 받은 MQTT 메시지를 파라미터로하여 지정된 웹페이지를 호출할 수 있는 MQTT를 활용한 메시지 전달 시스템 및 그 방법에 관한 것이다
MQTT는 ISO 표준(ISO/IEC PRF 20922) 발행-구독 기반의 메시징 프로토콜이고, TCP/IP 프로토콜 상에서 동작하며, 작은 코드 공간(small code footprint)이 필요하거나 네트워크 대역폭이 제한되는 원격 위치와의 연결을 위해 설계되었으며, 발행-구독(Publish-Subscribe) 메시징 패턴은 발행자(Publisher) 단말과 구독자(Subscriber) 단말 간의 데이터 전달 위한 메시지 브로커(Broker)가 메시지를 중계하는 구조이다.
이러한 MQTT에서 모든 구독자는 브로커에게 연결이 되어 있어야 하며, 이때 토픽(Topic)을 가지고 구독한다. 여기서, 토픽은 브로커가 메시지를 포워딩할 때 이용하는 것으로, 브로커는 발행자로부터 발행된 메시지의 토픽에 일치하는 토픽을 구독하는 구독자에게 발행된 메시지를 전달한다.
한편, 최근에는 IoT 시장의 급격한 성장에 따라 새로운 장치들과 응용 프로그램들이 폭넓게 발전되었으며, 이러한 응용 프로그램들은 장치들의 물리적 특성과 응용 분야에 따라 RFID(Radio-Frequency Identification), 지그비(ZigBee), BLE(Bluetooth Low Energy)와 같은 다양한 통신 프로토콜을 사용하여 장치 간 통신을 가능하게 한다.
그런데, 이러한 통신 프로토콜은 각기 다른 표준 규약을 가지기 때문에 서로 호환이 되지 않는 이질성 문제를 갖는다. IoT에서 이질성 문제를 해결하기 위해서는 상호 운용성이 확보되어야 하며 이러한 상호 운용성을 확보하기 위해서는 미들웨어 기반의 상호 연동 시스템이 필요하다.
이러한 미들웨어 기반의 상호 연동 시스템에는 지그비 어댑터, BLE 어댑터와 같은 DDS(Data Distribution Service) 미들웨어 기반의 가상 어댑터들이 있다. 지그비 어댑터와 BLE 어댑터는 각각 지그비와 BLE 통신 프로토콜 장치와 연결되어 있으며 DDS 미들웨어를 활용하여 양방향 통신으로 다른 프로토콜 간 상호 운용성을 확보하였다. 여기서, DDS는 OMG(Object Management Group)에서 제정한 발행-구독 방식의 통신 미들웨어 표준이며, 국방과학 분야에서 널리 적용되는 DDS는 발행-구독 통신 방식으로 높은 상호 운용성을 제공하며 같은 도메인 내에서 데이터 중심적인 통신이 가능하다.
그러나, 이러한 DDS 기반의 가상 어댑터들은 다른 도메인을 가지는 웹(Web)을 사용하는 웹서버와 연결을 할 수 없다는 단점을 지니고 있다.
따라서, MQTT에서 웹서버의 종류를 한정하지 않으면서도 데이터베이스의 종류를 한정하지 않고 연결할 수 있는 필요성이 대두되고 있다.
따라서 본 발명의 목적은 상기와 같은 문제를 해결하기 위해 안출된 것으로, IoT 게이트웨이에 의해 형성된 데이터 패킷을 에지서버의 웹서버를 통해 데이터베이스까지 MQTT 형태로 연결하는 구조(MQTT 파이프라인(Pipe-Line))을 통해 IoT 게이트웨이에 의해 형성된 데이터 패킷을 MQTT 형태로 변환하여 에지서버의 MQTT 브로커로 전송하는 방식(MQTT 터널링(MQTT Tunneling))으로 전송함으로써, 모든 IoT 장비의 센서 정보를 해석하지 않고 그대로 MQTT 형태로 변환하여 데이터베이스에 저장할 수 있으며, MQTT 발행자 단말로부터 받은 MQTT 메시지를 파라미터로하여 지정된 웹페이지를 호출할 수 있는 MQTT를 활용한 메시지 전달 시스템 및 그 방법을 제공하고자 하는 것이다.
본 발명에 따른 MQTT를 활용한 메시지 전달 시스템은 복수의 IoT 장비에 각각 연결되어 데이터를 수집하는 복수개의 센서; 상기 복수개의 센서로부터 수집된 데이터를 전달받아 데이터 패킷을 생성하는 IoT 게이트웨이: 상기 생성된 데이터 패킷을 전달받아 MQTT 형태로 생성하는 MQTT 발행자 단말; 및 상기 생성된 MQTT 형태를 전달받는 MQTT 브로커, 상기 MQTT 브로커와 연결된 웹서버, 및 상기 웹서버와 연결된 데이터베이스로 구성된 에지서버를 포함하며, 상기 MQTT 발행자 단말은 상기 IoT 게이트웨이에 의해 생성된 상기 데이터 패킷을 전달받아 MQTT 형태로 변환하는 MQTT 변환부를 포함하며, 상기 MQTT 변환부는 상기 IoT 게이트웨이에 의해 형성된 상기 데이터 패킷을 MQTT 형태로 변환하며, 상기 변환된 MQTT 형태는 상기 웹서버를 통해 상기 데이터베이스까지 연결된 구조를 통해, 상기 복수의 IoT 장비의 센서 정보가 해석되지 않은 채 MQTT 형태로 상기 데이터베이스에 저장되는 것을 특징으로 한다.
또한, 본 발명에 따른 MQTT를 활용한 메시지 전달 방법은 복수개의 센서가 복수의 IoT 장비에 각각 연결되어 데이터를 수집하는 단계; IoT 게이트웨이가 상기 복수개의 센서로부터 수집된 데이터를 전달받아 데이터 패킷을 생성하는 단계: MQTT 발행자 단말의 브로커가 상기 생성된 데이터 패킷을 전달받아 MQTT 변환부에 의해 MQTT 형태로 변환되는 단계: 및 에지서버의 MQTT 브로커가 상기 변환된 MQTT 형태를 전달받아 MQTT 브로커에 연결된 웹서버를 통해 데이터베이스에 저장하는 단계를 포함하며, 상기 에지서버의 MQTT 브로커가 상기 변환된 MQTT 형태를 전달받아 MQTT 브로커에 연결된 웹서버를 통해 데이터베이스에 저장하는 단계에서, 상기 변환된 MQTT 형태는 상기 웹서버를 통해 상기 데이터베이스까지 연결된 구조를 통해, 상기 복수의 IoT 장비의 센서 정보가 해석되지 않은 채 MQTT 형태로 상기 데이터베이스에 저장되는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 MQTT를 활용한 메시지 전달 시스템 및 그 방법은 IoT 게이트웨이를 통해 받은 복수개의 센서의 정보를 그대로 MQTT 형태로 변환하여 MQTT 구독자 단말을 거치지 않고, 에지서버의 웹서버를 통해 데이터베이스로의 파이프라인을 연결할 수 있다는 이점이 있다.
또한, 웹페이지 호출 방식을 이용하여 데이터베이스의 종류, 웹서버의 종류를 한정하지 않고 연결할 수 있다는 이점이 있다.
도 1은 본 발명에 따른 MQTT를 활용한 메시지 전달 시스템을 나타낸 도시도이다.
도 2는 도 1의 MQTT 파이프라인 구성도이다.
도 3은 본 발명에 따른 MQTT를 활용한 메시지 전달 방법을 설명하기 위한 순서도이다.
도 4는 도 1의 MQTT 발행자 단말의 동작 순서도이다.
도 5는 도 1의 MQTT 브로커의 동작 순서도이다.
도 6은 본 발명에 따른 MQTT를 활용한 메시지 전달 방법 중 MQTT 브로커의 웹페이지 호출 함수를 나타낸 운용 화면 도시도이다.
도 7은 본 발명에 따른 MQTT를 활용한 메시지 전달 방법 중 MQTT 브로커의 웹페이지 호출 구현을 나타낸 운용 화면 도시도이다.
이하, 도면을 참조한 실시 예들의 상세한 설명을 통하여 본 발명에 따른 MQTT를 활용한 메시지 전달 시스템 및 그 방법을 보다 상세히 기술하기로 한다. 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략될 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 클라이언트나 운용자, 사용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도면 전체에 걸쳐 같은 참조번호는 같은 구성 요소를 가리킨다.
도 1은 본 발명에 따른 MQTT를 활용한 메시지 전달 시스템 및 그 방법을 나타낸 도시도이며, 도 2는 도 1의 MQTT 파이프라인 구성도이며, 도 3은 본 발명에 따른 MQTT를 활용한 메시지 전달 방법을 설명하기 위한 순서도이며, 도 4는 도 1의 MQTT 발행자 단말의 동작 순서도이며, 도 5는 도 1의 MQTT 브로커의 동작 순서도이며, 도 6은 본 발명에 따른 MQTT를 활용한 메시지 전달 방법 중 MQTT 브로커의 웹페이지 호출 함수를 나타낸 운용 화면 도시도이며, 도 7은 본 발명에 따른 MQTT를 활용한 메시지 전달 방법 중 MQTT 브로커의 웹페이지 호출 구현을 나타낸 운용 화면 도시도이다.
이하, 도 1 및 도 2를 참조하여 본 발명에 따른 MQTT를 활용한 메시지 전달 시스템을 살펴보고자 한다.
도 1 및 도 2에 도시된 바와 같이, 본 발명에 따른 MQTT를 활용한 메시지 전달 시스템은 IoT 장비에 연결된 복수개의 센서(110-1 ~ 110-n); IOT 게이트웨이(120); MQTT 변환부(131)를 구비한 MQTT 발행자 단말(130); MQTT 브로커(141), 웹서버(143), 및 데이터베이스(145)를 구비한 에지서버(140); MQTT 구독자 단말(150); 및 MQTT 발행자 단말(130), 에지서버(140), MQTT 구독자 단말(150)과 통신하기 위한 MQTT로 구성된다.
여기서, IoT 게이트웨이(120)는 MQTT 기반 메시지 전달 시스템을 MQTT 기반의 범용 서비스 형태로 확장하기 위한 장치이다.
또한, MQTT 발행자 단말(130)은 예를 들어 스마트폰, PDA, 태블릿 PC, 노트북 컴퓨터, 랩탑 컴퓨터, 개인용 컴퓨터 기타 통신을 수행하고 사용자의 입력을 수신하고 화면을 출력할 수 있는 전자적 기기 또는 이와 유사한 기기로써 구현될 수 있으며, MQTT 퍼블리셔(Publisher)를 기반으로 MQTT 연결이 가능한 장치라면 어떤 장치든 해당할 수 있다.
또한, 에지서버(140)는 예를 들어 워크스테이션, 서버, 일반용 컴퓨터, 기타 통신을 수행할 수 있는 전자적 기기 또는 이와 유사한 기기로써 구현될 수 있다.
또한, MQTT 구독자 단말(150)은 예를 들어 스마트폰, PDA, 태블릿 PC, 노트북 컴퓨터, 랩탑 컴퓨터, 개인용 컴퓨터 기타 통신을 수행하고 사용자의 입력을 수신하고 화면을 출력할 수 있는 전자적 기기 또는 이와 유사한 기기로써 구현될 수 있으며, MQTT 서브스크리버(Subscriber)를 기반으로 MQTT 연결이 가능한 장치라면 어떤 장치든 해당할 수 있다.
한편, 복수개의 센서(110-1 ~ 110-n)가 데이터를 각각 생성하며, IOT 게이트웨이(120)는 생성된 데이터를 패킷화하여 데이터 패킷을 형성하고 형성된 데이터 패킷을 복수개의 센서(110-1 ~ 110-n)와 연동되어 동작하는 AP(Access Point) 노드에게 전달할 수 있다. 이 때, AP 노드를 기반으로 데이터 패킷을 복수개의 센서(110-1 ~ 110-n)와 순차적(sequential)으로 송수신할 수 있으며, MQTT 발행자 단말(130)로부터 기설정된 주기마다 발생하는 데이터 수집 요청에 상응하게 데이터를 수집할 수 있다.
또한, MQTT 발행자 단말(130)은 IOT 게이트웨이(120)에 의해 형성되어 전달된 데이터 패킷을 MQTT 변환부(131)를 통해 MQTT 형태로 변환하며, 변환된 MQTT 형태로 에지서버(140)의 MQTT 브로커(141)로 전송된다. 여기서, 에지서버(140)의 MQTT 브로커141)로 전송된 MQTT는 웹서버(145)에 의해 데이터베이스(145)에 저장된 후, MQTT 프로토콜로 구독 등록된 MQTT 구독자 단말(150)에게 전송된다.
한편, MQTT 발행자 단말(130)은 IoT 게이트웨이(120)에 의해 형성되고 전달된 데이터 패킷을 에지서버(140)의 웹서버(143)를 통해 데이터베이스(145)까지 MQTT 형태로 연결하는 구조(이하, "MQTT 파이프라인"이라 총칭함)를 통해 IoT 게이트웨이(120)에 의해 형성된 데이터 패킷을 MQTT 변환부(131)를 통해 MQTT 형태로 변환하여 에지서버(140)의 MQTT 브로커(141)로 전송하는 방식(이하, "MQTT 터널링"이라 칭함)으로 IoT 게이트웨이(120)에 의해 형성된 데이터 패킷을 그대로 MQTT 프로토콜로 캡슐화하여 MQTT 형태로 발행하여 에지서버(140)의 MQTT 브로커(141)로 전송한다(도 2 참조). 여기서, MQTT 변환부(131)에 의해 변환된 MQTT 형태는 MQTT 토픽 및/또는 MQTT 메시지를 포함한다. 따라서, MQTT 발행자 단말(130)은 MQTT 토픽 및/또는 MQTT 메시지를 MQTT 터널링으로 에지서버(140)의 MQTT 브로커(141)로 전달한다.
또한, MQTT 발행자 단말(130)은 IoT 게이트웨이(120) 구동 시 MQTT 브로커(141)에 MQTT 발생 등록을 요청할 수 있으며, MQTT 구독자 단말(130)은 MQTT 브로커(141)에 구동 등록을 요청할 수 있다.
또한, 복수개의 센서(110-1 ~ 110-n)는 단거리 무선망(Wireless Personal Area Network, WPAN)의 범위를 확장하여 전력망, 가스망, 수도망 등 공공분야의 센서 네트워크를 구축하는 스마트 유틸리티 네트워크 환경에서 동작하는 센서에 상응할 수 있다.
또한, MQTT 발행자 단말(130)을 통한 MQTT 접속을 위한 클라이언트 ID는 IoT 장비의 MAC 어드레스(MAC Address)를 이용한다.
또한, MQTT 토픽은 IoT 장비의 MAC 어드레스와 시퀀스(sequence) 넘버를 종합하여 정하는데, 시퀀스 넘버는 IoT 장비에 연결된 센서를 구분하기 위한 정보로서 없어도 무방하다.
또한, MQTT 브로커(141)는 MQTT 발행자 단말(130)로부터 받은 MQTT 메시지를 파리미터로하여 지정된 웹페이지를 호출한다. 여기서, MQTT 브로커(141)는 다음의 3가지 모드로 동작한다. 상기 3가지 모드 중 제1 모드는 호출 웹페이지가 없는 경우이며, 이 경우엔 통상의 MQTT 브로커의 동작(MQTT 메시지를 MQTT 구독자 단말(150)로 전송)을 한다. 상기 3가지 모드 중 제2 모드는 호출 웹페이지가 있으며, MQTT 브로커의 기능이 작동하는 경우이며, 이 경우엔 통상의 MQTT 브로커의 동작와 동일한 동작을 하면서 웹페이지를 호출한다. 상기 3가지 모드 중 제3 모드는 호출 웹페이지가 있으나, MQTT 브로커의 기능이 작동하지 않는 경우이며, 이 경우엔 웹페이지를 호출하나, 호출한 웹페이지를 MQTT 발행자 단말(130)로 전달하지 않는다.
또한, MQTT 브로커(141)는 웹페이지의 이름을 지정할 수 있으며, 웹페이지의 이름을 지정하지 않는 경우에는, 통상의 MQTT 브로커의 동작을 한다.
또한, MQTT는 MQTT 발행자 단말(130), 에지서버(140), MQTT 구독자 단말(150) 간에 통신하기 위한 통로를 제공하는 네트워크에 상응할 수 있다.
또 한편, MQTT 터널링에 의해 MQTT 브로커(141)로 전달된 MQTT 메시지를 데이터베이스(145)로 연결하고 MQTT 메시지를 해석하는 것은 웹서버(143)에서 관할한다. 여기서, MQTT 메시지를 해석하는 것은 사전에 지정할 수 있으며, 이 해석에 따라 MQTT 구독자 단말(150)에서의 표시 및 기타 동작이 실행될 수 있다.
또한, MQTT 브로커(141)의 동작을 중단시키면, 데이터베이스(145)로의 파이프라인 기능만 남게 된다.
이하, 도 3을 참조하여, 본 발명에 따른 MQTT를 활용한 메시지 전달 방법을 살펴보고자 한다.
도 3에 도시된 바와 같이, 본 발명에 따른 MQTT를 활용한 메시지 전달 방법은 먼저, 복수개의 센서(110-1 ~ 110-n)가 복수의 IoT 장비에 각각 연결되어 데이터를 수집한다(S310).
이후, IoT 게이트웨이(120)가 상기 복수개의 센서(110-1 ~ 110-n)로부터 수집된 데이터를 전달받아 데이터 패킷을 생성한다(S320).
그 후, MQTT 발행자 단말(310)이 상기 생성된 데이터 패킷을 전달받아 MQTT 형태를 생성한다(S330).
이후, 에지서버(140)의 MQTT 브로커(141)가 상기 생성된 MQTT 형태를 전달받아 MQTT 브로커(141)에 연결된 웹서버(143)를 통해 데이터베이스(145)에 저장한다(S340).
그 후, MQTT 브로커(141)가 상기 생성된 MQTT 형태를 MQTT 구독자 단말(150)로 전달한다(S350).
여기서, S330 단계에서, MQTT 발행자 단말(310)의 MQTT 변환부(131)가 IoT 게이트웨이(120)에 의해 생성된 데이터 패킷을 전달받아 MQTT 형태로 변환한다. 여기서, MQTT 변환부(131)에 의해 변환된 MQTT 형태는 MQTT 토픽 및/또는 MQTT 메시지를 포함한다.
또한, S340 단계에서, IoT 게이트웨이(120)에 의해 형성된 데이터 패킷을 에지서버(140)의 웹서버(143)를 통해 데이터베이스(145)까지 MQTT 형태로 연결하는 구조인 MQTT 파이프라인을 통해 IoT 게이트웨이(120)에 의해 형성된 데이터 패킷을 MQTT 형태로 변환하여 MQTT 브로커(141)로 전송하는 방식인 MQTT 터널링으로 전송함으로써, 복수의 IoT 장비의 센서 정보를 해석하지 않고 그대로 MQTT 형태로 변환하여 데이터베이스(145)에 저장한다.
이하, 도 4를 참조하여, 본 발명에 따른 MQTT 발행자 단말의 동작을 살펴보고자 한다.
도 4에 도시된 바와 같이, 본 발명에 따른 MQTT 발행자 단말은 먼저, 프로파일(Profile)을 해석한다(S410). 여기서, 복수개의 센서(110-1 ~ 110-n)의 연결 정보(예를 들어, 센서의 종류, 속도 등과 같은 통신 규약) 및 변환 규칙(예를 들어, 패킷의 길이, 패킷의 종류)을 해석한다.
이후, IoT 게이트웨이(120)로부터 전송된 데이터 패킷을 획득한다(S420). 여기서, 복수개의 센서(110-1 ~ 110-n)와의 통신 연결을 설정하고 복수개의 센서(110-1 ~ 110-n)로부터 데이터를 획득하여 IoT 게이트웨이(120)가 데이터 패킷을 생성한다.
그 후, 획득된 데이터 패킷을 MQTT 변환부(131)를 이용하여 MQTT 형태로 변환한다(S430). 여기서, 생성된 데이터 패킷이 문자열로 변환된다.
이 후, 변환된 MQTT 형태로 MQTT 발행한다(S440). 여기서, 에지서버(140)의 MQTT 브로커(141)에 접속하여 발행된 MQTT를 전송한다. MQTT 형태는 MQTT 토픽 및/또는 MQTT 메시지를 포함하므로, MQTT 발행자 단말(130)은 MQTT 토픽 및/또는 MQTT 메시지를 MQTT 터널링으로 에지서버(140)의 MQTT 브로커(141)로 전달한다.
이하, 도 5를 참조하여, 본 발명에 따른 MQTT 브로커의 동작을 살펴보고자 한다.
도 5에 도시된 바와 같이, 본 발명에 따른 MQTT 브로커는 먼저 클라이언트의 접속을 대기한다(S510).
이후, 클라이언트가 접속하면 소켓을 할당한다(S520). 여기서, 클라이언트가 구독자이면 구독자 목록에 등재하되 구독 목록도 함께 등재해 두며, 클라이언트가 구독자이면 소켓의 버퍼를 확인하여 발행을 기다리며 대기한다.
그 후, 프로파일을 해석한다(S530). 여기서 호출 웹페이지를 확인하고 브로커 기능 작동 여부를 확인한다.
이후, MQTT 발행자 단말(130)로부터 MQTT 메시지를 받는다(S540). 여기서, 구독 목록에서 토픽에 해당하는 구독자가 존재하면 토픽과 메시지를 구독자에게 전송하며, 구독 목록에서 토픽에 해당하는 구독자가 존재하지 않으면, 대기상태로 돌아간다. 또한, 호출 웹페이지가 없는 경우엔 통상의 MQTT 브로커의 동작을 하며, 호출 웹페이지가 있으며 MQTT 브로커의 기능이 작동하는 경우엔 통상의 MQTT 브로커의 동작과 동일한 동작을 하면서 웹페이지를 호출하며, 호출 웹페이지가 있으나 MQTT 브로커의 기능이 작동하지 않는 경우엔 웹페이지를 호출하나, 호출한 웹페이지를 MQTT 발행자 단말(130)로 전달하지 않는다.
본 발명에 따른 MQTT를 활용한 메시지 전달 방법 중 MQTT 브로커의 웹페이지 호출 함수는 운용 화면으로 나타낸 도 6을 참조하며, 본 발명에 따른 MQTT를 활용한 메시지 전달 방법 중 MQTT 브로커의 웹페이지 호출 구현은 운용 화면으로 나타낸 도 7을 참조한다.
전술한 바와 같은 본 발명에 따른 MQTT를 활용한 메시지 전달 시스템 및 그 방법은 IoT 게이트웨이를 통해 받은 복수개의 센서의 정보를 그대로 MQTT 형태로 변환하여 MQTT 구독자 단말을 거치지 않고, 에지서버의 웹서버를 통해 데이터베이스로의 파이프라인을 연결할 수 있다. 또한, 웹페이지 호출 방식을 이용하여 데이터베이스의 종류, 웹서버의 종류를 한정하지 않고 연결할 수 있다.
이상과 같이 본 발명은 양호한 실시 예에 근거하여 설명하였지만, 이러한 실시 예는 본 발명을 제한하려는 것이 아니라 예시하려는 것이므로, 본 발명이 속하는 기술분야의 숙련자라면 본 발명의 기술사상을 벗어남이 없이 위 실시 예에 대한 다양한 변화나 변경 또는 조절이 가능할 것이다. 그러므로, 본 발명의 보호 범위는 본 발명의 기술적 사상의 요지에 속하는 변화 예나 변경 예 또는 조절 예를 모두 포함하는 것으로 해석되어야 할 것이다.
110: 센서 120: IoT 게이트웨이
130: MQTT 발행자 단말 131: MQTT 변환부
140: 에지서버 141: MQTT 브로커
143: 웹서버 145: 데이터베이스
150: MQTT 구독자 단말

Claims (10)

  1. 복수의 IoT 장비에 각각 연결되어 데이터를 수집하는 복수개의 센서;
    상기 복수개의 센서로부터 수집된 데이터를 전달받아 데이터 패킷을 생성하는 IoT 게이트웨이:
    상기 생성된 데이터 패킷을 전달받아 MQTT 형태로 생성하는 MQTT 발행자 단말; 및
    상기 생성된 MQTT 형태를 전달받는 MQTT 브로커, 상기 MQTT 브로커와 연결된 웹서버, 및 상기 웹서버와 연결된 데이터베이스로 구성된 에지서버를 포함하며,
    상기 MQTT 발행자 단말은 상기 IoT 게이트웨이에 의해 생성된 상기 데이터 패킷을 전달받아 MQTT 형태로 변환하는 MQTT 변환부를 포함하며,
    상기 MQTT 변환부는 상기 IoT 게이트웨이에 의해 형성된 상기 데이터 패킷을 MQTT 형태로 변환하며,
    상기 변환된 MQTT 형태는 상기 웹서버를 통해 상기 데이터베이스까지 연결된 구조를 통해, 상기 복수의 IoT 장비의 센서 정보가 해석되지 않은 채 MQTT 형태로 상기 데이터베이스에 저장되는 MQTT를 활용한 메시지 전달 시스템.
  2. 청구항 1에 있어서,
    상기 MQTT 변환부에 의해 변환된 MQTT 형태는 MQTT 토픽 및/또는 MQTT 메시지를 포함하며,
    상기 웹서버는 상기 MQTT 발행자 단말로부터 받은 MQTT 메시지를 파라미터로 하여 지정된 웹페이지를 호출하는 MQTT를 활용한 메시지 전달 시스템.
  3. 청구항 2에 있어서,
    상기 MQTT 발행자 단말은 상기 IoT 게이트웨이 구동 시 MQTT 브로커에 MQTT 발생 등록을 요청하는 MQTT를 활용한 메시지 전달 시스템.
  4. 청구항 3에 있어서,
    상기 MQTT 발행자 단말을 통한 MQTT 접속을 위한 클라이언트 ID는 IoT 장비의 MAC 어드레스를 이용하는 MQTT를 활용한 메시지 전달 시스템.
  5. 복수개의 센서가 복수의 IoT 장비에 각각 연결되어 데이터를 수집하는 단계;
    IoT 게이트웨이가 상기 복수개의 센서로부터 수집된 데이터를 전달받아 데이터 패킷을 생성하는 단계:
    MQTT 발행자 단말의 브로커가 상기 생성된 데이터 패킷을 전달받아 MQTT 변환부에 의해 MQTT 형태로 변환되는 단계: 및
    에지서버의 MQTT 브로커가 상기 변환된 MQTT 형태를 전달받아 MQTT 브로커에 연결된 웹서버를 통해 데이터베이스에 저장하는 단계를 포함하며,
    상기 에지서버의 MQTT 브로커가 상기 변환된 MQTT 형태를 전달받아 MQTT 브로커에 연결된 웹서버를 통해 데이터베이스에 저장하는 단계에서,
    상기 변환된 MQTT 형태는 상기 웹서버를 통해 상기 데이터베이스까지 연결된 구조를 통해, 상기 복수의 IoT 장비의 센서 정보가 해석되지 않은 채 MQTT 형태로 상기 데이터베이스에 저장되는 MQTT를 활용한 메시지 전달 방법.
  6. 청구항 5에 있어서,
    상기 MQTT 변환부에 의해 변환된 MQTT 형태는 MQTT 토픽 및 MQTT 메시지를 포함하는 MQTT를 활용한 메시지 전달 방법.
  7. 청구항 5에 있어서,
    상기 MQTT 발행자 단말은,
    프로파일(Profile)을 해석하는 단계;
    상기 IoT 게이트웨이로부터 전송된 데이터 패킷을 획득하는 단계;
    상기 획득된 데이터 패킷을 MQTT 변환부를 이용하여 MQTT 형태로 변환하는 단계; 및
    상기 변환된 MQTT 형태로 MQTT 발행하는 단계를 포함하는 MQTT를 활용한 메시지 전달 방법.
  8. 청구항 7에 있어서,
    상기 MQTT 브로커는,
    클라이언트의 접속을 대기하는 단계;
    상기 클라이언트가 접속하면 소켓을 할당하는 단계;
    프로파일을 해석하여 호출 웹페이지를 확인하고 브로커 기능 작동 여부를 확인하는 단계; 및
    상기 MQTT 발행자 단말로부터 MQTT 메시지를 받는 단계를 포함하는 MQTT를 활용한 메시지 전달 방법.
  9. 청구항 8에 있어서,
    상기 MQTT 발행자 단말로부터 MQTT 메시지를 받는 단계에서,
    구독 목록에서 토픽에 해당하는 구독자가 존재하면 토픽과 메시지를 구독자에게 전송하며, 구독 목록에서 토픽에 해당하는 구독자가 존재하지 않으면, 대기상태로 돌아가는 MQTT를 활용한 메시지 전달 방법.
  10. 청구항 9에 있어서,
    상기 MQTT 발행자 단말로부터 MQTT 메시지를 받는 단계에서,
    호출 웹페이지가 없는 경우엔 통상의 MQTT 브로커의 동작을 하며,
    상기 호출 웹페이지가 있으며 상기 MQTT 브로커의 기능이 작동하는 경우엔 통상의 MQTT 브로커의 동작와 동일한 동작을 하면서 웹페이지를 호출하며,
    상기 호출 웹페이지가 있으나 상기 MQTT 브로커의 기능이 작동하지 않는 경우엔 웹페이지를 호출하나, 호출한 웹페이지를 MQTT 발행자 단말로 전달하지 않는 MQTT를 활용한 메시지 전달 방법.
KR1020220086869A 2022-07-14 2022-07-14 Mqtt를 활용한 메시지 전달 시스템 및 그 방법 KR20240009677A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220086869A KR20240009677A (ko) 2022-07-14 2022-07-14 Mqtt를 활용한 메시지 전달 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220086869A KR20240009677A (ko) 2022-07-14 2022-07-14 Mqtt를 활용한 메시지 전달 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20240009677A true KR20240009677A (ko) 2024-01-23

Family

ID=89713648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220086869A KR20240009677A (ko) 2022-07-14 2022-07-14 Mqtt를 활용한 메시지 전달 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20240009677A (ko)

Similar Documents

Publication Publication Date Title
Glaroudis et al. Survey, comparison and research challenges of IoT application protocols for smart farming
CN101986648B (zh) 一种tcp选项的协商方法、装置及网络设备
CN100531229C (zh) 通用外部代理
CN108810086A (zh) 一种基于mqtt消息协议的智能设备通讯平台
CN107948324B (zh) 请求传输系统、方法、装置及存储介质
US20090303921A1 (en) Low cost mesh network capability
CN104052759A (zh) 一种物联网即加即用技术的实现系统
CN102810069A (zh) 一种java对象的请求和响应方法、装置、系统和终端
CN105429858A (zh) 一种多机器人间实时消息传递方法
CN109327513B (zh) 交互方法、装置及计算机可读存储介质
CN108200158B (zh) 请求传输系统、方法、装置及存储介质
CN102546319A (zh) 物联网终端互通的方法及系统
EP2560337A1 (en) Method and system for realizing wireless usb flash disk
CN106027534A (zh) 一种基于Netty实现金融报文处理系统
Hoebeke et al. A cloud-based virtual network operator for managing multimodal LPWA networks and devices
CN101567861A (zh) 异构应用系统之间的数据同步方法及应用系统
CN103152370A (zh) 一种物联网业务网关系统及应用方法
CN102932269A (zh) 负载均衡的实现方法和装置
CN105323128A (zh) 前端设备接入服务器的方法、装置及系统
KR20240009677A (ko) Mqtt를 활용한 메시지 전달 시스템 및 그 방법
CN101426178B (zh) 基于伪码的号码处理方法和系统
Garg et al. A review on Internet of Things: communication protocols, wireless technologies, and applications
CN101695169B (zh) 运营支持系统数据的远端维护方法及系统、远端开户代理
Al-Madani et al. Performance enhancement of limited-bandwidth industrial control systems
CN103581843A (zh) 一种个人信息传递方法和系统