KR20230114082A - IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER - Google Patents
IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER Download PDFInfo
- Publication number
- KR20230114082A KR20230114082A KR1020220010188A KR20220010188A KR20230114082A KR 20230114082 A KR20230114082 A KR 20230114082A KR 1020220010188 A KR1020220010188 A KR 1020220010188A KR 20220010188 A KR20220010188 A KR 20220010188A KR 20230114082 A KR20230114082 A KR 20230114082A
- Authority
- KR
- South Korea
- Prior art keywords
- iot
- smart gateway
- user application
- smart
- application device
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000004891 communication Methods 0.000 claims abstract description 58
- 230000006854 communication Effects 0.000 claims abstract description 57
- 230000005856 abnormality Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
본 발명은 IoT(internet of things) 분야에 관한 것이다. 보다 구체적으로, 본 발명은 IoT 디바이스, 사용자 응용 기기 및 스마트 게이트웨이의 인터페이스를 위한 통신 방법을 포함한 IoT 엔진 알고리즘 및 소프트웨어에 관한 것이다.The present invention relates to the field of Internet of Things (IoT). More specifically, the present invention relates to an IoT engine algorithm and software including a communication method for an interface of an IoT device, a user application device, and a smart gateway.
IoT(사물 인터넷)는 4차 산업 혁명의 핵심 기술 중 하나로서, 지능형 스마트 디바이스를 기반으로 우리의 삶의 질을 향상시킬 것으로 예상되는 새로운 컴퓨팅 패러다임이다.IoT (Internet of Things) is one of the core technologies of the 4th Industrial Revolution, a new computing paradigm that is expected to improve the quality of our lives based on intelligent smart devices.
IoT 기술은 스마트 홈을 비롯하여, 스마트 팜, 스마트 시티, 스마트 팩토리, 스마트 플러그, 스마트 파워 및 스마트 디스플레이 등 수많은 산업 분야에 적용될 수 있다.IoT technology can be applied to numerous industrial fields, including smart homes, smart farms, smart cities, smart factories, smart plugs, smart power, and smart displays.
IoT 시스템을 구축하기 위해서는 외부의 사용자 응용기기와 내부의 IoT 디바이스들을 인터넷 상으로 연결하기 위한 게이트웨이가 존재하여야 하는데, 기존에는 대부분 마이컴의 H/W 기반의 TCP 소켓 방식의 기술로서 IoT 시스템을 개발하는데 시간 및 비용 측면에서 단점이 있었다.In order to build an IoT system, a gateway must exist to connect external user application devices and internal IoT devices over the Internet. There were downsides in terms of time and cost.
최근 IoT 플렛폼의 하나로 라즈베리파이 및 오렌지파이 등 32비트의 고사양, 저가의 임베디드 플랫폼이 출시되었고, 그러한 임베디드 IoT 플랫폼에 대해 IoT 엔진 알고리즘 및 소프트웨어를 개발하여 보다 빠르고 쉽고 저렴하게 다양한 IoT 시스템을 구현할 수 있게 될 것으로 기대되고 있다.Recently, 32-bit high-end, low-cost embedded platforms such as Raspberry Pi and Orange Pi have been released as one of the IoT platforms, and IoT engine algorithms and software have been developed for such embedded IoT platforms so that various IoT systems can be implemented faster, easier, and cheaper. is expected to be
본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 사용자 응용기기(Applicalion)와 IoT 디바이들을 연결하는 일반적인 게이트웨이를 운영하는데 있어, 많은 비용이 소요되는 외부 서버를 사용하는 대신 각각의 사용자가 이용하는 게이트웨이에 직접 로컬 서버(Local Server)를 실장하여 분산형 방식으로 데이터를 처리하는 것을 기술적 과제로 한다. The IoT engine algorithm and software for a local server-linked smart gateway according to an embodiment of the present invention operate a general gateway that connects user applications and IoT devices, eliminating costly external servers. Instead of using it, the technical task is to process data in a distributed manner by directly mounting a local server on the gateway used by each user.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 스마트 게이트웨이 내부에 로컬 서버(Local Server)를 운영하고, 해당 로컬 서버의 Public IP를 찾아가기 위한 기존 방식인 DDNS(Dynamic DNS) 방식의 불편함을 해결하는 것을 기술적 과제로 한다.In addition, the IoT engine algorithm and software for the smart gateway of the local server interlocking method according to an embodiment of the present invention operates a local server inside the smart gateway and uses existing data to find the public IP of the local server. It is a technical task to solve the inconvenience of the DDNS (Dynamic DNS) method.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기존의 불안정한 네트워크 통신 기술인 TCP Socket 방식을 지양하고, 새로운 통신 방식의 기술 구현을 하는 것을 기술적 과제로 한다.In addition, the IoT engine algorithm and software for the smart gateway of the local server interworking method according to an embodiment of the present invention avoids the TCP Socket method, which is an existing unstable network communication technology, and implements a new communication method as a technical task. do.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기술 개발에 많은 기간이 소요되고 기술적 한계를 가진 기존의 펌웨어 방식에서 벗어나 보다 효율적인 IoT 엔진을 제공하는 것을 기술적 과제로 한다.In addition, the IoT engine algorithm and software for the smart gateway of the local server interlocking method according to an embodiment of the present invention takes a long time to develop and provides a more efficient IoT engine out of the existing firmware method having technical limitations. make it a technical challenge.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 IoT 디바이스의 정보를 연결 관리하는 스마트 게이트웨이의 정상적인 동작 상태를 모니터링하여 장애가 발생하였을 경우 사용자 응용기기에 실시간으로 알려주는 것을 기술적 과제로 한다.In addition, the IoT engine algorithm and software for the smart gateway of the local server interlocking method according to an embodiment of the present invention monitors the normal operating state of the smart gateway that connects and manages the information of the IoT device to the user application device when a failure occurs. It is a technical challenge to inform in real time.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 IoT 디바이스의 정보를 사용자 응용기기와 유무선 통신 방식으로 중개하는 것을 기술적 과제로 한다.In addition, an IoT engine algorithm and software for a smart gateway of a local server interworking method according to an embodiment of the present invention makes it a technical task to mediate information of an IoT device with a user application device in a wired/wireless communication method.
본 발명의 일 실시예에 따른 IoT 시스템은, 사용자 응용기기(Applicalion)와 IoT 디바이스들을 연결하는 스마트 게이트웨이; 및 스마트 게이트웨이 내부에서 운영되는 로컬 서버(Local Server)의 공인 아이피(Public IP)를 찾아가기 위하여 Public IP 주소 정보를 저장하고 제공해주는 인증 서버; 및 IoT 프로그램이 시작되면 1차적으로 상기 인증 서버에 접속하여 로그인 프로그램을 실행하고, 로그인 단계에서 사용자의 인증 상태가 확인되면 상기 스마트 게이트웨이의 Public IP 등의 주소 정보를 상기 인증 서버로부터 전송받아 2차적으로 스마트 게이트웨이의 로컬 서버로 접속하는 사용자 응용기기를 포함할 수 있다. An IoT system according to an embodiment of the present invention includes a smart gateway connecting a user application and IoT devices; And an authentication server that stores and provides public IP address information to find the public IP of the local server operated inside the smart gateway. And when the IoT program starts, it first connects to the authentication server and executes the login program, and when the user's authentication status is confirmed in the login step, address information such as the public IP of the smart gateway is transmitted from the authentication server and secondarily It can include user application devices that connect to the local server of the smart gateway.
상기 스마트 게이트웨이가 동작되면 IoT 엔진에서 스마트 게이트웨이의 Public IP, Local IP, Mac Address등의 정보를 식별하고, 사용자 아이디와 상기 식별된 정보를 인증 서버에 전송하면, 인증 서버는 전송받은 데이터를 데이터베이스에 저장할 수 있다. When the smart gateway is operated, the IoT engine identifies information such as the public IP, local IP, and Mac address of the smart gateway, and transmits the user ID and the identified information to the authentication server, and the authentication server stores the transmitted data in the database. can be saved
사용자 응용기기에서 스마트 게이트웨이의 정상적인 동작 상태를 모니터링하기 위하여, 스마트 게이트웨이의 IoT 엔진에서 일정한 시간 간격으로 주기적으로 Keep Alive 정보를 인증 서버로 전송하며, 스마트 게이트웨이에 장애가 발생하여 전송이 중단되면 이상이 발생된 것으로 판단되어 해당 스마트폰 등 사용자 응용기기에서 이상 상태가 화면에 표시될 수 있다.In order to monitor the normal operating state of the smart gateway in the user application device, the IoT engine of the smart gateway periodically transmits keep alive information to the authentication server at regular intervals. It is determined that it has been detected, and an abnormal state may be displayed on the screen in the user application device such as the corresponding smartphone.
상기 IoT 디바이스에서 이벤트가 발생되면 사용자 응용기기의 하이브리드 앱 프로그램에서는 상기 스마트 게이트웨이의 IoT 엔진의 웹 소켓 처리 소프트웨어를 통해 상기 사용자 응용기기에 푸시 방식으로 이벤트가 전송하고, 상기 이벤트는 사용자 응용기기 화면에 팝업 알람으로 표시되며, When an event occurs in the IoT device, the hybrid app program of the user application device transmits the event to the user application device in a push method through the web socket processing software of the IoT engine of the smart gateway, and the event is displayed on the screen of the user application device. displayed as a pop-up alarm,
네이티브 앱 프로그램에서는 상기 스마트 게이트웨이의 IoT 엔진에서 MQTT Publisher를 통해 상기 사용자 응용기기에 푸시 방식으로 데이터가 전송되면 사용자 응용 기기는 화면에서 이벤트 정보를 팝업 알림으로 표시하고, 필요에 따라 알림 사운드를 발생시킬 수 있다.In the native app program, when data is transmitted in a push method from the IoT engine of the smart gateway to the user application device through the MQTT Publisher, the user application device displays event information as a pop-up notification on the screen and generates a notification sound as needed. can
상기 IoT 디바이스는 스마트 게이트웨이와 유무선으로 연결되어 IoT 정보를 교환하는데, 지그비, 블루투스, 와이파이, 400MHz 대역의 무선 통신 등의 방식으로 화재 발생 알림 센서, 출입문 개폐 센서, 온습도 센서 등은 데이터를 스마트 게이트웨이로 전송하고, 유선으로는 USB 방식으로 IoT 센서 및 엑추에이터를 포함하는 스마트 박스로 연결되어 IoT 데이터를 전송하거나 제어할 수 있다.The IoT device is wired and wirelessly connected to the smart gateway to exchange IoT information. A fire alarm sensor, door open/close sensor, temperature/humidity sensor, etc. transmits data to the smart gateway through ZigBee, Bluetooth, Wi-Fi, and wireless communication in the 400 MHz band. and is connected to a smart box including an IoT sensor and an actuator via a wired USB method to transmit or control IoT data.
또한 스마트 게이트웨이는 RESTful API 방식으로 인터페이스하여 다른 시스템과 쉽게 연동을 할 수 있다. In addition, the smart gateway interfaces with a RESTful API method, so it can be easily linked with other systems.
본 발명의 일 실시예에 따른 IoT 시스템은,The IoT system according to an embodiment of the present invention,
IoT 디바이스들과 연결되어 IoT 디바이스 관련 데이터를 획득하는 스마트 게이트웨이; 상기 스마트 게이트웨이로부터 상기 스마트 게이트웨이의 식별 정보 및 IP 주소를 수신하는 인증 서버; 및 상기 인증 서버에 1차적으로 접속하여 상기 스마트 게이트웨이의 IP 주소를 수신하고, 상기 수신된 IP 주소에 따라 상기 스마트 게이트웨이에 2차적으로 접속하여 상기 IoT 디바이스 관련 데이터를 수신하여 화면에 표시하는 사용자 응용기기를 포함할 수 있다.A smart gateway connected to IoT devices to obtain IoT device-related data; an authentication server receiving identification information and an IP address of the smart gateway from the smart gateway; And a user application that first accesses the authentication server to receive the IP address of the smart gateway, and secondarily accesses the smart gateway according to the received IP address to receive the IoT device-related data and display it on the screen. device may be included.
상기 인증 서버는, 상기 사용자 응용기기로부터 사용자 응용기기의 식별 정보를 수신하고, 상기 사용자 응용기기의 식별 정보에 매핑된 식별 정보를 갖는 스마트 게이트웨이의 IP 주소를 상기 사용자 응용기기로 전송할 수 있다.The authentication server may receive identification information of the user application device from the user application device, and transmit an IP address of a smart gateway having identification information mapped to the identification information of the user application device to the user application device.
상기 인증 서버는, 기 등록된 스마트 게이트웨이들의 식별 정보 리스트를 저장하며, 상기 식별 정보 리스트와 적어도 하나의 스마트 게이트웨이로부터 수신된 식별 정보를 비교하여, 식별 정보를 전송하지 않는 스마트 게이트웨이의 상태에 이상이 발생한 것으로 판단할 수 있다.The authentication server stores an identification information list of pre-registered smart gateways, compares the identification information list with identification information received from at least one smart gateway, and has an abnormality in the state of a smart gateway not transmitting identification information. can be judged to have occurred.
상기 스마트 게이트웨이의 IP 주소는, 유동 IP 주소를 포함하되, 상기 스마트 게이트웨이는, 상기 식별 정보 및 IP 주소를 주기적으로 상기 인증 서버로 전송할 수 있다.The IP address of the smart gateway includes a dynamic IP address, and the smart gateway may periodically transmit the identification information and the IP address to the authentication server.
상기 사용자 응용기기는, 기 저장된 상기 인증 서버의 IP 주소에 따라 상기 인증 서버에 1차적으로 접속할 수 있다.The user application device may primarily access the authentication server according to the pre-stored IP address of the authentication server.
상기 IoT 디바이스 관련 데이터는, CCTV 영상 데이터, 화재 발생 알림 데이터, 출입문 개폐 알림 데이터, 전화 수신 알림 데이터 및 무단 침입 알림 데이터 중 적어도 하나를 포함할 수 있다.The data related to the IoT device may include at least one of CCTV image data, fire alarm data, door opening/closing notification data, call reception notification data, and trespass notification data.
본 발명의 다른 실시예에 따른 스마트 게이트웨이는,A smart gateway according to another embodiment of the present invention,
상위 단말과 HTTP 프로토콜로 연결되는 제 1 웹 서버; 상기 상위 단말과 상기 제 1 웹 서버를 양방향으로 연결시키는 인터페이스를 구동시키는 웹 소켓; 상기 상위 단말과 MQTT 프로토콜로 연결되는 MQTT 모듈; 및 하위 단말로부터 수신되는 이벤트 데이터에 기초하여, 상기 웹 소켓과 상기 MQTT 모듈 각각을 통해 상기 상위 단말로 푸시 메시지를 전송하는 중앙 제어 모듈을 포함할 수 있다.A first web server connected to the upper terminal through the HTTP protocol; a web socket for driving an interface bidirectionally connecting the upper terminal and the first web server; an MQTT module connected to the upper terminal through an MQTT protocol; and a central control module transmitting a push message to the upper terminal through the web socket and the MQTT module, respectively, based on event data received from the lower terminal.
상기 웹 소켓을 통해 상기 상위 단말로 전송되는 푸시 메시지는, 상기 상위 단말의 웹 어플리케이션을 통해 수신되어 화면에 표시되며, 상기 MQTT 모듈을 통해 상기 상위 단말로 전송되는 푸시 메시지는, 상기 상위 단말의 네이티브 어플리케이션을 통해 수신되어 화면에 표시될 수 있다.A push message transmitted to the upper terminal through the web socket is received through a web application of the upper terminal and displayed on the screen, and a push message transmitted to the upper terminal through the MQTT module is a native of the upper terminal. It can be received through the application and displayed on the screen.
상기 웹 서버는, 상기 상위 단말로부터 상기 하위 단말을 위한 제어 요청 데이터을 수신하고, 상기 중앙 제어 모듈은, 상기 MQTT 모듈을 통해 상기 하위 단말로 제어 명령 데이터를 전달할 수 있다.The web server may receive control request data for the lower terminal from the upper terminal, and the central control module may transmit control command data to the lower terminal through the MQTT module.
상기 중앙 제어 모듈은, 하위 단말로부터 수신되는 이벤트 데이터에 기초하여 제어 명령 데이터를 생성하고, 상기 생성된 제어 명령 데이터를 상기 MQTT 모듈을 통해 다른 하위 단말로 전송할 수 있다.The central control module may generate control command data based on event data received from a lower terminal and transmit the generated control command data to another lower terminal through the MQTT module.
상기 상위 단말은 복수 개이되, 상기 제 1 웹 서버는 어느 하나의 상위 단말로부터 다른 상위 단말을 위한 이벤트 데이터를 수신하고, 상기 중앙 제어 모듈은 상기 어느 하나의 상위 단말로부터 수신되는 이벤트 데이터에 기초하여, 상기 웹 소켓과 상기 MQTT 모듈 각각을 통해 상기 다른 상위 단말로 푸시 메시지를 전송할 수 있다.The upper terminal is plural, and the first web server receives event data for another upper terminal from one upper terminal, and the central control module controls the event data received from the upper terminal based on the event data received from the upper terminal. , A push message may be transmitted to the other upper terminal through the web socket and the MQTT module, respectively.
상기 스마트 게이트웨이는, 상기 하위 단말과 HTTP 프로토콜로 연결되는 제 2 웹 서버를 더 포함하되, 상기 제 2 웹 서버는 상기 하위 단말로부터 상기 이벤트 데이터를 수신할 수 있다.The smart gateway may further include a second web server connected to the lower terminal through an HTTP protocol, and the second web server may receive the event data from the lower terminal.
상기 스마트 게이트웨이는, 상기 하위 장비와의 근거리 통신을 위한 근거리 통신 모듈을 더 포함하되, 상기 근거리 통신 모듈은 상기 하위 장비로부터 근거리 통신 방식을 통해 상기 이벤트 데이터를 수신할 수 있다.The smart gateway may further include a short-range communication module for short-range communication with the lower-level device, and the short-range communication module may receive the event data from the lower-level device through a short-range communication method.
본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 IoT 디바이스, 사용자 응용기기 및 스마트 게이트웨이의 인터페이스를 위한 통신 방법을 포함한 IoT 엔진 알고리즘 및 소프트웨어를 제안함으로써, 스마트 팜, 스마트 시티, 스마트 팩토리, 스마트 플러그, 스마트 파워 및 스마트 디스플레이 등 수많은 IoT 산업 분야에 기반 기술로 적용될 수 있도록 하여 시장이 요구하는 IoT 제품과 서비스를 효과적으로 제공할 수 있다. IoT engine algorithm and software for smart gateway of local server interworking method according to an embodiment of the present invention proposes IoT engine algorithm and software including communication method for interface of IoT device, user application device and smart gateway, It can be applied as a base technology to numerous IoT industrial fields such as farms, smart cities, smart factories, smart plugs, smart power and smart displays to effectively provide IoT products and services required by the market.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기존의 DDNS 방식을 개선하여, 새로운 방식의 스마트 게이트웨이의 Public IP 주소를 찾아 갈 수 있도록 인증 서버 방식을 개발함으로써 종래보다 쉽게 로컬 서버와 접속할 수 있으므로 효과적인 IoT 플렛폼을 구축할 수 있다. In addition, the IoT engine algorithm and software for the smart gateway of the local server interworking method according to an embodiment of the present invention improves the existing DDNS method and uses the authentication server method to find the public IP address of the new smart gateway. By developing, it is possible to build an effective IoT platform because it is easier to connect to a local server than before.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 스마트 게이트웨이에서 주기적으로 Keep Alive 정보를 인증 서버에 전송하여 사용자 응용기기에서 모니터링을 가능케하여 신뢰성이 높은 IoT 시스템을 제공할 수 있다.In addition, the IoT engine algorithm and software for the local server-linked smart gateway according to an embodiment of the present invention periodically transmits Keep Alive information to the authentication server from the smart gateway to enable monitoring by the user application device, thereby providing high reliability. IoT system can be provided.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기존의 TCP Socket 방식의 자체적 통신 방식에서 벗어나 웹 소켓 및 MQTT 방식의 Push 이벤트를 전송하여 효과적인 알림 서비스가 가능하다.In addition, the IoT engine algorithm and software for the smart gateway of the local server interlocking method according to an embodiment of the present invention deviate from the existing TCP Socket method of self-communication method and transmit the push event of the web socket and MQTT method to provide an effective notification service. is possible
다만, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be achieved by the IoT engine algorithm and software for the smart gateway of the local server interworking method according to an embodiment of the present invention are not limited to those mentioned above, and other effects not mentioned are as follows From the description, it will be clear to those skilled in the art to which the present invention belongs.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 IoT 시스템을 설명하기 위한 도면이다.
도 2는 스마트 게이트웨이, 인증 서버 및 사용자 응용기기의 동작을 설명하기 위한 도면이다.
도 3은 인증 서버에 저장되는 데이터를 도시하는 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 스마트 게이트웨이, 상위 단말 및 하위 단말을 도시하는 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 스마트 게이트웨이의 구성을 설명하기 위한 도면이다.
도 6은 하위 단말의 이벤트 데이터에 따라 상위 단말로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.
도 7은 어느 하나의 상위 단말의 이벤트 데이터에 따라 다른 하나의 상위 단말로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.
도 8은 상위 단말의 제어 요청 데이터에 따라 하위 단말로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.
도 9는 어느 하나의 하위 단말의 이벤트 데이터에 따라 다른 하나의 하위 단말로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.
도 10 내지 도 12는 본 발명의 일 실시예에 따른 스마트 게이트웨이의 소프트웨어 블록을 나타내는 예시적인 도면이다.In order to more fully understand the drawings cited herein, a brief description of each drawing is provided.
1 is a diagram for explaining an IoT system according to an embodiment of the present invention.
2 is a diagram for explaining the operation of a smart gateway, an authentication server, and a user application device.
3 is an exemplary diagram illustrating data stored in an authentication server.
4 is an exemplary diagram illustrating a smart gateway, an upper terminal, and a lower terminal according to an embodiment of the present invention.
5 is a diagram for explaining the configuration of a smart gateway according to an embodiment of the present invention.
6 is a diagram for explaining a process of transmitting a push message to an upper terminal according to event data of a lower terminal.
7 is a diagram for explaining a process of transmitting a push message to another upper terminal according to event data of one upper terminal.
8 is a diagram for explaining a process of transmitting control command data to a lower terminal according to control request data from an upper terminal.
9 is a diagram for explaining a process of transmitting control command data to another lower level terminal according to event data of one lower level terminal.
10 to 12 are exemplary diagrams illustrating software blocks of a smart gateway according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명은 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail through detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood that the present invention includes all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, numbers (eg, 1st, 2nd, etc.) used in the description process of this specification are only identifiers for distinguishing one component from another component.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in this specification, when one component is referred to as “connected” or “connected” to another component, the one component may be directly connected or directly connected to the other component, but in particular Unless otherwise described, it should be understood that they may be connected or connected via another component in the middle.
또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, in the present specification, components expressed as '~ unit (unit)', 'module', etc. are two or more components combined into one component, or one component is divided into two or more components for each more subdivided function. may be differentiated into In addition, each of the components to be described below may additionally perform some or all of the functions of other components in addition to its own main function, and some of the main functions of each component may be different from other components. Of course, it may be performed exclusively by a component.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.Hereinafter, embodiments according to the technical idea of the present invention will be described in detail in turn.
도 1은 본 발명의 일 실시예에 따른 IoT 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining an IoT system according to an embodiment of the present invention.
도 1을 참조하면, 스마트 게이트웨이(100)는 내부 네트워크를 통해 여러 IoT 디바이스(10)들과 연결된다. 스마트 게이트웨이(100)는 스마트 홈에서의 로컬(local) 서버로 동작할 수 있다. 스마트 게이트웨이(100)는 IoT 디바이스(10)들, 예를 들어, 엑추에이터의 동작을 제어할 수 있다.Referring to FIG. 1 , a smart gateway 100 is connected to several IoT devices 10 through an internal network. The smart gateway 100 may operate as a local server in a smart home. The smart gateway 100 may control the operation of IoT devices 10, for example, actuators.
상기 내부 네트워크는 LAN(local area network)으로서, 스마트 게이트웨이(100)와 여러 IoT 디바이스(10)들은 지그비(Zigbee) 통신, 블루투스 통신, RF443MHz 통신, RF447MHz 통신, Wifi 통신, RFID(radio frequency identification) 통신, 이더넷 통신, USB 통신, 시리얼 통신 등을 통해 서로 간에 통신을 할 수 있다. 스마트 게이트웨이(100)와 IoT 디바이스(10)들 간의 통신 방법은 상기 예시된 방법에 한정되지 않으며, 당업계에 자명한 범위 내에서 다양한 통신 방법이 이용될 수 있다.The internal network is a LAN (local area network), and the smart gateway 100 and several IoT devices 10 are Zigbee communication, Bluetooth communication, RF443MHz communication, RF447MHz communication, Wifi communication, RFID (radio frequency identification) communication. , Ethernet communication, USB communication, serial communication, etc. can be used to communicate with each other. The communication method between the smart gateway 100 and the IoT devices 10 is not limited to the above-exemplified method, and various communication methods may be used within a range obvious to those skilled in the art.
IoT 디바이스(10)들은, 예를 들어, 센서와 엑추에이터를 포함할 수 있으며, IoT 디바이스(10)들은 스마트 게이트웨이(100)와 유선 또는 무선 통신으로 연결될 수 있다. The IoT devices 10 may include, for example, sensors and actuators, and the IoT devices 10 may be connected to the smart gateway 100 through wired or wireless communication.
IoT 디바이스(10)들은 예를 들어, CCTV(10a), 연기 감지 센서(10b), 움직임 감지 센서(10c), 도어 개폐 감지 센서(10d) 및 인터넷 전화(10e)를 포함할 수 있으나 이에 한정되는 것은 아니다. IoT 디바이스(10)들 각각은 자신과 관련된 데이터, 예를 들어, 상태 데이터, 센싱 데이터 등을 스마트 게이트웨이(100)로 전송하여 스마트 게이트웨이(100)를 통해 사용자 응용기기(300)로 해당 데이터가 전송되도록 할 수 있다.The IoT devices 10 may include, for example, a CCTV 10a, a smoke detection sensor 10b, a motion detection sensor 10c, a door opening/closing detection sensor 10d, and an Internet phone 10e, but are limited thereto. It is not. Each of the IoT devices 10 transmits data related to itself, for example, state data, sensing data, etc., to the smart gateway 100, and the corresponding data is transmitted to the user application device 300 through the smart gateway 100. can be made
스마트 게이트웨이(100), 인증 서버(200) 및 사용자 응용기기(300)는 외부 네트워크를 통해 서로 연결될 수 있으며, 상기 외부 네트워크는 WAN(wide area network)으로서, 예를 들어, 인터넷을 포함할 수 있다.The smart gateway 100, the authentication server 200, and the user application device 300 may be connected to each other through an external network, and the external network may include the Internet as a wide area network (WAN). .
사용자 응용기기(300)는 스마트 게이트웨이(100)에 접속하여 IoT 디바이스 관련 데이터를 수신 및 화면에 표시한다. 도 1은 사용자 응용기기(300)로서 스마트폰을 도시하고 있지만, 이는 하나의 예시일 뿐이며, 사용자 응용기기(300)는 스마트폰 뿐만 아니라, 스마트 게이트웨이(100)에 접속하여 데이터를 수신할 수 있는 다양한 기기, 예를 들어, 데스크탑 PC, 태블릿 PC, 웨어러블 기기, 노트북 등을 포함할 수 있다. 또한, 도 1은 하나의 사용자 응용기기(300)만을 도시하고 있는데, 사용자 응용기기(300)의 개수는 복수일 수도 있다.The user application device 300 accesses the smart gateway 100 to receive IoT device-related data and display it on the screen. 1 shows a smartphone as the user application device 300, but this is only one example, and the user application device 300 can connect to the smart gateway 100 and receive data as well as the smartphone. It may include various devices, for example, a desktop PC, a tablet PC, a wearable device, a laptop computer, and the like. Also, although FIG. 1 shows only one user application device 300, the number of user application devices 300 may be plural.
사용자 응용기기(300)에는 스마트 게이트웨이(100)에 접속하여 관련 데이터를 수신할 수 있는 어플리케이션이 설치될 수 있다. 사용자 응용기기(300)는 인증 서버(200)에 접속하여 어플리케이션을 다운로드하고 설치할 수 있다.An application capable of receiving related data by accessing the smart gateway 100 may be installed in the user application device 300 . The user application device 300 may connect to the authentication server 200 to download and install an application.
IoT 디바이스(10)들은 사용자 응용기기(300)에 대해 하위 기기로 동작하고, 반대로 사용자 응용기기(300)는 IoT 디바이스(10)들에 대해 상위 기기로 동작하는데, 이들 사이의 통신에 대해서는 도 4 이하를 참조하여 후술한다.The IoT devices 10 operate as lower-order devices for the user application device 300, and the user application device 300 operates as a higher-order device for the IoT devices 10, and communication between them is shown in FIG. It will be described later with reference to the following.
인증 서버(200)는 스마트 게이트웨이(100)에 대한 사용자 응용기기(300)의 접속을 중개한다. 사용자 응용기기(300)는 로컬 서버로 동작하는 스마트 게이트웨이(100)에 접속하기 위한 publicIP 주소를 모르는 상태이므로, 인증 서버(200)를 통해 스마트 게이트웨이(100)의 publicIP 주소를 획득할 수 있다. 사용자 응용기기(300)는 인증 서버(200)로부터 획득한 스마트 게이트웨이(100)의 publicIP 주소에 따라 스마트 게이트웨이(100)에 접속하여 IoT 디바이스 관련 데이터를 수신 및 화면에 표시할 수 있다.The authentication server 200 mediates the access of the user application device 300 to the smart gateway 100 . Since the user application device 300 does not know the publicIP address for accessing the smart gateway 100 operating as a local server, it can obtain the publicIP address of the smart gateway 100 through the authentication server 200. The user application device 300 may access the smart gateway 100 according to the publicIP address of the smart gateway 100 obtained from the authentication server 200 to receive IoT device-related data and display the data on the screen.
이하에서는, 도 2를 참조하여, 스마트 게이트웨이(100), 인증 서버(200) 및 사용자 응용기기(300)의 동작에 대해 상세히 설명한다.Hereinafter, with reference to FIG. 2 , operations of the smart gateway 100 , the authentication server 200 and the user application device 300 will be described in detail.
도 2는 스마트 게이트웨이(100), 인증 서버(200) 및 사용자 응용기기(300)의 동작을 설명하기 위한 도면이다.2 is a diagram for explaining the operation of the smart gateway 100, the authentication server 200, and the user application device 300.
S210 단계에서, 스마트 게이트웨이(100)는 IoT 디바이스 관련 데이터를 획득한다. IoT 디바이스(10)들 각각은 내부 네트워크를 통해 자신의 상태 데이터, 센싱 데이터 등의 IoT 디바이스 관련 데이터를 스마트 게이트웨이(100)로 전송할 수 있다. In step S210, the smart gateway 100 obtains IoT device-related data. Each of the IoT devices 10 may transmit data related to the IoT device, such as its state data and sensing data, to the smart gateway 100 through an internal network.
본 발명의 일 실시예에서 상기 IoT 디바이스 관련 데이터는, IoT 디바이스(10)의 상태 데이터(예를 들어, 배터리 상태 정보, 고장 발생 여부 정보 등), CCTV 영상 데이터, 화재 발생 알림 데이터, 출입문 개폐 알림 데이터, 전화 수신 알림 데이터 및 무단 침입 알림 데이터 중 적어도 하나를 포함할 수 있다.In one embodiment of the present invention, the IoT device-related data includes state data of the IoT device 10 (eg, battery state information, failure information, etc.), CCTV image data, fire notification data, door opening and closing notification It may include at least one of data, call reception notification data, and trespass notification data.
또한, 상기 S210 단계에서, 스마트 게이트웨이(100)는 로컬 서버 정보 식별 단계로서, 자신의 사용자 아이디(User ID), 공인 아이피(Public IP), Local IP 및 Mac 주소 등을 확인할 수 있다.In addition, in step S210, the smart gateway 100 can check its own user ID, public IP, local IP, and Mac address as a step of identifying local server information.
S220 단계에서, 스마트 게이트웨이(100)는 외부 네트워크를 통해 인증 서버(200)로 자신의 식별 정보 및 IP 주소를 전송한다. 스마트 게이트웨이(100)의 식별 정보는 예를 들어, MAC 주소를 포함할 수 있으며, IP 주소는 공인 IP 주소를 포함할 수 있다. In step S220, the smart gateway 100 transmits its own identification information and IP address to the authentication server 200 through an external network. Identification information of the smart gateway 100 may include, for example, a MAC address, and an IP address may include a public IP address.
일 실시예에서, 스마트 게이트웨이(100)는 자신에게 접속 가능한 단말(예를 들어, 사용자 응용기기(300))의 식별 정보를 인증 서버(200)로 더 전송할 수도 있다.In one embodiment, the smart gateway 100 may further transmit identification information of a terminal accessible to it (eg, the user application device 300) to the authentication server 200.
구현예에 따라, 상기 S220 단계에서, 스마트 게이트웨이(100)는 자신의 사용자 아이디(User ID), 공인 아이피(Public IP), Local IP 및 Mac 주소 등을 인증 서버(200)에 인터넷을 통하여 주기적으로 전송할 수 있고, 인증 서버(200)는 수신된 정보를 DB(DataBase)에 저장할 수 있다. 스마트 게이트웨이(100)가 주기적으로 정보를 전송하는 목적은 후술하는 바와 같이, 사용자 응용기기(300)에서 로컬 서버의 아이피를 찾을 수 있게 하기 위함이며, 일정한 시간 간격으로 Keep Alive 정보를 전송하여 스마트 게이트웨이(100)의 정상적인 동작 상태를 사용자 응용기기(300)가 확인할 수 있게 하기 위함이다.Depending on the embodiment, in the step S220, the smart gateway 100 periodically provides its user ID, public IP, local IP, and Mac address to the authentication server 200 via the Internet. It can be transmitted, and the authentication server 200 can store the received information in a DB (DataBase). As described later, the purpose of the smart gateway 100 periodically transmitting information is to enable the user application device 300 to find the IP of the local server, and transmits keep alive information at regular time intervals to the smart gateway. This is to enable the user application device 300 to check the normal operating state of (100).
S230 단계에서, 스마트 게이트웨이(100)에 접속하고자 하는 사용자 응용기기(300)는 1차적으로 인증 서버(200)로 접속하여 인증 서버(200)로 자신의 식별 정보를 전송한다. 사용자는 사용자 응용기기(300)에 설치된 어플리케이션을 통해 인증 서버(200)에 접속하여 자신의 식별 정보인 아이디을 입력할 수 있다.In step S230, the user application device 300 that wants to access the smart gateway 100 first connects to the authentication server 200 and transmits its own identification information to the authentication server 200. The user may access the authentication server 200 through an application installed on the user application device 300 and input ID, which is his or her identification information.
사용자 응용기기(300)는 인증 서버(200)의 IP 주소를 미리 저장하고 있을 수 있다. 예를 들어, 사용자 응용기기(300)에 설치되는 어플리케이션은 기 저장된 인증 서버(200)의 IP 주소에 따라 최초 인증 서버(200)로 접속할 수 있다. 상기 사용자 응용기기(300)의 식별 정보는 예를 들어, 회원으로 가입한 사용자의 아이디 또는 사용자 응용기기(300)의 MAC 주소를 포함할 수 있으나, 이에 한정되는 것은 아니다.The user application device 300 may store the IP address of the authentication server 200 in advance. For example, an application installed in the user application device 300 may access the initial authentication server 200 according to the IP address of the previously stored authentication server 200 . The identification information of the user application device 300 may include, for example, an ID of a user who has joined as a member or a MAC address of the user application device 300, but is not limited thereto.
S240 단계에서, 인증 서버(200)는 스마트 게이트웨이(100)의 식별 정보와 사용자 응용기기(300)의 식별 정보를 비교한다. 인증 서버(200)는 여러 스마트 게이트웨이(100)의 식별 정보와 여러 사용자 응용기기(300)의 식별 정보를 매핑시켜 테이블에 저장할 수 있는데, 어느 한 사용자 응용기기(300)로부터 식별 정보가 수신되면, 사용자 응용기기(300)의 식별 정보에 매핑된 스마트 게이트웨이(100)를 특정할 수 있다. In step S240, the authentication server 200 compares the identification information of the smart gateway 100 and the identification information of the user application device 300. The authentication server 200 may map identification information of several smart gateways 100 and identification information of several user application devices 300 and store them in a table. When identification information is received from one user application device 300, The smart gateway 100 mapped to the identification information of the user application device 300 may be specified.
일 실시예에서, 스마트 게이트웨이(100)로부터 스마트 게이트웨이(100)에 접속 가능한 단말의 식별 정보가 인증 서버(200)로 전송된 경우, 인증 서버(200)는 스마트 게이트웨이(100)로부터 수신된 단말의 식별 정보와, 사용자 응용기기(300)의 식별 정보를 비교하여 스마트 게이트웨이(100)를 특정할 수도 있다.In one embodiment, when identification information of a terminal capable of accessing the smart gateway 100 is transmitted from the smart gateway 100 to the authentication server 200, the authentication server 200 transmits the terminal information received from the smart gateway 100. The smart gateway 100 may be specified by comparing the identification information with the identification information of the user application device 300 .
S250 단계에서, 인증 서버(200)는 사용자 응용기기(300)의 식별 정보에 매핑된 식별 정보를 갖는 스마트 게이트웨이(100)의 IP 주소를 사용자 응용기기(300)로 전송한다. In step S250, the authentication server 200 transmits the IP address of the smart gateway 100 having identification information mapped to the identification information of the user application device 300 to the user application device 300.
인증 서버(200)로부터 사용자 응용기기(300)로 전송되는 IP 주소는, 인증 서버(200)가 스마트 게이트웨이(100)로부터 수신한 IP 주소이다.The IP address transmitted from the authentication server 200 to the user application device 300 is an IP address received by the authentication server 200 from the smart gateway 100 .
S260 단계에서, 사용자 응용기기(300)는 인증 서버(200)로부터 수신한 IP 주소에 따라 2차적으로 스마트 게이트웨이(100)에 접속한다.In step S260, the user application device 300 secondarily accesses the smart gateway 100 according to the IP address received from the authentication server 200.
S270 단계에서, 스마트 게이트웨이(100)는 IoT 디바이스 관련 데이터를 사용자 응용기기(300)로 전송하고, S280 단계에서, 사용자 응용기기(300)는 수신한 IoT 디바이스 관련 데이터를 화면에 표시한다. 실시예에서, 사용자 응용기기(300)는 스마트 게이트웨이(100)의 로컬 서버에서 제공하는 IoT 프로그램인 하이브리드 앱 프로그램을 실행하고, 스마트 게이트웨이(100)와 연결된 다양한 IoT 디바이스(10)의 상태 정보를 수신하거나, IoT 디바이스(10)의 동작을 제어할 수 있게 된다.In step S270, the smart gateway 100 transmits IoT device-related data to the user application device 300, and in step S280, the user application device 300 displays the received IoT device-related data on the screen. In the embodiment, the user application device 300 executes a hybrid app program, which is an IoT program provided by the local server of the smart gateway 100, and receives status information of various IoT devices 10 connected to the smart gateway 100. Alternatively, it is possible to control the operation of the IoT device 10.
구현예에 따라서, 스마트 게이트웨이(100)의 IP 주소는 유동 IP 주소일 수 있는데, 이 경우, 스마트 게이트웨이(100)는 주기적으로 자신의 IP 주소를 인증 서버(200)로 전송할 수 있다. Depending on implementation, the IP address of the smart gateway 100 may be a dynamic IP address. In this case, the smart gateway 100 may periodically transmit its IP address to the authentication server 200.
예를 들어, 상기 S220 단계에서, 스마트 게이트웨이(100)는 10분마다 자신의 식별 정보와 IP 주소를 인증 서버(200)로 전송할 수 있다.For example, in step S220, the smart gateway 100 may transmit its identification information and IP address to the authentication server 200 every 10 minutes.
인증 서버(200)는 상기 S250 단계에서, 사용자 응용기기(300)로 스마트 게이트웨이(100)의 IP 주소를 최초로 전송한 이후, 스마트 게이트웨이(100)로부터 주기적으로 수신되는 IP 주소에 따라 스마트 게이트웨이(100)의 IP 주소가 변경된 경우, 변경된 IP 주소를 사용자 응용기기(300)로 전송하여 사용자 응용기기(300)이 스마트 게이트웨이(100)에 원활하게 접속할 수 있게 할 수 있다.After the authentication server 200 transmits the IP address of the smart gateway 100 to the user application device 300 for the first time in step S250, the smart gateway 100 according to the IP address periodically received from the smart gateway 100. If the IP address of ) is changed, the changed IP address can be transmitted to the user application device 300 so that the user application device 300 can smoothly access the smart gateway 100.
도 3은 인증 서버(200)에 저장되는 테이블(350)을 도시하는 예시적인 도면이다.3 is an exemplary diagram illustrating a table 350 stored in the authentication server 200.
앞서 설명한 바와 같이, 인증 서버(200)는 여러 스마트 게이트웨이(100)의 식별 정보와 사용자 응용기기(300)의 식별 정보를 매핑시켜 저장해 놓을 수 있다. 도 3에 도시된 바와 같이, 00:90:C0:06:96:31의 식별 정보를 갖는 스마트 게이트웨이(100)는 사용자 응용기기 B에 매핑되어 있으며, 01:35:30:AC:DA:32의 식별 정보를 갖는 스마트 게이트웨이(100)는 사용자 응용기기 C에 매핑되어 있을 수 있다. 또한, 구현예에 따라서는 11:22:33:44:55:AB의 식별 정보를 갖는 스마트 게이트웨이(100)와 A7:B2:32:21:98:C0의 식별 정보를 갖는 스마트 게이트웨이(100)는 사용자 응용기기 A에 매핑되어 있을 수 있으며, 이는 사용자 A가 두 대의 스마트 게이트웨이(100)를 사용하고 있는 경우이다.As described above, the authentication server 200 may map and store identification information of various smart gateways 100 and identification information of the user application device 300 . As shown in FIG. 3, the smart gateway 100 having identification information of 00:90:C0:06:96:31 is mapped to the user application device B, and 01:35:30:AC:DA:32 The smart gateway 100 having identification information of may be mapped to the user application device C. In addition, depending on the implementation, the smart gateway 100 having identification information of 11:22:33:44:55:AB and the smart gateway 100 having identification information of A7:B2:32:21:98:C0 may be mapped to user application device A, which is a case where user A is using two smart gateways 100.
인증 서버(200)는 각 스마트 게이트웨이(100)로부터 수신되는 IP 주소에 따라 테이블(350)을 업데이트하고, 이후, 사용자 응용기기(300)의 접속에 따라 사용자 응용기기(300)의 식별 정보에 매핑되는 스마트 게이트웨이(100)의 IP 주소를 사용자 응용기기(300)로 전송한다. The authentication server 200 updates the table 350 according to the IP address received from each smart gateway 100, and then maps it to the identification information of the user application device 300 according to the connection of the user application device 300. The IP address of the smart gateway 100 to be transmitted to the user application device 300.
도 3에서 사용자 응용기기 B가 인증 서버(200)에 접속한 경우, 인증 서버(200)는 사용자 응용기기 B에 매핑된 00:90:C0:06:96:31의 식별 정보를 갖는 스마트 게이트웨이(100)의 IP 주소, 즉 255.147.69.1를 사용자 응용기기 B로 전송할 수 있다.3, when the user application device B accesses the authentication server 200, the authentication server 200 has a smart gateway with identification information of 00:90:C0:06:96:31 mapped to the user application device B ( 100) IP address, that is, 255.147.69.1, can be transmitted to the user application device B.
사용자 응용기기 A가 인증 서버(200)에 접속한 경우에는, 인증 서버(200)는 사용자 응용기기 A에 매핑된 11:22:33:44:55:AB의 식별 정보를 갖는 스마트 게이트웨이(100)의 IP 주소, 즉 112.222.101.193와, A7:B2:32:21:98:C0의 식별 정보를 갖는 스마트 게이트웨이(100)의 IP 주소, 즉 255.255.21.101를 사용자 응용기기 A로 전송할 수 있다. 사용자 응용기기 A의 사용자는 두 IP 주소 중 어느 하나를 선택하여 두 개의 스마트 게이트웨이(100) 중 어느 하나의 스마트 게이트웨이(100)에 접속할 수 있다.When the user application device A accesses the authentication server 200, the authentication server 200 sends the smart gateway 100 having identification information of 11:22:33:44:55:AB mapped to the user application device A. The IP address of 112.222.101.193 and the IP address of the smart gateway 100 having identification information of A7:B2:32:21:98:C0, ie 255.255.21.101, can be transmitted to the user application device A. The user of the user application device A may access one of the two smart gateways 100 by selecting one of the two IP addresses.
구현예에 따라서, 인증 서버(200)는 식별 정보와 IP 주소를 전송하지 않은 스마트 게이트웨이(100)에 이상이 발생한 것으로 판단할 수 있다. 예를 들어, 10시에 각 스마트 게이트웨이(100)로부터 식별 정보와 IP 주소를 수신할 것으로 예정되어 있었으나, 10시 또는 10시로부터 기 설정된 시간 간격 내에 식별 정보와 IP 주소를 전송하지 않은 스마트 게이트웨이(100)가 존재하는 경우, 해당 스마트 게이트웨이(100)에 이상이 발생한 것으로 판단할 수 있다. 도 3에서 식별 정보 C1:34:12:95:BA:00를 갖는 스마트 게이트웨이(100)로부터 식별 정보와 IP 주소가 수신되지 않은 경우, 해당 스마트 게이트웨이(100)에 이상이 발생한 것으로 판단하고 관리자의 단말로 관련 정보를 전송할 수 있다.Depending on the implementation, the authentication server 200 may determine that an abnormality has occurred in the smart gateway 100 that has not transmitted identification information and an IP address. For example, it was scheduled to receive identification information and an IP address from each smart gateway 100 at 10:00, but the smart gateway did not transmit the identification information and IP address at 10:00 or within a predetermined time interval from 10:00 ( 100) is present, it can be determined that an abnormality has occurred in the corresponding smart gateway 100. In FIG. 3, when the identification information and the IP address are not received from the smart gateway 100 having identification information C1:34:12:95:BA:00, it is determined that an error has occurred in the corresponding smart gateway 100 and the manager Related information may be transmitted to the terminal.
앞서 설명한 바와 같이, 각 스마트 게이트웨이(100)로부터 인증 서버(200)로 식별 정보와 IP 주소가 주기적으로 전송되는 경우, 인증 서버(200)는 주기적으로 식별 정보와 IP 주소가 수신되는지 여부에 따라 각 스마트 게이트웨이(100)의 이상 여부를 판단할 수 있다.As described above, when the identification information and the IP address are periodically transmitted from each smart gateway 100 to the authentication server 200, the authentication server 200 periodically determines whether the identification information and the IP address are received or not. It is possible to determine whether the smart gateway 100 is abnormal.
이하에서는, 도 4 내지 도 9를 참조하여, 스마트 게이트웨이(100), IoT 디바이스(10) 및 사용자 응용기기(300) 사이의 통신 방법에 대해 상세히 설명한다.Hereinafter, a communication method between the smart gateway 100, the IoT device 10, and the user application device 300 will be described in detail with reference to FIGS. 4 to 9.
도 4는 본 발명의 일 실시예에 따른 스마트 게이트웨이(100), 상위 단말(400) 및 하위 단말(500)을 도시하는 예시적인 도면이다.4 is an exemplary diagram illustrating a smart gateway 100, an upper terminal 400, and a lower terminal 500 according to an embodiment of the present invention.
도 4를 참조하면, 스마트 게이트웨이(100)는 적어도 하나의 하위 단말(500)들 및 적어도 하나의 상위 단말(400)들과 연결되어 이들 사이의 통신을 제어한다. 여기서, 상위 단말(400)은 도 1과 관련하여 설명한 사용자 응용기기(300)를 포함할 수 있고, 하위 단말(500)은 도 1과 관련하여 설명한 IoT 디바이스(10)를 포함할 수 있다.Referring to FIG. 4 , the smart gateway 100 is connected to at least one lower terminal 500 and at least one upper terminal 400 to control communication between them. Here, the upper terminal 400 may include the user application device 300 described with reference to FIG. 1 , and the lower terminal 500 may include the IoT device 10 described with reference to FIG. 1 .
도 1은 5개의 하위 단말(500) 및 3개의 상위 단말(400)을 도시하고 있지만, 이는 하나의 예시일 뿐이며, 하위 단말(500) 및 상위 단말(400) 각각은 적어도 한 개 또는 복수 개일 수 있다.1 shows five lower terminals 500 and three upper terminals 400, but this is only an example, and each of the lower terminals 500 and the upper terminals 400 may be at least one or a plurality. there is.
본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 하위 단말(500)에서 발생한 이벤트에 대해 상위 단말(400)로 알려주거나, 상위 단말(400)의 요청에 따라 하위 단말(500)로 데이터를 전송할 수 있다. 또한, 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 상위 단말(400)이나 하위 단말(500)로부터 전송되는 데이터에 기초하여, 관련 데이터를 어느 단말로 전송해야 할지를 스스로 판단할 수도 있다.The smart gateway 100 according to an embodiment of the present invention informs the upper terminal 400 of an event generated in the lower terminal 500 or transmits data to the lower terminal 500 according to the request of the upper terminal 400. can transmit In addition, the smart gateway 100 according to an embodiment of the present invention may determine by itself which terminal to transmit related data to based on data transmitted from the upper terminal 400 or the lower terminal 500.
본 발명의 일 실시예에서, 상기 상위 단말(400)은 데스크탑 PC, 스마트폰, 태블릿 PC, 스마트워치 등 사용자에 의해 이용되는 단말을 의미하며, 상기 하위 단말(500)은 예를 들어, 각종 공장 기기, 각종 센서, 각종 측정 기기 등을 포함할 수 있다.In one embodiment of the present invention, the upper terminal 400 means a terminal used by a user such as a desktop PC, a smart phone, a tablet PC, a smart watch, and the lower terminal 500 is, for example, various factories Devices, various sensors, various measuring devices, and the like may be included.
도 5는 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)의 기능 구성을 설명하기 위한 도면이다.5 is a diagram for explaining the functional configuration of the smart gateway 100 according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 제 1 웹 서버(110), 웹 소켓(120), MQTT(Message Queue Telemetry Transport) 모듈(130), 제 2 웹 서버(140), 근거리 통신 모듈(150) 및 중앙 제어 모듈(160)을 포함할 수 있다. Referring to FIG. 5 , the smart gateway 100 according to an embodiment of the present invention includes a first web server 110, a web socket 120, a Message Queue Telemetry Transport (MQTT) module 130, and a second web server. 140, a short-distance communication module 150 and a central control module 160 may be included.
제 1 웹 서버(110)는 상위 단말(400)과 HTTP 프로토콜로 연결된다. 예를 들어, 상위 단말(400)은 제 1 웹 서버(110)와 인터넷으로 연결된 상태에서 HTTP 프로토콜을 통해 제 1 웹 서버(110)로 데이터를 송신할 수 있다. 앞서 도 2와 관련하여 설명한 스마트 게이트웨이(100)의 IP 주소는 제 1 웹 서버(110)의 IP 주소를 포함할 수 있다.The first web server 110 is connected to the upper terminal 400 through HTTP protocol. For example, the upper terminal 400 may transmit data to the first web server 110 through the HTTP protocol while connected to the first web server 110 through the Internet. The IP address of the smart gateway 100 previously described with reference to FIG. 2 may include the IP address of the first web server 110 .
도 5에 도시된 제 1 상위 단말(400a) 및 제 2 상위 단말(400b) 각각은 도 4에 도시된 적어도 하나의 상위 단말(400)들 중 어느 하나를 의미할 수 있다. 도 5에는 두 개의 상위 단말(400a, 400b)이 도시되어 있으나, 이는 하나의 예시일뿐이며, 하나의 상위 단말(400) 또는 그 이상의 개수의 상위 단말(400)이 제 1 웹 서버(110)에 연결될 수도 있다.Each of the first higher level terminal 400a and the second higher level terminal 400b shown in FIG. 5 may mean any one of at least one upper level terminal 400 shown in FIG. 4 . Although two upper terminals 400a and 400b are shown in FIG. 5, this is only an example, and one upper terminal 400 or more upper terminals 400 are connected to the first web server 110. may be connected.
웹 소켓(120)은 상위 단말(400)과 제 1 웹 서버(110)를 양방향으로 연결시키는 인터페이스를 구동한다. 웹 소켓(120)을 통해 제 1 웹 서버(110)와 상위 단말(400)은 양방향 통신을 할 수 있다.The web socket 120 drives an interface that connects the upper terminal 400 and the first web server 110 in both directions. Through the web socket 120, the first web server 110 and the upper terminal 400 can perform bi-directional communication.
MQTT 모듈(130)은 상위 단말(400) 및 하위 단말(500)과 MQTT 프로토콜로 연결된다. MQTT 모듈(130)은 HTTP의 request/response 방식 대신 브로커(broker)를 통해 publish/subscribe방식으로 메시지를 주고 받는 개방형 표준 메시징 프로토콜, 즉 MQTT 프로토콜을 이용한다. MQTT 프로토콜은 HTTP와 마찬가지로 TCP/IP 프로토콜 위에서 동작하면서도 기존 프로토콜의 신뢰 및 속도 저하, 폴링(polling)으로 인한 배터리 및 성능저하를 방지한다.The MQTT module 130 is connected to the upper terminal 400 and the lower terminal 500 through the MQTT protocol. The MQTT module 130 uses an open standard messaging protocol, that is, the MQTT protocol, for exchanging messages in a publish/subscribe method through a broker instead of a request/response method of HTTP. Like HTTP, the MQTT protocol operates on top of the TCP/IP protocol, but prevents reliability and speed degradation of existing protocols, as well as battery and performance degradation due to polling.
제 2 웹 서버(140)는 제 1 하위 단말(500a)과 HTTP 프로토콜로 연결된다. 예를 들어, 제 1 하위 단말(500a)은 제 2 웹 서버(140)와 인터넷으로 연결된 상태에서 HTTP 프로토콜을 통해 제 2 웹 서버(140)로 데이터를 송신할 수 있다. 상기 제 1 하위 단말(500a)은 도 4에 도시된 적어도 하나의 하위 단말(500)들 중 어느 하나에 해당할 수 있다.The second web server 140 is connected to the first lower terminal 500a through the HTTP protocol. For example, the first lower terminal 500a may transmit data to the second web server 140 through the HTTP protocol while connected to the second web server 140 through the Internet. The first lower terminal 500a may correspond to any one of at least one lower terminal 500 shown in FIG. 4 .
근거리 통신 모듈(150)은 제 2 하위 단말(500b)과 근거리 통신 방식으로 연결된다. 여기서, 근거리 통신 방식은, 예를 들어, Wifi 통신, 지그비(zigbee) 통신, 블루투스 통신, USB 통신 또는 RF 통신 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 제 2 하위 단말(500b)은 근거리 통신 방식을 통해 근거리 통신 모듈(150)로 데이터를 송신할 수 있다. 상기 제 2 하위 단말(500b)은 도 4에 도시된 적어도 하나의 하위 단말(500)들 중 어느 하나에 해당할 수 있다.The short-distance communication module 150 is connected to the second lower terminal 500b in a short-range communication method. Here, the short-distance communication method may include, for example, Wifi communication, Zigbee communication, Bluetooth communication, USB communication, or RF communication, but is not limited thereto. The second lower terminal 500b may transmit data to the short-range communication module 150 through short-range communication. The second lower terminal 500b may correspond to any one of at least one lower terminal 500 shown in FIG. 4 .
도 5는 제 1 하위 단말(500a)이 제 2 웹 서버(140)와 통신을 하고, 제 2 하위 단말(500b)이 근거리 통신 모듈(150)과 통신하는 것으로 도시하고 있지만, 이는 하나의 예시일뿐이며, 모든 하위 단말(500)들이 제 2 웹 서버(140)와 통신하거나, 모든 하위 단말(500)들이 근거리 통신 모듈(150)과 통신할 수 있으며, 또는 일부 하위 단말(500)들이 제 2 웹 서버(140)와 통신하고 나머지 하위 단말(500)들이 근거리 통신 모듈(150)과 통신할 수 있다.5 shows that the first lower terminal 500a communicates with the second web server 140 and the second lower terminal 500b communicates with the short-range communication module 150, but this is only an example. , all lower terminals 500 may communicate with the second web server 140, all lower terminals 500 may communicate with the short-range communication module 150, or some lower terminals 500 may communicate with the second web server 140. It communicates with the server 140 and the remaining sub-terminals 500 may communicate with the short-range communication module 150 .
중앙 제어 모듈(160)은 상위 단말(400)과 하위 단말(500)의 사이에서 각 단말 사이의 데이터를 중개하거나, 어느 한쪽의 단말의 상태에 따라 다른 단말로 관련 데이터를 송신한다.The central control module 160 mediates data between the upper terminal 400 and the lower terminal 500 or transmits related data to another terminal according to the state of either terminal.
도시되어 있지는 않지만, 스마트 게이트웨이(100)는 데이터베이스를 더 포함할 수 있으며, 데이터베이스는 상위 단말(400) 및 하위 단말(500) 중 적어도 하나로부터 전송되는 데이터를 저장할 수 있다.Although not shown, the smart gateway 100 may further include a database, and the database may store data transmitted from at least one of the upper terminal 400 and the lower terminal 500 .
도 6은 하위 단말(500)의 이벤트 데이터에 따라 상위 단말(400)로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.6 is a diagram for explaining a process of transmitting a push message to an upper terminal 400 according to event data of a lower terminal 500 .
S610 단계에서, 제 1 하위 단말(500a)은 이벤트 데이터를 제 2 웹 서버(140)로 전송한다. 상기 이벤트 데이터는 상기 제 1 하위 단말(500a)의 상태(state) 데이터, 센싱(sensing) 데이터 및 요청(request) 데이터 중 적어도 하나를 포함할 수 있다. In step S610, the first lower terminal 500a transmits event data to the second web server 140. The event data may include at least one of state data, sensing data, and request data of the first lower terminal 500a.
앞서 설명한 바와 같이, 제 1 하위 단말(500a)은 HTTP 프로토콜에 따라 이벤트 데이터를 제 2 웹 서버(140)로 전송할 수 있다. 구현예에 따라서는, 제 1 하위 단말(500a)이 근거리 통신 모듈(150)과 통신을 하는 경우, 제 1 하위 단말(500a)은 근거리 통신 방식에 따라 이벤트 데이터를 근거리 통신 모듈(150)로 전송할 수 있다.As described above, the first lower terminal 500a may transmit event data to the second web server 140 according to the HTTP protocol. Depending on implementation, when the first sub-terminal 500a communicates with the short-range communication module 150, the first sub-terminal 500a transmits event data to the short-range communication module 150 according to the short-range communication method. can
S620 단계에서, 제 2 웹 서버(140)(또는 근거리 통신 모듈(150))는 이벤트 데이터를 중앙 제어 모듈(160)로 전달한다.In step S620, the second web server 140 (or short-distance communication module 150) transfers the event data to the central control module 160.
S630 단계에서, 중앙 제어 모듈(160)은 이벤트 데이터에 따라 그에 대응하는 제 1 푸시 메시지를 생성하여 웹 소켓(120)을 통해 제 1 상위 단말(400a)로 전송하고, S640 단계에서, 제 2 푸시 메시지를 생성하여 MQTT 모듈(130)을 통해 제 1 상위 단말(400a)로 전송한다. 즉, 중앙 제어 모듈(160)은 두 개의 푸시 메시지를 생성하여 제 1 상위 단말(400a)로 전송하는 것이다.In step S630, the central control module 160 generates a first push message corresponding thereto according to the event data and transmits it to the first upper terminal 400a through the web socket 120, and in step S640, the second push message is generated. A message is generated and transmitted to the first upper terminal 400a through the MQTT module 130. That is, the central control module 160 generates two push messages and transmits them to the first upper terminal 400a.
S650 단계에서, 제 1 상위 단말(400a)은 제 1 푸시 메시지 및 제 2 푸시 메시지 중 적어도 하나를 화면에 표시한다. 구체적으로, 제 1 푸시 메시지는 웹을 통해 전송되는 것이므로, 제 1 상위 단말(400a)은 웹 어플리케이션(web application)을 통해 제 1 푸시 메시지를 수신하여 화면에 표시할 수 있다. 또한, 제 2 푸시 메시지는 MQTT 프로토콜에 따라 전송되는 것이므로, 제 1 상위 단말(400a)은 네이티브 어플리케이션(native application)을 통해 제 2 푸시 메시지를 수신하여 화면에 표시할 수 있다. In step S650, the first higher terminal 400a displays at least one of the first push message and the second push message on the screen. Specifically, since the first push message is transmitted through the web, the first higher terminal 400a may receive the first push message through a web application and display the message on the screen. In addition, since the second push message is transmitted according to the MQTT protocol, the first upper terminal 400a may receive the second push message through a native application and display it on the screen.
제 1 상위 단말(400a)(구체적으로, 웹 브라우져)은 인터넷을 통해 제 1 웹 서버(110)에 접속하여 웹 어플리케이션을 실행하고, 소켓 통신으로 제공되는 제 1 푸시 메시지를 수신하여 화면에 표시할 수 있으나, 웹 어플리케이션이 실행되지 않는 경우에는 제 1 푸시 메시지를 수신할 수 없다. 따라서, 본 발명의 일 실시예에서는 MQTT 프로토콜을 위한 제 2 푸시 메시지도 함께 제 1 상위 단말(400a)로 전송함으로써, 제 1 상위 단말(400a)에서 웹 어플리케이션 실행 중이 아닐 때 네이티브 어플리케이션을 통해 제 2 푸시 메시지가 수신될 수 있도록 하는 것이다. The first upper terminal 400a (specifically, a web browser) accesses the first web server 110 through the Internet, executes a web application, receives a first push message provided through socket communication, and displays it on the screen. However, when the web application is not executed, the first push message cannot be received. Therefore, in one embodiment of the present invention, the second push message for the MQTT protocol is also transmitted to the first upper terminal 400a, so that when the web application is not running in the first upper terminal 400a, the second push message is transmitted through the native application. This is to allow push messages to be received.
반대로, 네이티브 어플리케이션이 구동 중이 아닌 경우에는 제 1 상위 단말(400a)은 웹 어플리케이션을 통해 제 1 푸시 메시지를 수신하여 화면에 표시할 수 있다. Conversely, when the native application is not running, the first upper terminal 400a may receive the first push message through the web application and display it on the screen.
즉, 본 발명의 일 실시예에 따르면, 상위 단말(400)에서 어느 어플리케이션이 구동 중인 것과는 무관하게 스마트 게이트웨이(100)는 두 개의 푸시 메시지를 상위 단말(400)로 전송하여 상위 단말(400)의 관리자가 푸시 메시지를 확실하게 확인할 수 있게 하는 것이다. 또한, 상위 단말(400)이 제 1 웹 서버(110)로부터 이벤트 데이터를 폴링(polling)하는 것이 아니므로, 제 1 웹 서버(110)의 부하가 감소될 수 있는 장점이 있다.That is, according to an embodiment of the present invention, regardless of which application is running in the upper terminal 400, the smart gateway 100 transmits two push messages to the upper terminal 400 to transmit the It is to allow administrators to clearly check push messages. In addition, since the upper terminal 400 does not poll event data from the first web server 110, there is an advantage in that the load of the first web server 110 can be reduced.
S660 단계에서, 중앙 제어 모듈(160)은 이벤트 데이터에 따라 그에 대응하는 제 1 푸시 메시지를 생성하여 웹 소켓(120)을 통해 제 2 상위 단말(400b)로 전송하고, S670 단계에서, 제 2 푸시 메시지를 생성하여 MQTT 모듈(130)을 통해 제 2 상위 단말(400b)로 전송한다. S680 단계에서, 제 2 상위 단말(400b)은 제 1 푸시 메시지 및 제 2 푸시 메시지 중 적어도 하나를 화면에 표시한다. In step S660, the central control module 160 generates a first push message corresponding thereto according to the event data and transmits it to the second upper terminal 400b through the web socket 120, and in step S670, the second push message is generated. A message is generated and transmitted to the second upper terminal 400b through the MQTT module 130. In step S680, the second higher terminal 400b displays at least one of the first push message and the second push message on the screen.
상기 S660 단계 내지 S680 단계는 제 2 상위 단말(400b)이 스마트 게이트웨이(100)에 연결되어 있고, 제 2 상위 단말(400b)이 제 1 상위 단말(400a)과 함께 스마트 게이트웨이(100)에 대한 접속 권한을 가지고 있는 경우에 수행될 수 있으며, 제 2 상위 단말(400b)이 스마트 게이트웨이(100)에 연결되어 있지 않다면 S660 단계 내지 S680 단계는 수행되지 않을 수 있다. In steps S660 to S680, the second higher level terminal 400b is connected to the smart gateway 100, and the second higher level terminal 400b connects to the smart gateway 100 together with the first higher level terminal 400a. It may be performed when the user has authority, and steps S660 to S680 may not be performed if the second upper terminal 400b is not connected to the smart gateway 100.
제 1 상위 단말(400a)과 제 2 상위 단말(400b) 이외의 다른 상위 단말(400)이 스마트 게이트웨이(100)에 더 연결되어 있다면 다른 상위 단말(400)로도 푸시 메시지들이 전송될 수 있다. Push messages may also be transmitted to other upper terminals 400 if other upper terminals 400 other than the first upper terminal 400a and the second upper terminal 400b are further connected to the smart gateway 100.
즉, 푸시 메시지들은 스마트 게이트웨이(100)에 연결된 모든 상위 단말(400), 구체적으로는 동일 사용자에 의해 관리되는 모든 상위 단말(400)로 전송될 수 있다. That is, push messages can be transmitted to all upper terminals 400 connected to the smart gateway 100, specifically, to all upper terminals 400 managed by the same user.
구현예에 따라서는, 하위 단말(500)의 이벤트 데이터에 따라 여러 상위 단말(400)들 중 기 설정된 상위 단말(400)로만 제 1 푸시 메시지와 제 2 푸시 메시지가 전달될 수도 있다.Depending on implementation, the first push message and the second push message may be delivered only to the preset upper terminal 400 among several upper terminals 400 according to the event data of the lower terminal 500 .
중앙 제어 모듈(160)은 제 1 푸시 메시지와 제 2 푸시 메시지를 S630 단계, S640 단계, S660 단계 및 S670 단계와 같이 유니 캐스트 방식으로 전송할 수도 있지만, 구현예에 따라서는, 제 1 푸시 메시지와 제 2 푸시 메시지를 멀티 캐스트 방식 또는 브로드캐스트 방식으로 전송할 수도 있다.The central control module 160 may transmit the first push message and the second push message in a unicast manner as in steps S630, S640, S660, and S670, but depending on implementation, the first push message and the second push message may be transmitted. 2 The push message may be transmitted in a multicast method or a broadcast method.
도 7은 어느 하나의 상위 단말(400)의 이벤트 데이터에 따라 다른 하나의 상위 단말(400)로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.7 is a diagram for explaining a process of transmitting a push message to another upper terminal 400 according to event data of one upper terminal 400 .
S710 단계에서, 제 1 상위 단말(400a)은 이벤트 데이터를 제 1 웹 서버(110)로 전송한다. 앞서 설명한 바와 같이, 제 1 상위 단말(400a)은 HTTP 프로토콜에 따라 이벤트 데이터를 제 1 웹 서버(110)로 전송할 수 있다. 상기 이벤트 데이터는 제 1 상위 단말(400a)의 상태 데이터, 센싱 데이터 및 요청 데이터 중 적어도 하나를 포함할 수 있다.In step S710, the first upper terminal 400a transmits event data to the first web server 110. As described above, the first upper terminal 400a may transmit event data to the first web server 110 according to the HTTP protocol. The event data may include at least one of state data, sensing data, and request data of the first upper terminal 400a.
S720 단계에서, 제 1 웹 서버(110)는 이벤트 데이터를 중앙 제어 모듈(160)로 전달한다.In step S720, the first web server 110 transfers the event data to the central control module 160.
S730 단계에서, 중앙 제어 모듈(160)은 웹 소켓(120)을 통해 제 1 푸시 메시지를 제 2 상위 단말(400b)로 전송하고, S740 단계에서, MQTT 모듈(130)을 통해 제 2 푸시 메시지를 제 2 상위 단말(400b)로 전송한다. In step S730, the central control module 160 transmits the first push message to the second upper terminal 400b through the web socket 120, and in step S740, the second push message through the MQTT module 130. It is transmitted to the second upper terminal (400b).
S750 단계에서, 제 2 상위 단말(400b)은 제 1 푸시 메시지 및 제 2 푸시 메시지 중 적어도 하나를 화면에 표시한다. 제 2 상위 단말(400b)은 웹 어플리케이션을 통해 제 1 푸시 메시지를 수신하여 화면에 표시하거나, 네이티브 어플리케이션을 통해 제 2 푸시 메시지를 수신하여 화면에 표시할 수 있다.In step S750, the second higher terminal 400b displays at least one of the first push message and the second push message on the screen. The second upper terminal 400b may receive the first push message through the web application and display it on the screen, or receive the second push message through the native application and display it on the screen.
도 7에 도시된 실시예에 따르면, 스마트 게이트웨이(100)는 상위 단말(400)들 사이의 통신을 제어할 수 있다. 예를 들어, 스마트 게이트웨이(100)에 접속할 권한을 갖는 제 1 상위 단말(400a)의 제 1 사용자는 역시 스마트 게이트웨이(100)에 접속할 권한을 갖는 제 2 상위 단말(400b)의 제 2 사용자와의 메시지 송수신을 위해 이벤트 데이터를 제 1 웹 서버(110)로 전송할 수 있고, 이에 따라 제 2 상위 단말(400b)의 제 2 사용자는 제 1 상위 단말(400a)의 제 1 사용자가 요청 또는 보고하는 내용을 확인할 수 있다. According to the embodiment shown in FIG. 7 , the smart gateway 100 may control communication between upper terminals 400 . For example, a first user of the first upper terminal 400a having authority to access the smart gateway 100 communicates with a second user of the second higher terminal 400b having authority to access the smart gateway 100 as well. Event data may be transmitted to the first web server 110 for message transmission and reception, and accordingly, the second user of the second upper terminal 400b may request or report content requested by the first user of the first upper terminal 400a. can confirm.
도 8은 상위 단말(400)의 제어 요청 데이터에 따라 하위 단말(500)로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.8 is a diagram for explaining a process of transmitting control command data to the lower terminal 500 according to the control request data of the upper terminal 400 .
S810 단계에서, 상위 단말(400)은 HTTP 프로토콜에 따라 제어 요청 데이터를 제 1 웹 서버(110)로 전송한다. 제어 요청 데이터는 적어도 하나의 하위 단말(500)의 동작을 제어하기 위해 송신하는 데이터이다. In step S810, the upper terminal 400 transmits control request data to the first web server 110 according to the HTTP protocol. The control request data is data transmitted to control the operation of at least one lower terminal 500 .
일 예로서, 어느 하나의 하위 단말(500)이 도어(door) 개폐 장치인 경우, 상기 제어 요청 데이터는 도어를 개방하라는 요청 데이터일 수 있고, 다른 예로서, 어느 하나의 하위 단말(500)이 공조기인 경우, 상기 제어 요청 데이터는 실내 온도를 낮추라는 요청 데이터일 수도 있다.As an example, when any one lower terminal 500 is a door opening and closing device, the control request data may be request data to open the door. As another example, any one lower terminal 500 In the case of an air conditioner, the control request data may be request data to lower the room temperature.
S820 단계에서, 제 1 웹 서버(110)는 제어 요청 데이터를 중앙 제어 모듈(160)로 전달하고, S830 단계에서, 중앙 제어 모듈(160)은 제어 명령 데이터를 생성한다. 상기 제어 명령 데이터는 MQTT 프로토콜을 따르는 데이터일 수 있다.In step S820, the first web server 110 transmits control request data to the central control module 160, and in step S830, the central control module 160 generates control command data. The control command data may be data conforming to the MQTT protocol.
S840 단계에서, 중앙 제어 모듈(160)은 제어 명령 데이터를 MQTT 모듈(130)을 통해 제 1 하위 단말(500a)로 전송하고, S850 단계에서, 제 1 하위 단말(500a)은 제어 명령 데이터에 따라 그에 대응하는 기능(예를 들어, 도어를 개방하는 기능, 실내 온도를 낮추는 기능 등)을 수행한다.In step S840, the central control module 160 transmits the control command data to the first lower terminal 500a through the MQTT module 130, and in step S850, the first lower terminal 500a according to the control command data It performs a corresponding function (eg, a function of opening a door, a function of lowering the indoor temperature, etc.).
S860 단계에서, 중앙 제어 모듈(160)은 제어 명령 데이터를 MQTT 모듈(130)을 통해 제 2 하위 단말(500b)로 전송하고, S870 단계에서, 제 2 하위 단말(500b)은 제어 명령 데이터에 따라 그에 대응하는 기능을 수행한다.In step S860, the central control module 160 transmits the control command data to the second lower terminal 500b through the MQTT module 130, and in step S870, the second lower terminal 500b according to the control command data perform the corresponding function.
상기 S860 및 S870 단계는, 상위 단말(400)의 제어 요청 데이터가 제 2 하위 단말(500b)을 대상으로 하여 전송된 경우에 수행되며, 상위 단말(400)의 제어 요청 데이터가 제 1 하위 단말(500a)의 기능 제어만을 위해 전송된 경우에는 상기 S860 단계 및 S870 단계는 수행되지 않을 수 있다.Steps S860 and S870 are performed when the control request data of the upper terminal 400 is transmitted to the second lower terminal 500b, and the control request data of the upper terminal 400 is transmitted to the first lower terminal ( In the case of transmission only for function control of 500a), steps S860 and S870 may not be performed.
중앙 제어 모듈(160)은 제어 명령 데이터를 S840 단계 및 S860 단계와 같이 유니 캐스트 방식으로 전송할 수도 있지만, 구현예에 따라서는, 제어 명령 데이터를 멀티 캐스트 방식 또는 브로드캐스트 방식으로 전송할 수도 있다. 이 경우, 제 1 하위 단말(500a) 및 제 2 하위 단말(500b)은 멀티 캐스트 방식 또는 브로드캐스트 방식으로 전송되는 제어 명령 데이터를 수신하고, 자신을 타겟으로 하는 제어 명령 데이터인 경우에 한해 그에 대응하는 기능을 수행할 수도 있다.The central control module 160 may transmit the control command data in a unicast manner as in steps S840 and S860, but may also transmit the control command data in a multicast manner or a broadcast manner, depending on implementation. In this case, the first lower terminal 500a and the second lower terminal 500b receive the control command data transmitted in the multicast method or the broadcast method, and respond to it only when the control command data is targeting them. It may also perform the function of
한편, 구현예에 따라서는, 상기 S830 단계에서, 중앙 제어 모듈(160)은 상위 단말(400)의 제어 요청 데이터를 해석하여, 그에 따라 복수의 제어 명령 데이터를 생성하고, 복수의 제어 명령 데이터 각각을 서로 다른 하위 단말(500)로 전송할 수도 있다. 다시 말하면, 중앙 제어 모듈(160)은 제어 요청 데이터가 수신되면, 이를 해석하여 a 제어 명령 데이터, b 제어 명령 데이터 및 c 제어 명령 데이터를 생성하고, a 제어 명령 데이터는 a 하위 단말(500)로, b 제어 명령 데이터는 b 하위 단말(500)로, c 제어 명령 데이터는 c 하위 단말(500)로 전송할 수 있는 것이다. Meanwhile, depending on the embodiment, in the step S830, the central control module 160 analyzes the control request data of the upper terminal 400, generates a plurality of control command data accordingly, and each of the plurality of control command data may be transmitted to different lower terminals 500. In other words, when the control request data is received, the central control module 160 interprets it to generate a control command data, b control command data, and c control command data, and the a control command data is transmitted to the lower terminal 500. , b control command data can be transmitted to the b sub-terminal 500 and c control command data to the c sub-terminal 500.
일 예로서, 상위 단말(400)의 제어 요청 데이터가 실내의 온도를 낮추라는 요청인 경우, 중앙 제어 모듈(160)은 공조기의 설정 온도를 낮추라는 제어 명령 데이터를 생성하여 공조기로 전송하면서, 도어를 폐쇄하라는 제어 명령 데이터를 함께 생성하여 도어 개폐기로 전송할 수 있는 것이다.As an example, when the control request data of the upper terminal 400 is a request to lower the indoor temperature, the central control module 160 generates control command data to lower the set temperature of the air conditioner, transmits the control command data to the air conditioner, and It is possible to generate control command data to close the door and transmit it to the door opener.
즉, 본 발명의 일 실시예에 따르면, 스마트 게이트웨이(100)는 상위 단말(400)의 제어 요청 데이터를 해석하여 그 의도에 부합하도록 하위 단말(500)들을 제어하므로, 상위 단말(400)을 이용하는 사용자의 편리성이 증대될 수 있는 것이다.That is, according to an embodiment of the present invention, the smart gateway 100 interprets the control request data of the upper terminal 400 and controls the lower terminals 500 to meet the intention, so that the upper terminal 400 is used. User convenience can be increased.
한편, 구현예에 따라서는 동일한 하위 단말(500)을 타겟으로 하는 제어 요청 데이터가 제 1 상위 단말(400a)과 제 2 상위 단말(400b)로부터 중앙 제어 모듈(160)로 전달될 수 있는데, 이 경우, 중앙 제어 모듈(160)은 제 1 상위 단말(400a)의 제어 요청 데이터와 제 2 상위 단말(400b)의 제어 요청 데이터 중 어느 하나만을 기초로 제어 명령 데이터를 생성하여 해당 하위 단말(500)로 전달할 수 있다. 이는, 두 상위 단말(400)이 서로 간에 모순되는 제어 요청 데이터를 중앙 제어 모듈(160)로 전송할 수 있으므로, 중앙 제어 모듈(160)은 모순되는 2개의 제어 요청 데이터 중 어느 하나만을 기초로 제어 명령 데이터를 생성하는 것이다. Meanwhile, depending on implementation, control request data targeting the same lower terminal 500 may be transferred from the first upper terminal 400a and the second upper terminal 400b to the central control module 160. In this case, the central control module 160 generates control command data based on only one of the control request data of the first higher level terminal 400a and the control request data of the second higher level terminal 400b to generate the corresponding lower level terminal 500. can be forwarded to Since the two upper terminals 400 can transmit contradictory control request data to the central control module 160, the central control module 160 gives a control command based on only one of the two contradictory control request data. is to generate data.
예를 들어, 제 1 상위 단말(400a)의 제어 요청 데이터는 공조기로 하여금 실내 온도를 낮추라는 제어 요청 데이터이고, 제 2 상위 단말(400b)의 제어 요청 데이터는 공조기로 하여금 실내 온도를 올리라는 제어 요청 데이터인 경우, 중앙 제어 모듈(160)은 제 1 상위 단말(400a)과 제 2 상위 단말(400b) 중 우선 순위가 더 높은 상위 단말(400), 예를 들어, 제 1 상위 단말(400a)의 제어 요청 데이터에 따라 공조기로 실내 온도를 낮추라는 제어 명령 데이터를 전송할 수 있다.For example, the control request data of the first higher level terminal 400a is control request data for causing the air conditioner to lower the room temperature, and the control request data of the second higher level terminal 400b is control requesting the air conditioner to raise the room temperature. In the case of requested data, the central control module 160 selects a higher-order terminal 400 having a higher priority among the first higher-order terminal 400a and the second higher-order terminal 400b, for example, the first higher-order terminal 400a. According to the control request data of the control command data to lower the room temperature to the air conditioner may be transmitted.
도 9는 어느 하나의 하위 단말(500)의 이벤트 데이터에 따라 다른 하나의 하위 단말(500)로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.9 is a diagram for explaining a process of transmitting control command data to another lower terminal 500 according to event data of one lower terminal 500 .
S910 단계에서, 제 1 하위 단말(500a)은 HTTP 프로토콜에 따라 이벤트 데이터를 제 2 웹 서버(140)로 전송한다.In step S910, the first lower terminal 500a transmits event data to the second web server 140 according to the HTTP protocol.
S920 단계에서, 제 2 웹 서버(140)는 이벤트 데이터를 중앙 제어 모듈(160)로 전달한다.In step S920, the second web server 140 transfers the event data to the central control module 160.
S930 단계에서, 중앙 제어 모듈(160)은 이벤트 데이터를 해석하여 제어 명령 데이터를 생성하고, S940 단계에서, 제어 명령 데이터를 MQTT 모듈(130)을 통해 제 2 하위 단말(500b)로 전송한다.In step S930, the central control module 160 analyzes the event data to generate control command data, and in step S940, the control command data is transmitted to the second lower terminal 500b through the MQTT module 130.
S950 단계에서, 제 2 하위 단말(500b)은 제어 명령 데이터에 대응하는 기능을 수행한다.In step S950, the second lower terminal 500b performs a function corresponding to the control command data.
도 9에 도시된 실시예는, 스마트 게이트웨이(100)가 하위 단말(500)들 사이의 통신을 제어하는 과정으로서, 어느 하나의 하위 단말(500)에서 발생한 이벤트에 따라 다른 하위 단말(500)의 기능을 제어하는 것이다. The embodiment shown in FIG. 9 is a process in which the smart gateway 100 controls communication between lower terminals 500, and the communication of other lower terminals 500 according to an event occurred in one lower terminal 500. to control the function.
예를 들어, 제 1 하위 단말(500a)로부터 전송되는 이벤트 데이터가 화재 발생 알림 데이터인 경우, 중앙 제어 모듈(160)은 이를 기반으로 스프링 쿨러 기기로 물을 분출하라는 제어 명령 데이터를 전송할 수 있는 것이다.For example, if the event data transmitted from the first lower terminal 500a is fire notification data, the central control module 160 may transmit control command data to eject water to the sprinkler device based on this. .
이하에서는, 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)의 구성에 대해 소프트웨어 측면 및 하드웨어 측면에서 설명한다.Hereinafter, the configuration of the smart gateway 100 according to an embodiment of the present invention will be described in terms of software and hardware.
도 10 내지 도 12는 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)의 소프트웨어 블록을 나타내는 예시적인 도면이다.10 to 12 are exemplary diagrams showing software blocks of the smart gateway 100 according to an embodiment of the present invention.
도 10 내지 도 12는 스마트 게이트웨이(100)와 함께 인증 서버(200), 사용자 응용기기(300), 그리고, 여러 IoT 디바이스(인터넷 전화, 화재 감지 센서, IoT 박스 등)(10)도 함께 도시하고 있다.10 to 12 show an authentication server 200, a user application device 300, and several IoT devices (Internet phone, fire detection sensor, IoT box, etc.) 10 together with the smart gateway 100. there is.
본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 소프트웨어 모듈로서, IoT 엔진(1010) 및 로컬 서버(1030)를 포함할 수 있다. 또한, 스마트 게이트웨이(100)는 IoT 엔진(1010)과의 연결, 및 네트워크, 지그비, RF 등의 입출력을 위한 하드웨어 모듈을 포함할 수 있다.The smart gateway 100 according to an embodiment of the present invention is a software module, and may include an IoT engine 1010 and a local server 1030. In addition, the smart gateway 100 may include a hardware module for connection with the IoT engine 1010 and input/output of network, ZigBee, and RF.
IoT 엔진(1010)은 스마트 게이트웨이(100)에서 사물 인터넷(IoT)을 구현하기 위한 소프트웨어로서, Windows 10 IoT 및 Linux 등의 OS 상에서 IoT 엔진(1010)을 실행하는데 필요한 다양한 프레임워크를 설치(install)하고, Python, C++, Node.Js 등의 프로그램 언어로 개발된다.The IoT engine 1010 is software for implementing the Internet of Things (IoT) in the smart gateway 100, and various frameworks required to run the IoT engine 1010 on OS such as Windows 10 IoT and Linux are installed. and developed in programming languages such as Python, C++, and Node.Js.
구체적으로, IoT 엔진(1010)은 아래와 같은 소프트웨어 내지 알고리즘 모듈로 구성될 수 있다.Specifically, the IoT engine 1010 may be composed of the following software or algorithm modules.
1) IoT H/W 입출력 Interface: 스마트 게이트웨이(100)에서 시스템 H/W와 직접 연결된 센서 및 다양한 H/W, 즉 NFC 모듈, LED 및 LCD 등의 디스플레이 모듈, WCDMA 모듈, LTE모듈 등의 통신 모듈을 제어하기 위한 인터페이스 프로그램 1) IoT H/W Input/Output Interface: Sensors directly connected to the system H/W in the smart gateway 100 and communication modules such as various H/W, that is, NFC modules, display modules such as LED and LCD, WCDMA modules, LTE modules, etc. interface program to control
2) IoT Device Interface: 스마트 게이트웨이(100)에서 지그비(Zigbee)모듈을 통하여 연결된 센서 등 IoT Device(10)와의 입출력 처리 소프트웨어 및 RF433MHz, RF447MHz 모듈 등의 무선 통신으로 연결된 IoT Device(10)와의 입출력 처리 소프트웨어, 블루투스, 와이파이 등의 무선 통신으로 연결된 IoT Device(10)와의 입출력 처리 알고리즘 및 소프트웨어.2) IoT Device Interface: I/O processing software with IoT Device (10), such as a sensor connected through a Zigbee module in the smart gateway (100), and I/O processing with IoT Device (10) connected through wireless communication such as RF433MHz and RF447MHz modules Software, input/output processing algorithm and software with IoT Device (10) connected by wireless communication such as Bluetooth and Wi-Fi.
3) 스마트 박스(Smart IoT Box) 인터페이스: 스마트 게이트웨이(100)에서 USB 통신으로 연결된 스마트 박스와의 입출력 처리 알고리즘 및 소프트웨어로서, 스마트 박스(Smart IoT Box)는 기본적으로 Arduino H/W 등의 마이컴 플랫폼에 Sensor 및 액추에이터 H/W로 구성되며, 스마트 게이트웨이(100)와 USB 방식으로 최대 20개까지 연결될 수 있음. 특징적으로 스마트 게이트웨이(100)와 스마트 박스 상호간의 연결 프로토콜은 RESTful API로서 JSON 또는 XML 등의 포맷(format)으로 데이터를 인터페이스함.3) Smart IoT Box interface: As an input/output processing algorithm and software with a smart box connected by USB communication from the smart gateway 100, the smart box is basically a microcom platform such as Arduino H/W Consists of Sensor and Actuator H/W, and can be connected up to 20 with Smart Gateway (100) by USB method. Characteristically, the connection protocol between the smart gateway 100 and the smart box interfaces data in a format such as JSON or XML as a RESTful API.
4) VoIP 시스템 CTI 인터페이스: 인터넷 전화 등 VoIP System의 CTI 이벤트를 RESTful API로 인터페이스 처리하며 네트워크 장치에서 인터넷 전화 등 VoIP System의 신호를 Port Mirroring 방식으로 스마트 게이트웨이(100)에 이더넷으로 전송하면, 인터넷 전화의 인바운드(Inbound) 동안 SIP Protocol Interpreter를 통하여 CTI 이벤트 Push를 발생시키며 사용자 응용기기(300)에 팝업으로 표시되며 또한 전화 녹취를 위하여 G.711 PCM 신호를 변복조 처리하여 Wave 파일 등 오디오 파일을 생성하여 스마트 게이트웨이(100)에 저장하는 알고리즘 및 소프트웨어.4) VoIP system CTI interface: CTI events of VoIP system, such as internet phone, are interfaced with RESTful API, and when the network device transmits the signal of VoIP system, such as internet phone, to the smart gateway 100 through Ethernet via port mirroring, Internet phone During inbound, a CTI event push is generated through the SIP Protocol Interpreter, and is displayed as a pop-up on the user application device 300. Also, for phone recording, G.711 PCM signals are modulated and demodulated to generate audio files such as Wave files. Algorithms and software stored in the smart gateway (100).
5) 스마트 게이트웨이 IP Search: 동일 네트워크에 접속된 사용자 응용기기(300)에서 스마트 게이트웨이(100)의 Public IP 및 Local IP를 찾을 수 있도록 UDP 통신으로 Broadcasting하는 소프트웨어.5) Smart Gateway IP Search: Software that broadcasts through UDP communication so that the user application device 300 connected to the same network can find the public IP and local IP of the smart gateway 100.
6) Sound Play QueueInterface: 스마트 게이트웨이(100)에서 사운드 신호를 효과적으로 처리하기 위하여 IoT 이벤트가 발생할 때 저장된 사운드 파일을 Play하며, 이 때 실시간 처리를 위하여 사운드 버퍼(buffer)에 큐(Queue) 방식으로 데이터를 저장하고, 사운드 처리가 지연되면 필요에 따리 스킵(Skip)하고 최종 사운드를 실행하는 알고리즘 및 소프트웨어. 6) Sound Play QueueInterface: In order to effectively process the sound signal in the smart gateway 100, the stored sound file is played when an IoT event occurs, and at this time, the data is queued in the sound buffer for real-time processing Algorithms and software that store the sound processing, skip it as needed if the sound processing is delayed, and execute the final sound.
7) 로컬 서버(Local Server) DataBase 인터페이스: IoT 관련 정보는 스마트 게이트웨이(100)내 로컬 서버(1030)에 설치된 MySQL 등의 Database에 저장되며, 이 DataBase의 Create(생성), Insert(추가), Update(수정), Delete(삭제)를 처리하는 소프트웨어. 7) Local Server Database Interface: IoT-related information is stored in a database such as MySQL installed on the local server 1030 in the smart gateway 100, and Create, Insert, and Update of this database Software that handles (Modify), Delete (Delete).
8) MQTT Event 인터페이스: IoT 디바이스(10)의 Event에 대한 PUSH 알림 서비스를 사용자 응용기기(300) 제공하기 위하여 스마트 게이트웨이(100)에 MQTT Server를 설치하고, MQTT Broker, Publisher,Suscriber 등의 방식으로 IoT Event에 해당하는 PUSH Event를 발생시키고, 처리하는 소프트웨어. 8) MQTT Event interface: In order to provide the user application device 300 with a PUSH notification service for the event of the IoT device 10, an MQTT Server is installed in the smart gateway 100, and MQTT Broker, Publisher, Subscriber, etc. Software that generates and handles PUSH events corresponding to IoT events.
9) Web Socket Event 인터페이스: 하이브리드 App을 실행하는 사용자 응용기기(300)에 IoT Device(10)의 Event에 대한 PUSH 알림 서비스를 제공하기 위하여 스마트 게이트웨이(100)에 웹 소켓 프로그램을 개발하여 내장하고 IoT Event가 발생되면 사용자 응용기기(300)에 웹 소켓 방식으로 PUSH Event를 표시하고 처리하는 소프트웨어.9) Web Socket Event Interface: In order to provide a PUSH notification service for the event of the IoT Device (10) to the user application device (300) running the hybrid App, a web socket program is developed and embedded in the smart gateway (100) and IoT Software that displays and processes a PUSH Event in a web socket method on the user application device 300 when an event occurs.
10) 인증 서버(Auth Server)(200) 인터페이스: 스마트 게이트웨이(100)의 정보와 동작 상태를 확인하기 위하여 인증 서버(200)에 주기적으로 데이터를 전송하며, 사용자 응용기기(300)에서는 스마트 게이트웨이(100)의 Public IP, Local IP 등의 주소 정보를 통하여 로컬 서버와 접속하며, 스마트 게이트웨이(100)가 정상적으로 동작하는지 모니터링을 가능하게 하는 알고리즘 및 소프트웨어.10) Authentication server (Auth Server) 200 interface: Periodically transmits data to the authentication server 200 to check the information and operation status of the smart gateway 100, and the user application device 300 uses the smart gateway ( Algorithm and software that connects to a local server through address information such as Public IP and Local IP of 100) and enables monitoring whether the smart gateway 100 operates normally.
11) 로컬 서버 인터페이스: 스마트 게이트웨이(100)에서 IoT 정보를 직접 로컬 서버의 데이터베이스에 인터페이스하고 저장하는 소프트웨어. 11) Local server interface: Software that directly interfaces and stores IoT information in the database of the local server in the smart gateway 100.
12) RESTFul API Interface: IoT 프로토콜에 해당하는 RESTFul API 방식으로 처리하며 사용자 응용기기(300)에서 요청 정보를 인터프리터(Interpreter)하여 필요한 정보를 인터페이스하는 알고리즘 및 소프트웨어. 12) RESTFul API Interface: Algorithms and software that process the RESTFul API method corresponding to the IoT protocol and interface the necessary information by interpreting the requested information from the user application device (300).
다음으로, 로컬 서버(1030)는, IoT 엔진과 동일한 시스템인 스마트 게이트웨이(100)에서 Apache 등 웹 서버와, PHP, JSP, ASP 등의 서버 인터프리터 프로그램을 설치하고, 언어와 프로그램 저장 공간에 HTML, PHP, JavaScript 등으로 개발한 Hybrid App 프로그램을 업로드(Upload)하여 동작되는 구조로서 스마트 게이트웨이(100)의 Pubic IP 또는 Domain으로 접속되어 서비스를 제공하는 플랫폼이다. Next, the local server 1030 installs a web server such as Apache and a server interpreter program such as PHP, JSP, and ASP in the smart gateway 100, which is the same system as the IoT engine, and installs HTML, It is a structure operated by uploading a Hybrid App program developed in PHP, JavaScript, etc., and is a platform that provides services by being connected to the Public IP or Domain of the smart gateway 100.
구체적으로, 로컬 서버(1030)는 아래와 같은 소프트웨어 내지 알고리즘 모듈로 구성될 수 있다. Specifically, the local server 1030 may be configured with the following software or algorithm modules.
1) HTTP Server: Linux Apache Server 또는 Window IIS Server1) HTTP Server: Linux Apache Server or Window IIS Server
2) Web Server2) Web Server
- PHP Server, JSP Server, ASP Server- PHP Server, JSP Server, ASP Server
- 서버 사이드 스크립트 언어: PHP, JSP, ASP- Server-side scripting languages: PHP, JSP, ASP
- 클라이언트 언어: Java Script- Client Language: Java Script
3) DataBase Server: IoT 관련 정보를 MySql, MsSQL 등 데이터베이스에 저장함.3) DataBase Server: Stores IoT-related information in databases such as MySql and MsSQL.
4) FTP Server: FTP 서버를 통하여 개발자 시스템에서 웹 프로그램을 업로더(Upload)할 수 있다. 4) FTP Server: Web programs can be uploaded from the developer system through the FTP server.
5) Hybrid App Program: HTML5, CSS3, PHP, JavaScript, Jquery Mobile, AJAX 등으로 개발된 Hybrid App 프로그램으로서 프로그램 저장 공간에 업로드(Upload)한다. 5) Hybrid App Program: As a Hybrid App program developed with HTML5, CSS3, PHP, JavaScript, Jquery Mobile, AJAX, etc., it is uploaded to the program storage space.
6) Local Storage: 스마트 게이트웨이(100)의 Data File 공간에 설치되며 Application Program Source 등과 Audio Record File, Document File 등을 FTP Server를 통하여 업로드 하여 구성됨.6) Local Storage: Installed in the data file space of the smart gateway 100 and configured by uploading Application Program Source, Audio Record File, Document File, etc. through FTP Server.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 매체에 저장될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and the written program can be stored in a medium.
매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The medium may continuously store programs executable by a computer or temporarily store them for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
이상, 본 발명의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.In the above, the technical spirit of the present invention has been described in detail with preferred embodiments, but the technical spirit of the present invention is not limited to the above embodiments, and those skilled in the art within the scope of the technical spirit of the present invention Various modifications and changes are possible by the person.
10: IoT 디바이스
100: 스마트 게이트웨이
110: 제 1 웹 서버
120: 웹 소켓
130: MQTT 모듈
140: 제 2 웹 서버
150: 근거리 통신 모듈
160: 중앙 제어 모듈
200: 인증 서버
300: 사용자 응용기기
400: 상위 단말
500: 하위 단말
1010: IoT 엔진
1030: 로컬 서버10: IoT devices
100: smart gateway
110: first web server
120: web socket
130: MQTT module
140: second web server
150: short-range communication module
160: central control module
200: authentication server
300: user application device
400: upper terminal
500: lower terminal
1010: IoT engine
1030: local server
Claims (11)
상기 스마트 게이트웨이로부터 상기 스마트 게이트웨이의 식별 정보 및 IP 주소를 수신하는 인증 서버; 및
상기 스마트 게이트웨이와 인터넷으로 연결되어 IoT 서비스를 표시하고 제어하는 사용자 응용기기를 포함하되,
상기 사용자 응용기기는 1차적으로 상기 인증 서버에 접속하여 상기 스마트 게이트웨이의 Public IP 주소를 획득하고, 상기 획득된 Public IP 주소에 따라 상기 스마트 게이트웨이에 2차적으로 접속하여 상기 IoT 디바이스 관련 데이터를 수신하여 화면에 표시하거나 상기 사용자 응용기기에서 IoT 디바이스를 제어할 수 있는 것을 특징으로 하는 IoT 시스템.
A smart gateway connected to IoT devices including sensors and actuators to interface IoT-related data;
an authentication server receiving identification information and an IP address of the smart gateway from the smart gateway; and
Including a user application device connected to the smart gateway and the Internet to display and control IoT services,
The user application device firstly accesses the authentication server to obtain the public IP address of the smart gateway, and secondarily accesses the smart gateway according to the obtained public IP address to receive the IoT device-related data, An IoT system characterized in that it can be displayed on the screen or control the IoT device from the user application device.
상기 스마트 게이트웨이에서 자체적으로 로컬 서버가 실행되어 분산형 방식으로 IoT 서비스를 제공하는 것을 특징으로 하는 IoT 시스템.
According to claim 1,
The IoT system, characterized in that the local server is executed by itself in the smart gateway to provide IoT services in a distributed manner.
상기 인증 서버는,
상기 스마트 게이트웨이가 동작되면 상기 스마트 게이트웨이의 IoT 엔진에서 식별된 상기 스마트 게이트웨이의 Public IP, Local IP 및 Mac Address 중 적어도 하나의 정보를 수신하고, 상기 사용자 응용기기로부터 사용자 이이디를 전송받아 데이터베이스에 저장하는 것을 특징으로 하는 IoT 시스템.
According to claim 1,
The authentication server,
When the smart gateway operates, at least one information of Public IP, Local IP, and Mac Address of the smart gateway identified by the IoT engine of the smart gateway is received, and the user ID is received from the user application device and stored in the database. IoT system characterized in that.
상기 인증 서버는,
상기 스마트 게이트웨이가 동작되면 상기 스마트 게이트웨이의 IoT 엔진에서 일정한 시간 간격으로 주기적으로 사용자 이이디를 포함하여 Keep Alive 정보를 전송받아 데이터베이스에 저장하함으로써, 스마트 게이트웨이가 정상적으로 동작이 되는지 모니터링을 하며, 주기적인 정보 전송이 중단되면, 상기 스마트 게이트웨이에 이상이 발생된 것으로 판단하여 상기 사용자 응용기기에서 이상 상태를 나타내는 화면이 표시되는 것을 특징으로 하는 IoT 시스템.
According to claim 1,
The authentication server,
When the smart gateway is operated, the IoT engine of the smart gateway receives keep alive information including the user ID periodically at regular time intervals and stores it in a database to monitor whether the smart gateway operates normally, and to monitor whether the smart gateway operates normally. When transmission is interrupted, it is determined that an abnormality has occurred in the smart gateway, and a screen indicating an abnormal state is displayed on the user application device.
상기 사용자 응용기기에서 IoT 프로그램이 시작되면 1 차적으로 상기 인증 서버에 접속하여 로그인 프로그램을 실행하고, 로그인 단계에서 사용자의 인증이 확인되면, 상기 스마트 게이트웨이의 Public IP 주소 정보를 상기 인증 서버로부터 전송받아 2차적으로 스마트 게이트웨이의 로컬 서버로 접속하는 것을 특징으로 하는 IoT 시스템.
According to claim 1,
When the IoT program starts in the user application device, it first connects to the authentication server and executes the login program. When user authentication is confirmed in the login step, public IP address information of the smart gateway is received from the authentication server. IoT system characterized in that it connects to the local server of the smart gateway secondarily.
상기 스마트 게이트웨이에는 IoT 엔진과 로컬 서버를 포함하며, IoT 엔진에서는 다수의 IoT 디바이스와 연결되어 상기 다수의 IoT 디바이스를 제어하는 알고리즘 및 프로그램을 내장하고, 로컬 서버에서는 웹 서버 및 데이터베이스가 실행되어 상기 사용자 응용기기로 IoT 프로그램을 제공하는 것을 특징으로 하는 IoT 시스템.
According to claim 1,
The smart gateway includes an IoT engine and a local server, and the IoT engine is connected to a plurality of IoT devices and contains algorithms and programs for controlling the plurality of IoT devices. An IoT system characterized in that it provides an IoT program as an application device.
상기 스마트 게이트웨이와 유선 통신 또는 무선 통신으로 IoT 정보를 교환하며, 지그비, 불루트스, 와이파이, 400Mhz 대역의 무선 통신을 통해 CCTV 영상 데이터, 화재 발생 알림 센서 데이터, 출입문 개폐 센서 데이터, 온습도 센서 데이터를 상기 스마트 게이트웨이로 전송하게 되고.
IoT 센서 및 엑추에이터를 포함하는 스마트 박스는, 상기 스마트 게이트웨이와 USB 방식으로 연결되어, RESTful API 프로토콜로 정보 교환을 하며, 상기 스마트 게이트웨이와 교환되는 정보는 화재 알림 데이터, 무단 침입 알림 데이터 및 인터넷전화 수신 알림 데이터 중 적어도 하나를 포함하는 것을 특징으로 하는 IoT 관리 시스템.
The method of claim 1, wherein the IoT device,
IoT information is exchanged with the smart gateway through wired or wireless communication, and CCTV image data, fire notification sensor data, door opening and closing sensor data, and temperature and humidity sensor data are transmitted through ZigBee, Bluetooth, Wi-Fi, and 400Mhz wireless communication. and transmitted to the smart gateway.
The smart box including the IoT sensor and actuator is connected to the smart gateway by USB method and exchanges information through a RESTful API protocol. IoT management system, characterized in that it comprises at least one of the notification data.
상기 사용자 응용기기로의 웹 소켓 Push 이벤트 전송을 위하여, 웹 소켓 서버 알고리즘 및 소프트웨어를 포함하고, 상기 사용자 응용기기로의 Push이벤트 전송을 위하여 MQTT Broker, Publisher,Subscriber알고리즘 및 소프트웨어를 포함하는 IoT 엔진; 및
상기 IoT Device로부터 수신되는 이벤트 데이터에 기초하여, 상기 웹 소켓 방식 및 상기 MQTT 방식으로 스마트 게이트웨이의 IoT 엔진을 통해 상기 사용자 응용기기로 푸시 메시지를 전송하는 알고리즘 및 제어 소프트웨어를 포함하는 것을 특징으로 하는 스마트 게이트웨이.
A web server installed to provide web programs to user application devices;
An IoT engine including a web socket server algorithm and software to transmit a web socket push event to the user application device, and an MQTT Broker, Publisher, and Subscriber algorithm and software to transmit a push event to the user application device; and
Based on the event data received from the IoT device, an algorithm and control software for transmitting a push message to the user application device through the IoT engine of the smart gateway in the web socket method and the MQTT method Smart characterized in that it comprises gateway.
상기 IoT 디바이스에서 이벤트가 발생되면, 상기 스마트 게이트웨이는 IoT 엔진의 웹 소켓 처리 소프트웨어를 통해 상기 사용자 응용기기에 푸시 방식으로 이벤트를 전송하고, 상기 사용자 응용기기의 하이브리드 앱 프로그램은 화면에 팝업 알람을 표시하며,
상기 IoT 디바이스에서 이벤트가 발생되면, 상기 스마트 게이트웨이는 IoT 엔진에서 MQTT Publisher를 통해 상기 사용자 응용기기에 푸시 방식으로 데이터를 전송하고, 상기 사용자 응용기기의 네이티브 앱 프로그램은 화면에 팝업 알림을 표시하면서, 알림 사운드를 발생시키는 것을 특징으로 하는 스마트 게이트웨이.
According to claim 8,
When an event occurs in the IoT device, the smart gateway transmits the event to the user application device in a push method through the web socket processing software of the IoT engine, and the hybrid app program of the user application device displays a pop-up alarm on the screen. and
When an event occurs in the IoT device, the smart gateway transmits data in a push method to the user application device through the MQTT Publisher in the IoT engine, and the native app program of the user application device displays a pop-up notification on the screen, A smart gateway characterized by generating a notification sound.
상기 하이브리드 앱 프로그램은, 상기 IoT 디바이스를 제어하기 위하여 상기 스마트 게이트웨이에 웹 소켓 방식으로 제어 요청할 수 있고, 상기 스마트 게이트웨이는 제어 명령에 따라 상기 IoT Device를 제어할 수 있고,
상기 네이티브 앱 프로그램은 상기 IoT 디바이스를 제어하기 위하여 스마트 게이트웨이에 MQTT Publisher를 통하여 제어 요청할 수 있고, 상기 스마트 게이트웨이는 제어 명령에 따라 상기 IoT 디바이스를 제어하는 것을 특징으로 하는 스마트 게이트웨이.
According to claim 9,
The hybrid app program may make a web socket control request to the smart gateway to control the IoT device, and the smart gateway may control the IoT device according to a control command,
The native app program may request control through an MQTT Publisher to the smart gateway to control the IoT device, and the smart gateway controls the IoT device according to a control command Smart gateway.
상기 스마트 게이트웨이는, 상기 IoT 디바이스와의 지그비(Zigbee), 블루투스, 400MHz대역의 근거리 통신 방식을 통해 상기 이벤트 데이터를 수신하는 것을 특징으로 하는 스마트 게이트웨이.According to claim 8,
The smart gateway, characterized in that for receiving the event data through a Zigbee (Zigbee), Bluetooth, short-range communication method of 400MHz band with the IoT device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220010188A KR20230114082A (en) | 2022-01-24 | 2022-01-24 | IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220010188A KR20230114082A (en) | 2022-01-24 | 2022-01-24 | IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230114082A true KR20230114082A (en) | 2023-08-01 |
Family
ID=87561868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220010188A KR20230114082A (en) | 2022-01-24 | 2022-01-24 | IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230114082A (en) |
-
2022
- 2022-01-24 KR KR1020220010188A patent/KR20230114082A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190105757A (en) | IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER | |
US10764128B2 (en) | Systems and methods for commissioning a smart hub device | |
US20210226811A1 (en) | Integrated cloud system for premises automation | |
US10397013B1 (en) | User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device | |
US10142122B1 (en) | User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device | |
US9420044B2 (en) | Leveraging system signaling service advertisements for application-layer discovery and connection management in an internet of things (IoT) environment | |
EP2847962B1 (en) | System, method and computer program product for protocol adaptation | |
JP2004080755A (en) | Method for connecting electronic device to network, wireless electronic device and control device | |
US10594508B2 (en) | HDMI smart switch | |
US9049040B2 (en) | System and a method for remotely using electrical devices | |
EP2461523B1 (en) | Systems and methods for operating an appliance control device for an appliance | |
CN113572799A (en) | Method and device for accessing equipment to control platform and server | |
Fürst et al. | Leveraging physical locality to integrate smart appliances in non-residential buildings with ultrasound and bluetooth low energy | |
JP6573660B2 (en) | Method, network and control device for assigning actions to tags in a network | |
US10104111B2 (en) | Network security for internet of things | |
KR101985694B1 (en) | IoT SERVICE SYSTEM FOR ROOM TEMPERATURE CONTROL, FIRE ALARM AND SUPRESSION USING MQTT, AND METHOD THEREOF | |
KR20230114082A (en) | IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER | |
KR20230127812A (en) | SMART GATE USING I o T ENGINE ALGORITHM | |
KR102320027B1 (en) | Voice transmission method, voice transmission apparatus implementing the same, and system including the same | |
US12069105B1 (en) | System and method for monitoring the security configurations of connected devices | |
US9392059B2 (en) | Communication protocol | |
US20070130278A1 (en) | Home network system | |
KR101782884B1 (en) | System and method for detecting bottleneck | |
JP2014230064A (en) | Communication system, server device, communication method, and program | |
CN113452589A (en) | Wide area network intelligent home remote control system and working method thereof |