KR20190105757A - 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어 - Google Patents

로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어 Download PDF

Info

Publication number
KR20190105757A
KR20190105757A KR1020180026251A KR20180026251A KR20190105757A KR 20190105757 A KR20190105757 A KR 20190105757A KR 1020180026251 A KR1020180026251 A KR 1020180026251A KR 20180026251 A KR20180026251 A KR 20180026251A KR 20190105757 A KR20190105757 A KR 20190105757A
Authority
KR
South Korea
Prior art keywords
smart gateway
iot
smart
user application
data
Prior art date
Application number
KR1020180026251A
Other languages
English (en)
Inventor
이효열
Original Assignee
이효열
주식회사 아솔
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이효열, 주식회사 아솔 filed Critical 이효열
Priority to KR1020180026251A priority Critical patent/KR20190105757A/ko
Publication of KR20190105757A publication Critical patent/KR20190105757A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • H04L67/26
    • H04L67/2809
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Abstract

본 발명은 스마트 게이트웨이의 로컬서버(Local Server) 연동 방식의 IoT 엔진 알고리즘 및 소프트웨어에 관한 것으로, 센서와 엑추에이터 등의 IoT 디바이스와 유무선으로 연결되어 인터페이스하는 스마트 게이트웨이; 스마트 게이트웨이로부터 스마트 게이트웨이의 공인 아이피(Public IP)의 주소 및 식별 정보를 인터넷으로 전송받아 저장하는 인증 서버(Auth Server); 및 로컬서버(Local Server)를 포함하는 스마트 게이트웨이의 공인 아이피를 찾아서 접속하기 위하여 1차적으로 이미 정해진 인증 서버에 접속하여 스마트 게이트웨이의 공인 IP를 획득하고 2차적으로 획득된 공인 IP 주소로 스마트 게이트의 로컬 서버(Local Server)에 접속하여 Hybrid App Prrogram을 제공 받으며 IoT 디바이스의 관련 정보를 수신하여 화면에 표시하는 사용자 응용기기를 포함하되, 특히 사용자 알림 서비스는 IoT 엔진에 웹 소켓(Web Socket) 및 MQTT의 Push 방식을 특징으로 하여 양방향(Interactive) 통신을 효과적으로 가능케 하는  IoT 엔진 알고리즘 및 소프트웨어에 관한 것이다.

Description

로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어{IoT ENGINE ALGORITHM AND SOFTWARE FOR SMART GATEWAY INTERWORKING WITH LOCAL SERVER}
본 발명은 IoT(internet of things) 분야에 관한 것이다. 보다 구체적으로, 본 발명은 IoT 디바이스, 사용자 응용 기기 및 스마트 게이트웨이의 인터페이스를 위한 통신 방법을 포함한 IoT 엔진 알고리즘 및 소프트웨어에 관한 것이다.
IoT(사물 인터넷)는 4차 산업 혁명의 핵심 기술 중 하나로서, 지능형 스마트 디바이스를 기반으로 우리의 삶의 질을 향상시킬 것으로 예상되는 새로운 컴퓨팅 패러다임이다.
IoT 기술은 스마트 홈을 비롯하여, 스마트 팜, 스마트 시티, 스마트 팩토리, 스마트 플러그, 스마트 파워 및 스마트 디스플레이 등 수많은 산업 분야에 적용될 수 있다.
IoT 시스템을 구축하기 위해서는 외부의 사용자 응용기기와 내부의 IoT 디바이스들을 인터넷 상으로 연결하기 위한 게이트웨이가 존재하여야 하는데, 기존에는 대부분 마이컴의 H/W 기반의 TCP 소켓 방식의 기술로서 IoT 시스템을 개발하는데 시간 및 비용 측면에서 단점이 있었다.
최근 IoT 플렛폼의 하나로 라즈베리파이 및 오렌지파이 등 32비트의 고사양, 저가의 임베디드 플랫폼이 출시되었고, 그러한 임베디드 IoT 플랫폼에 대해 IoT 엔진 알고리즘 및 소프트웨어를 개발하여 보다 빠르고 쉽고 저렴하게 다양한 IoT 시스템을 구현할 수 있게 될 것으로 기대되고 있다.
본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 사용자 응용기기(Applicalion)와 IoT 디바이들을 연결하는 일반적인 게이트웨이를 운영하는데 있어, 많은 비용이 소요되는 외부 서버를 사용하는 대신 각각의 사용자가 이용하는 게이트웨이에 직접 로컬 서버(Local Server)를 실장하여 분산형 방식으로 데이터를 처리하는 것을 기술적 과제로 한다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 스마트 게이트웨이 내부에 로컬 서버(Local Server)를 운영하고, 해당 로컬 서버의 Public IP를 찾아가기 위한 기존 방식인 DDNS(Dynamic DNS) 방식의 불편함을 해결하는 것을 기술적 과제로 한다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기존의 불안정한 네트워크 통신 기술인 TCP Socket 방식을 지양하고, 새로운 통신 방식의 기술 구현을 하는 것을 기술적 과제로 한다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기술 개발에 많은 기간이 소요되고 기술적 한계를 가진 기존의 펌웨어 방식에서 벗어나 보다 효율적인 IoT 엔진을 제공하는 것을 기술적 과제로 한다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 IoT 디바이스의 정보를 연결 관리하는 스마트 게이트웨이의 정상적인 동작 상태를 모니터링하여 장애가 발생하였을 경우 사용자 응용기기에 실시간으로 알려주는 것을 기술적 과제로 한다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 IoT 디바이스의 정보를 사용자 응용기기와 유무선 통신 방식으로 중개하는 것을 기술적 과제로 한다.
본 발명의 일 실시예에 따른 IoT 시스템은, 사용자 응용기기(Applicalion)와 IoT 디바이스들을 연결하는 스마트 게이트웨이; 및 스마트 게이트웨이 내부에서 운영되는 로컬 서버(Local Server)의 공인 아이피(Public IP)를 찾아가기 위하여 Public IP 주소 정보를 저장하고 제공해주는 인증 서버; 및 IoT 프로그램이 시작되면 1차적으로 상기 인증 서버에 접속하여 로그인 프로그램을 실행하고, 로그인 단계에서 사용자의 인증 상태가 확인되면 상기 스마트 게이트웨이의 Public IP 등의 주소 정보를 상기 인증 서버로부터 전송받아 2차적으로 스마트 게이트웨이의 로컬 서버로 접속하는 사용자 응용기기를 포함할 수 있다.
상기 스마트 게이트웨이가 동작되면 IoT 엔진에서 스마트 게이트웨이의 Public IP, Local IP, Mac Address등의 정보를 식별하고, 사용자 아이디와 상기 식별된 정보를 인증 서버에 전송하면, 인증 서버는 전송받은 데이터를 데이터베이스에 저장할 수 있다.
사용자 응용기기에서 스마트 게이트웨이의 정상적인 동작 상태를 모니터링하기 위하여, 스마트 게이트웨이의 IoT 엔진에서 일정한 시간 간격으로 주기적으로 Keep Alive 정보를 인증 서버로 전송하며, 스마트 게이트웨이에 장애가 발생하여 전송이 중단되면 이상이 발생된 것으로 판단되어 해당 스마트폰 등 사용자 응용기기에서 이상 상태가 화면에 표시될 수 있다.
상기 IoT 디바이스에서 이벤트가 발생되면 사용자 응용기기의 하이브리드 앱 프로그램에서는 상기 스마트 게이트웨이의 IoT 엔진의 웹 소켓 처리 소프트웨어를 통해 상기 사용자 응용기기에 푸시 방식으로 이벤트가 전송하고, 상기 이벤트는 사용자 응용기기 화면에 팝업 알람으로 표시되며,
네이티브 앱 프로그램에서는 상기 스마트 게이트웨이의 IoT 엔진에서 MQTT Publisher를 통해 상기 사용자 응용기기에 푸시 방식으로 데이터가 전송되면 사용자 응용 기기는 화면에서 이벤트 정보를 팝업 알림으로 표시하고, 필요에 따라 알림 사운드를 발생시킬 수 있다.
상기 IoT 디바이스는 스마트 게이트웨이와 유무선으로 연결되어 IoT 정보를 교환하는데, 지그비, 블루투스, 와이파이, 400MHz 대역의 무선 통신 등의 방식으로 화재 발생 알림 센서, 출입문 개폐 센서, 온습도 센서 등은 데이터를 스마트 게이트웨이로 전송하고, 유선으로는 USB 방식으로 IoT 센서 및 엑추에이터를 포함하는 스마트 박스로 연결되어 IoT 데이터를 전송하거나 제어할 수 있다.
또한 스마트 게이트웨이는 RESTful API 방식으로 인터페이스하여 다른 시스템과 쉽게 연동을 할 수 있다.
본 발명의 일 실시예에 따른 IoT 시스템은,
IoT 디바이스들과 연결되어 IoT 디바이스 관련 데이터를 획득하는 스마트 게이트웨이; 상기 스마트 게이트웨이로부터 상기 스마트 게이트웨이의 식별 정보 및 IP 주소를 수신하는 인증 서버; 및 상기 인증 서버에 1차적으로 접속하여 상기 스마트 게이트웨이의 IP 주소를 수신하고, 상기 수신된 IP 주소에 따라 상기 스마트 게이트웨이에 2차적으로 접속하여 상기 IoT 디바이스 관련 데이터를 수신하여 화면에 표시하는 사용자 응용기기를 포함할 수 있다.
상기 인증 서버는, 상기 사용자 응용기기로부터 사용자 응용기기의 식별 정보를 수신하고, 상기 사용자 응용기기의 식별 정보에 매핑된 식별 정보를 갖는 스마트 게이트웨이의 IP 주소를 상기 사용자 응용기기로 전송할 수 있다.
상기 인증 서버는, 기 등록된 스마트 게이트웨이들의 식별 정보 리스트를 저장하며, 상기 식별 정보 리스트와 적어도 하나의 스마트 게이트웨이로부터 수신된 식별 정보를 비교하여, 식별 정보를 전송하지 않는 스마트 게이트웨이의 상태에 이상이 발생한 것으로 판단할 수 있다.
상기 스마트 게이트웨이의 IP 주소는, 유동 IP 주소를 포함하되, 상기 스마트 게이트웨이는, 상기 식별 정보 및 IP 주소를 주기적으로 상기 인증 서버로 전송할 수 있다.
상기 사용자 응용기기는, 기 저장된 상기 인증 서버의 IP 주소에 따라 상기 인증 서버에 1차적으로 접속할 수 있다.
상기 IoT 디바이스 관련 데이터는, CCTV 영상 데이터, 화재 발생 알림 데이터, 출입문 개폐 알림 데이터, 전화 수신 알림 데이터 및 무단 침입 알림 데이터 중 적어도 하나를 포함할 수 있다.
본 발명의 다른 실시예에 따른 스마트 게이트웨이는,
상위 단말과 HTTP 프로토콜로 연결되는 제 1 웹 서버; 상기 상위 단말과 상기 제 1 웹 서버를 양방향으로 연결시키는 인터페이스를 구동시키는 웹 소켓; 상기 상위 단말과 MQTT 프로토콜로 연결되는 MQTT 모듈; 및 하위 단말로부터 수신되는 이벤트 데이터에 기초하여, 상기 웹 소켓과 상기 MQTT 모듈 각각을 통해 상기 상위 단말로 푸시 메시지를 전송하는 중앙 제어 모듈을 포함할 수 있다.
상기 웹 소켓을 통해 상기 상위 단말로 전송되는 푸시 메시지는, 상기 상위 단말의 웹 어플리케이션을 통해 수신되어 화면에 표시되며, 상기 MQTT 모듈을 통해 상기 상위 단말로 전송되는 푸시 메시지는, 상기 상위 단말의 네이티브 어플리케이션을 통해 수신되어 화면에 표시될 수 있다.
상기 웹 서버는, 상기 상위 단말로부터 상기 하위 단말을 위한 제어 요청 데이터을 수신하고, 상기 중앙 제어 모듈은, 상기 MQTT 모듈을 통해 상기 하위 단말로 제어 명령 데이터를 전달할 수 있다.
상기 중앙 제어 모듈은, 하위 단말로부터 수신되는 이벤트 데이터에 기초하여 제어 명령 데이터를 생성하고, 상기 생성된 제어 명령 데이터를 상기 MQTT 모듈을 통해 다른 하위 단말로 전송할 수 있다.
상기 상위 단말은 복수 개이되, 상기 제 1 웹 서버는 어느 하나의 상위 단말로부터 다른 상위 단말을 위한 이벤트 데이터를 수신하고, 상기 중앙 제어 모듈은 상기 어느 하나의 상위 단말로부터 수신되는 이벤트 데이터에 기초하여, 상기 웹 소켓과 상기 MQTT 모듈 각각을 통해 상기 다른 상위 단말로 푸시 메시지를 전송할 수 있다.
상기 스마트 게이트웨이는, 상기 하위 단말과 HTTP 프로토콜로 연결되는 제 2 웹 서버를 더 포함하되, 상기 제 2 웹 서버는 상기 하위 단말로부터 상기 이벤트 데이터를 수신할 수 있다.
상기 스마트 게이트웨이는, 상기 하위 장비와의 근거리 통신을 위한 근거리 통신 모듈을 더 포함하되, 상기 근거리 통신 모듈은 상기 하위 장비로부터 근거리 통신 방식을 통해 상기 이벤트 데이터를 수신할 수 있다.
본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 IoT 디바이스, 사용자 응용기기 및 스마트 게이트웨이의 인터페이스를 위한 통신 방법을 포함한 IoT 엔진 알고리즘 및 소프트웨어를 제안함으로써, 스마트 팜, 스마트 시티, 스마트 팩토리, 스마트 플러그, 스마트 파워 및 스마트 디스플레이 등 수많은 IoT 산업 분야에 기반 기술로 적용될 수 있도록 하여 시장이 요구하는 IoT 제품과 서비스를 효과적으로 제공할 수 있다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기존의 DDNS 방식을 개선하여, 새로운 방식의 스마트 게이트웨이의 Public IP 주소를 찾아 갈 수 있도록 인증 서버 방식을 개발함으로써 종래보다 쉽게 로컬 서버와 접속할 수 있으므로 효과적인 IoT 플렛폼을 구축할 수 있다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 스마트 게이트웨이에서 주기적으로 Keep Alive 정보를 인증 서버에 전송하여 사용자 응용기기에서 모니터링을 가능케하여 신뢰성이 높은 IoT 시스템을 제공할 수 있다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어는 기존의 TCP Socket 방식의 자체적 통신 방식에서 벗어나 웹 소켓 및 MQTT 방식의 Push 이벤트를 전송하여 효과적인 알림 서비스가 가능하다.
다만, 본 발명의 일 실시예에 따른 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 IoT 시스템을 설명하기 위한 도면이다.
도 2는 스마트 게이트웨이, 인증 서버 및 사용자 응용기기의 동작을 설명하기 위한 도면이다.
도 3은 인증 서버에 저장되는 데이터를 도시하는 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 스마트 게이트웨이, 상위 단말 및 하위 단말을 도시하는 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 스마트 게이트웨이의 구성을 설명하기 위한 도면이다.
도 6은 하위 단말의 이벤트 데이터에 따라 상위 단말로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.
도 7은 어느 하나의 상위 단말의 이벤트 데이터에 따라 다른 하나의 상위 단말로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.
도 8은 상위 단말의 제어 요청 데이터에 따라 하위 단말로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.
도 9는 어느 하나의 하위 단말의 이벤트 데이터에 따라 다른 하나의 하위 단말로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.
도 10 내지 도 12는 본 발명의 일 실시예에 따른 스마트 게이트웨이의 소프트웨어 블록을 나타내는 예시적인 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명은 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 IoT 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 스마트 게이트웨이(100)는 내부 네트워크를 통해 여러 IoT 디바이스(10)들과 연결된다. 스마트 게이트웨이(100)는 스마트 홈에서의 로컬(local) 서버로 동작할 수 있다. 스마트 게이트웨이(100)는 IoT 디바이스(10)들, 예를 들어, 엑추에이터의 동작을 제어할 수 있다.
상기 내부 네트워크는 LAN(local area network)으로서, 스마트 게이트웨이(100)와 여러 IoT 디바이스(10)들은 지그비(Zigbee) 통신, 블루투스 통신, RF443MHz 통신, RF447MHz 통신, Wifi 통신, RFID(radio frequency identification) 통신, 이더넷 통신, USB 통신, 시리얼 통신 등을 통해 서로 간에 통신을 할 수 있다. 스마트 게이트웨이(100)와 IoT 디바이스(10)들 간의 통신 방법은 상기 예시된 방법에 한정되지 않으며, 당업계에 자명한 범위 내에서 다양한 통신 방법이 이용될 수 있다.
IoT 디바이스(10)들은, 예를 들어, 센서와 엑추에이터를 포함할 수 있으며, IoT 디바이스(10)들은 스마트 게이트웨이(100)와 유선 또는 무선 통신으로 연결될 수 있다.
IoT 디바이스(10)들은 예를 들어, CCTV(10a), 연기 감지 센서(10b), 움직임 감지 센서(10c), 도어 개폐 감지 센서(10d) 및 인터넷 전화(10e)를 포함할 수 있으나 이에 한정되는 것은 아니다. IoT 디바이스(10)들 각각은 자신과 관련된 데이터, 예를 들어, 상태 데이터, 센싱 데이터 등을 스마트 게이트웨이(100)로 전송하여 스마트 게이트웨이(100)를 통해 사용자 응용기기(300)로 해당 데이터가 전송되도록 할 수 있다.
스마트 게이트웨이(100), 인증 서버(200) 및 사용자 응용기기(300)는 외부 네트워크를 통해 서로 연결될 수 있으며, 상기 외부 네트워크는 WAN(wide area network)으로서, 예를 들어, 인터넷을 포함할 수 있다.
사용자 응용기기(300)는 스마트 게이트웨이(100)에 접속하여 IoT 디바이스 관련 데이터를 수신 및 화면에 표시한다. 도 1은 사용자 응용기기(300)로서 스마트폰을 도시하고 있지만, 이는 하나의 예시일 뿐이며, 사용자 응용기기(300)는 스마트폰 뿐만 아니라, 스마트 게이트웨이(100)에 접속하여 데이터를 수신할 수 있는 다양한 기기, 예를 들어, 데스크탑 PC, 태블릿 PC, 웨어러블 기기, 노트북 등을 포함할 수 있다. 또한, 도 1은 하나의 사용자 응용기기(300)만을 도시하고 있는데, 사용자 응용기기(300)의 개수는 복수일 수도 있다.
사용자 응용기기(300)에는 스마트 게이트웨이(100)에 접속하여 관련 데이터를 수신할 수 있는 어플리케이션이 설치될 수 있다. 사용자 응용기기(300)는 인증 서버(200)에 접속하여 어플리케이션을 다운로드하고 설치할 수 있다.
IoT 디바이스(10)들은 사용자 응용기기(300)에 대해 하위 기기로 동작하고, 반대로 사용자 응용기기(300)는 IoT 디바이스(10)들에 대해 상위 기기로 동작하는데, 이들 사이의 통신에 대해서는 도 4 이하를 참조하여 후술한다.
인증 서버(200)는 스마트 게이트웨이(100)에 대한 사용자 응용기기(300)의 접속을 중개한다. 사용자 응용기기(300)는 로컬 서버로 동작하는 스마트 게이트웨이(100)에 접속하기 위한 publicIP 주소를 모르는 상태이므로, 인증 서버(200)를 통해 스마트 게이트웨이(100)의 publicIP 주소를 획득할 수 있다. 사용자 응용기기(300)는 인증 서버(200)로부터 획득한 스마트 게이트웨이(100)의 publicIP 주소에 따라 스마트 게이트웨이(100)에 접속하여 IoT 디바이스 관련 데이터를 수신 및 화면에 표시할 수 있다.
이하에서는, 도 2를 참조하여, 스마트 게이트웨이(100), 인증 서버(200) 및 사용자 응용기기(300)의 동작에 대해 상세히 설명한다.
도 2는 스마트 게이트웨이(100), 인증 서버(200) 및 사용자 응용기기(300)의 동작을 설명하기 위한 도면이다.
S210 단계에서, 스마트 게이트웨이(100)는 IoT 디바이스 관련 데이터를 획득한다. IoT 디바이스(10)들 각각은 내부 네트워크를 통해 자신의 상태 데이터, 센싱 데이터 등의 IoT 디바이스 관련 데이터를 스마트 게이트웨이(100)로 전송할 수 있다.
본 발명의 일 실시예에서 상기 IoT 디바이스 관련 데이터는, IoT 디바이스(10)의 상태 데이터(예를 들어, 배터리 상태 정보, 고장 발생 여부 정보 등), CCTV 영상 데이터, 화재 발생 알림 데이터, 출입문 개폐 알림 데이터, 전화 수신 알림 데이터 및 무단 침입 알림 데이터 중 적어도 하나를 포함할 수 있다.
또한, 상기 S210 단계에서, 스마트 게이트웨이(100)는 로컬 서버 정보 식별 단계로서, 자신의 사용자 아이디(User ID), 공인 아이피(Public IP), Local IP 및 Mac 주소 등을 확인할 수 있다.
S220 단계에서, 스마트 게이트웨이(100)는 외부 네트워크를 통해 인증 서버(200)로 자신의 식별 정보 및 IP 주소를 전송한다. 스마트 게이트웨이(100)의 식별 정보는 예를 들어, MAC 주소를 포함할 수 있으며, IP 주소는 공인 IP 주소를 포함할 수 있다.
일 실시예에서, 스마트 게이트웨이(100)는 자신에게 접속 가능한 단말(예를 들어, 사용자 응용기기(300))의 식별 정보를 인증 서버(200)로 더 전송할 수도 있다.
구현예에 따라, 상기 S220 단계에서, 스마트 게이트웨이(100)는 자신의 사용자 아이디(User ID), 공인 아이피(Public IP), Local IP 및 Mac 주소 등을 인증 서버(200)에 인터넷을 통하여 주기적으로 전송할 수 있고, 인증 서버(200)는 수신된 정보를 DB(DataBase)에 저장할 수 있다. 스마트 게이트웨이(100)가 주기적으로 정보를 전송하는 목적은 후술하는 바와 같이, 사용자 응용기기(300)에서 로컬 서버의 아이피를 찾을 수 있게 하기 위함이며, 일정한 시간 간격으로 Keep Alive 정보를 전송하여 스마트 게이트웨이(100)의 정상적인 동작 상태를 사용자 응용기기(300)가 확인할 수 있게 하기 위함이다.
S230 단계에서, 스마트 게이트웨이(100)에 접속하고자 하는 사용자 응용기기(300)는 1차적으로 인증 서버(200)로 접속하여 인증 서버(200)로 자신의 식별 정보를 전송한다. 사용자는 사용자 응용기기(300)에 설치된 어플리케이션을 통해 인증 서버(200)에 접속하여 자신의 식별 정보인 아이디을 입력할 수 있다.
사용자 응용기기(300)는 인증 서버(200)의 IP 주소를 미리 저장하고 있을 수 있다. 예를 들어, 사용자 응용기기(300)에 설치되는 어플리케이션은 기 저장된 인증 서버(200)의 IP 주소에 따라 최초 인증 서버(200)로 접속할 수 있다. 상기 사용자 응용기기(300)의 식별 정보는 예를 들어, 회원으로 가입한 사용자의 아이디 또는 사용자 응용기기(300)의 MAC 주소를 포함할 수 있으나, 이에 한정되는 것은 아니다.
S240 단계에서, 인증 서버(200)는 스마트 게이트웨이(100)의 식별 정보와 사용자 응용기기(300)의 식별 정보를 비교한다. 인증 서버(200)는 여러 스마트 게이트웨이(100)의 식별 정보와 여러 사용자 응용기기(300)의 식별 정보를 매핑시켜 테이블에 저장할 수 있는데, 어느 한 사용자 응용기기(300)로부터 식별 정보가 수신되면, 사용자 응용기기(300)의 식별 정보에 매핑된 스마트 게이트웨이(100)를 특정할 수 있다.
일 실시예에서, 스마트 게이트웨이(100)로부터 스마트 게이트웨이(100)에 접속 가능한 단말의 식별 정보가 인증 서버(200)로 전송된 경우, 인증 서버(200)는 스마트 게이트웨이(100)로부터 수신된 단말의 식별 정보와, 사용자 응용기기(300)의 식별 정보를 비교하여 스마트 게이트웨이(100)를 특정할 수도 있다.
S250 단계에서, 인증 서버(200)는 사용자 응용기기(300)의 식별 정보에 매핑된 식별 정보를 갖는 스마트 게이트웨이(100)의 IP 주소를 사용자 응용기기(300)로 전송한다.
인증 서버(200)로부터 사용자 응용기기(300)로 전송되는 IP 주소는, 인증 서버(200)가 스마트 게이트웨이(100)로부터 수신한 IP 주소이다.
S260 단계에서, 사용자 응용기기(300)는 인증 서버(200)로부터 수신한 IP 주소에 따라 2차적으로 스마트 게이트웨이(100)에 접속한다.
S270 단계에서, 스마트 게이트웨이(100)는 IoT 디바이스 관련 데이터를 사용자 응용기기(300)로 전송하고, S280 단계에서, 사용자 응용기기(300)는 수신한 IoT 디바이스 관련 데이터를 화면에 표시한다. 실시예에서, 사용자 응용기기(300)는 스마트 게이트웨이(100)의 로컬 서버에서 제공하는 IoT 프로그램인 하이브리드 앱 프로그램을 실행하고, 스마트 게이트웨이(100)와 연결된 다양한 IoT 디바이스(10)의 상태 정보를 수신하거나, IoT 디바이스(10)의 동작을 제어할 수 있게 된다.
구현예에 따라서, 스마트 게이트웨이(100)의 IP 주소는 유동 IP 주소일 수 있는데, 이 경우, 스마트 게이트웨이(100)는 주기적으로 자신의 IP 주소를 인증 서버(200)로 전송할 수 있다.
예를 들어, 상기 S220 단계에서, 스마트 게이트웨이(100)는 10분마다 자신의 식별 정보와 IP 주소를 인증 서버(200)로 전송할 수 있다.
인증 서버(200)는 상기 S250 단계에서, 사용자 응용기기(300)로 스마트 게이트웨이(100)의 IP 주소를 최초로 전송한 이후, 스마트 게이트웨이(100)로부터 주기적으로 수신되는 IP 주소에 따라 스마트 게이트웨이(100)의 IP 주소가 변경된 경우, 변경된 IP 주소를 사용자 응용기기(300)로 전송하여 사용자 응용기기(300)이 스마트 게이트웨이(100)에 원활하게 접속할 수 있게 할 수 있다.
도 3은 인증 서버(200)에 저장되는 테이블(350)을 도시하는 예시적인 도면이다.
앞서 설명한 바와 같이, 인증 서버(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)를 사용하고 있는 경우이다.
인증 서버(200)는 각 스마트 게이트웨이(100)로부터 수신되는 IP 주소에 따라 테이블(350)을 업데이트하고, 이후, 사용자 응용기기(300)의 접속에 따라 사용자 응용기기(300)의 식별 정보에 매핑되는 스마트 게이트웨이(100)의 IP 주소를 사용자 응용기기(300)로 전송한다.
도 3에서 사용자 응용기기 B가 인증 서버(200)에 접속한 경우, 인증 서버(200)는 사용자 응용기기 B에 매핑된 00:90:C0:06:96:31의 식별 정보를 갖는 스마트 게이트웨이(100)의 IP 주소, 즉 255.147.69.1를 사용자 응용기기 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)에 접속할 수 있다.
구현예에 따라서, 인증 서버(200)는 식별 정보와 IP 주소를 전송하지 않은 스마트 게이트웨이(100)에 이상이 발생한 것으로 판단할 수 있다. 예를 들어, 10시에 각 스마트 게이트웨이(100)로부터 식별 정보와 IP 주소를 수신할 것으로 예정되어 있었으나, 10시 또는 10시로부터 기 설정된 시간 간격 내에 식별 정보와 IP 주소를 전송하지 않은 스마트 게이트웨이(100)가 존재하는 경우, 해당 스마트 게이트웨이(100)에 이상이 발생한 것으로 판단할 수 있다. 도 3에서 식별 정보 C1:34:12:95:BA:00를 갖는 스마트 게이트웨이(100)로부터 식별 정보와 IP 주소가 수신되지 않은 경우, 해당 스마트 게이트웨이(100)에 이상이 발생한 것으로 판단하고 관리자의 단말로 관련 정보를 전송할 수 있다.
앞서 설명한 바와 같이, 각 스마트 게이트웨이(100)로부터 인증 서버(200)로 식별 정보와 IP 주소가 주기적으로 전송되는 경우, 인증 서버(200)는 주기적으로 식별 정보와 IP 주소가 수신되는지 여부에 따라 각 스마트 게이트웨이(100)의 이상 여부를 판단할 수 있다.
이하에서는, 도 4 내지 도 9를 참조하여, 스마트 게이트웨이(100), IoT 디바이스(10) 및 사용자 응용기기(300) 사이의 통신 방법에 대해 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 스마트 게이트웨이(100), 상위 단말(400) 및 하위 단말(500)을 도시하는 예시적인 도면이다.
도 4를 참조하면, 스마트 게이트웨이(100)는 적어도 하나의 하위 단말(500)들 및 적어도 하나의 상위 단말(400)들과 연결되어 이들 사이의 통신을 제어한다. 여기서, 상위 단말(400)은 도 1과 관련하여 설명한 사용자 응용기기(300)를 포함할 수 있고, 하위 단말(500)은 도 1과 관련하여 설명한 IoT 디바이스(10)를 포함할 수 있다.
도 1은 5개의 하위 단말(500) 및 3개의 상위 단말(400)을 도시하고 있지만, 이는 하나의 예시일 뿐이며, 하위 단말(500) 및 상위 단말(400) 각각은 적어도 한 개 또는 복수 개일 수 있다.
본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 하위 단말(500)에서 발생한 이벤트에 대해 상위 단말(400)로 알려주거나, 상위 단말(400)의 요청에 따라 하위 단말(500)로 데이터를 전송할 수 있다. 또한, 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 상위 단말(400)이나 하위 단말(500)로부터 전송되는 데이터에 기초하여, 관련 데이터를 어느 단말로 전송해야 할지를 스스로 판단할 수도 있다.
본 발명의 일 실시예에서, 상기 상위 단말(400)은 데스크탑 PC, 스마트폰, 태블릿 PC, 스마트워치 등 사용자에 의해 이용되는 단말을 의미하며, 상기 하위 단말(500)은 예를 들어, 각종 공장 기기, 각종 센서, 각종 측정 기기 등을 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)의 기능 구성을 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 제 1 웹 서버(110), 웹 소켓(120), MQTT(Message Queue Telemetry Transport) 모듈(130), 제 2 웹 서버(140), 근거리 통신 모듈(150) 및 중앙 제어 모듈(160)을 포함할 수 있다.
제 1 웹 서버(110)는 상위 단말(400)과 HTTP 프로토콜로 연결된다. 예를 들어, 상위 단말(400)은 제 1 웹 서버(110)와 인터넷으로 연결된 상태에서 HTTP 프로토콜을 통해 제 1 웹 서버(110)로 데이터를 송신할 수 있다. 앞서 도 2와 관련하여 설명한 스마트 게이트웨이(100)의 IP 주소는 제 1 웹 서버(110)의 IP 주소를 포함할 수 있다.
도 5에 도시된 제 1 상위 단말(400a) 및 제 2 상위 단말(400b) 각각은 도 4에 도시된 적어도 하나의 상위 단말(400)들 중 어느 하나를 의미할 수 있다. 도 5에는 두 개의 상위 단말(400a, 400b)이 도시되어 있으나, 이는 하나의 예시일뿐이며, 하나의 상위 단말(400) 또는 그 이상의 개수의 상위 단말(400)이 제 1 웹 서버(110)에 연결될 수도 있다.
웹 소켓(120)은 상위 단말(400)과 제 1 웹 서버(110)를 양방향으로 연결시키는 인터페이스를 구동한다. 웹 소켓(120)을 통해 제 1 웹 서버(110)와 상위 단말(400)은 양방향 통신을 할 수 있다.
MQTT 모듈(130)은 상위 단말(400) 및 하위 단말(500)과 MQTT 프로토콜로 연결된다. MQTT 모듈(130)은 HTTP의 request/response 방식 대신 브로커(broker)를 통해 publish/subscribe방식으로 메시지를 주고 받는 개방형 표준 메시징 프로토콜, 즉 MQTT 프로토콜을 이용한다. MQTT 프로토콜은 HTTP와 마찬가지로 TCP/IP 프로토콜 위에서 동작하면서도 기존 프로토콜의 신뢰 및 속도 저하, 폴링(polling)으로 인한 배터리 및 성능저하를 방지한다.
제 2 웹 서버(140)는 제 1 하위 단말(500a)과 HTTP 프로토콜로 연결된다. 예를 들어, 제 1 하위 단말(500a)은 제 2 웹 서버(140)와 인터넷으로 연결된 상태에서 HTTP 프로토콜을 통해 제 2 웹 서버(140)로 데이터를 송신할 수 있다. 상기 제 1 하위 단말(500a)은 도 4에 도시된 적어도 하나의 하위 단말(500)들 중 어느 하나에 해당할 수 있다.
근거리 통신 모듈(150)은 제 2 하위 단말(500b)과 근거리 통신 방식으로 연결된다. 여기서, 근거리 통신 방식은, 예를 들어, Wifi 통신, 지그비(zigbee) 통신, 블루투스 통신, USB 통신 또는 RF 통신 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 제 2 하위 단말(500b)은 근거리 통신 방식을 통해 근거리 통신 모듈(150)로 데이터를 송신할 수 있다. 상기 제 2 하위 단말(500b)은 도 4에 도시된 적어도 하나의 하위 단말(500)들 중 어느 하나에 해당할 수 있다.
도 5는 제 1 하위 단말(500a)이 제 2 웹 서버(140)와 통신을 하고, 제 2 하위 단말(500b)이 근거리 통신 모듈(150)과 통신하는 것으로 도시하고 있지만, 이는 하나의 예시일뿐이며, 모든 하위 단말(500)들이 제 2 웹 서버(140)와 통신하거나, 모든 하위 단말(500)들이 근거리 통신 모듈(150)과 통신할 수 있으며, 또는 일부 하위 단말(500)들이 제 2 웹 서버(140)와 통신하고 나머지 하위 단말(500)들이 근거리 통신 모듈(150)과 통신할 수 있다.
중앙 제어 모듈(160)은 상위 단말(400)과 하위 단말(500)의 사이에서 각 단말 사이의 데이터를 중개하거나, 어느 한쪽의 단말의 상태에 따라 다른 단말로 관련 데이터를 송신한다.
도시되어 있지는 않지만, 스마트 게이트웨이(100)는 데이터베이스를 더 포함할 수 있으며, 데이터베이스는 상위 단말(400) 및 하위 단말(500) 중 적어도 하나로부터 전송되는 데이터를 저장할 수 있다.
도 6은 하위 단말(500)의 이벤트 데이터에 따라 상위 단말(400)로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.
S610 단계에서, 제 1 하위 단말(500a)은 이벤트 데이터를 제 2 웹 서버(140)로 전송한다. 상기 이벤트 데이터는 상기 제 1 하위 단말(500a)의 상태(state) 데이터, 센싱(sensing) 데이터 및 요청(request) 데이터 중 적어도 하나를 포함할 수 있다.
앞서 설명한 바와 같이, 제 1 하위 단말(500a)은 HTTP 프로토콜에 따라 이벤트 데이터를 제 2 웹 서버(140)로 전송할 수 있다. 구현예에 따라서는, 제 1 하위 단말(500a)이 근거리 통신 모듈(150)과 통신을 하는 경우, 제 1 하위 단말(500a)은 근거리 통신 방식에 따라 이벤트 데이터를 근거리 통신 모듈(150)로 전송할 수 있다.
S620 단계에서, 제 2 웹 서버(140)(또는 근거리 통신 모듈(150))는 이벤트 데이터를 중앙 제어 모듈(160)로 전달한다.
S630 단계에서, 중앙 제어 모듈(160)은 이벤트 데이터에 따라 그에 대응하는 제 1 푸시 메시지를 생성하여 웹 소켓(120)을 통해 제 1 상위 단말(400a)로 전송하고, S640 단계에서, 제 2 푸시 메시지를 생성하여 MQTT 모듈(130)을 통해 제 1 상위 단말(400a)로 전송한다. 즉, 중앙 제어 모듈(160)은 두 개의 푸시 메시지를 생성하여 제 1 상위 단말(400a)로 전송하는 것이다.
S650 단계에서, 제 1 상위 단말(400a)은 제 1 푸시 메시지 및 제 2 푸시 메시지 중 적어도 하나를 화면에 표시한다. 구체적으로, 제 1 푸시 메시지는 웹을 통해 전송되는 것이므로, 제 1 상위 단말(400a)은 웹 어플리케이션(web application)을 통해 제 1 푸시 메시지를 수신하여 화면에 표시할 수 있다. 또한, 제 2 푸시 메시지는 MQTT 프로토콜에 따라 전송되는 것이므로, 제 1 상위 단말(400a)은 네이티브 어플리케이션(native application)을 통해 제 2 푸시 메시지를 수신하여 화면에 표시할 수 있다.
제 1 상위 단말(400a)(구체적으로, 웹 브라우져)은 인터넷을 통해 제 1 웹 서버(110)에 접속하여 웹 어플리케이션을 실행하고, 소켓 통신으로 제공되는 제 1 푸시 메시지를 수신하여 화면에 표시할 수 있으나, 웹 어플리케이션이 실행되지 않는 경우에는 제 1 푸시 메시지를 수신할 수 없다. 따라서, 본 발명의 일 실시예에서는 MQTT 프로토콜을 위한 제 2 푸시 메시지도 함께 제 1 상위 단말(400a)로 전송함으로써, 제 1 상위 단말(400a)에서 웹 어플리케이션 실행 중이 아닐 때 네이티브 어플리케이션을 통해 제 2 푸시 메시지가 수신될 수 있도록 하는 것이다.
반대로, 네이티브 어플리케이션이 구동 중이 아닌 경우에는 제 1 상위 단말(400a)은 웹 어플리케이션을 통해 제 1 푸시 메시지를 수신하여 화면에 표시할 수 있다.
즉, 본 발명의 일 실시예에 따르면, 상위 단말(400)에서 어느 어플리케이션이 구동 중인 것과는 무관하게 스마트 게이트웨이(100)는 두 개의 푸시 메시지를 상위 단말(400)로 전송하여 상위 단말(400)의 관리자가 푸시 메시지를 확실하게 확인할 수 있게 하는 것이다. 또한, 상위 단말(400)이 제 1 웹 서버(110)로부터 이벤트 데이터를 폴링(polling)하는 것이 아니므로, 제 1 웹 서버(110)의 부하가 감소될 수 있는 장점이 있다.
S660 단계에서, 중앙 제어 모듈(160)은 이벤트 데이터에 따라 그에 대응하는 제 1 푸시 메시지를 생성하여 웹 소켓(120)을 통해 제 2 상위 단말(400b)로 전송하고, S670 단계에서, 제 2 푸시 메시지를 생성하여 MQTT 모듈(130)을 통해 제 2 상위 단말(400b)로 전송한다. S680 단계에서, 제 2 상위 단말(400b)은 제 1 푸시 메시지 및 제 2 푸시 메시지 중 적어도 하나를 화면에 표시한다.
상기 S660 단계 내지 S680 단계는 제 2 상위 단말(400b)이 스마트 게이트웨이(100)에 연결되어 있고, 제 2 상위 단말(400b)이 제 1 상위 단말(400a)과 함께 스마트 게이트웨이(100)에 대한 접속 권한을 가지고 있는 경우에 수행될 수 있으며, 제 2 상위 단말(400b)이 스마트 게이트웨이(100)에 연결되어 있지 않다면 S660 단계 내지 S680 단계는 수행되지 않을 수 있다.
제 1 상위 단말(400a)과 제 2 상위 단말(400b) 이외의 다른 상위 단말(400)이 스마트 게이트웨이(100)에 더 연결되어 있다면 다른 상위 단말(400)로도 푸시 메시지들이 전송될 수 있다.
즉, 푸시 메시지들은 스마트 게이트웨이(100)에 연결된 모든 상위 단말(400), 구체적으로는 동일 사용자에 의해 관리되는 모든 상위 단말(400)로 전송될 수 있다.
구현예에 따라서는, 하위 단말(500)의 이벤트 데이터에 따라 여러 상위 단말(400)들 중 기 설정된 상위 단말(400)로만 제 1 푸시 메시지와 제 2 푸시 메시지가 전달될 수도 있다.
중앙 제어 모듈(160)은 제 1 푸시 메시지와 제 2 푸시 메시지를 S630 단계, S640 단계, S660 단계 및 S670 단계와 같이 유니 캐스트 방식으로 전송할 수도 있지만, 구현예에 따라서는, 제 1 푸시 메시지와 제 2 푸시 메시지를 멀티 캐스트 방식 또는 브로드캐스트 방식으로 전송할 수도 있다.
도 7은 어느 하나의 상위 단말(400)의 이벤트 데이터에 따라 다른 하나의 상위 단말(400)로 푸시 메시지를 전송하는 과정을 설명하기 위한 도면이다.
S710 단계에서, 제 1 상위 단말(400a)은 이벤트 데이터를 제 1 웹 서버(110)로 전송한다. 앞서 설명한 바와 같이, 제 1 상위 단말(400a)은 HTTP 프로토콜에 따라 이벤트 데이터를 제 1 웹 서버(110)로 전송할 수 있다. 상기 이벤트 데이터는 제 1 상위 단말(400a)의 상태 데이터, 센싱 데이터 및 요청 데이터 중 적어도 하나를 포함할 수 있다.
S720 단계에서, 제 1 웹 서버(110)는 이벤트 데이터를 중앙 제어 모듈(160)로 전달한다.
S730 단계에서, 중앙 제어 모듈(160)은 웹 소켓(120)을 통해 제 1 푸시 메시지를 제 2 상위 단말(400b)로 전송하고, S740 단계에서, MQTT 모듈(130)을 통해 제 2 푸시 메시지를 제 2 상위 단말(400b)로 전송한다.
S750 단계에서, 제 2 상위 단말(400b)은 제 1 푸시 메시지 및 제 2 푸시 메시지 중 적어도 하나를 화면에 표시한다. 제 2 상위 단말(400b)은 웹 어플리케이션을 통해 제 1 푸시 메시지를 수신하여 화면에 표시하거나, 네이티브 어플리케이션을 통해 제 2 푸시 메시지를 수신하여 화면에 표시할 수 있다.
도 7에 도시된 실시예에 따르면, 스마트 게이트웨이(100)는 상위 단말(400)들 사이의 통신을 제어할 수 있다. 예를 들어, 스마트 게이트웨이(100)에 접속할 권한을 갖는 제 1 상위 단말(400a)의 제 1 사용자는 역시 스마트 게이트웨이(100)에 접속할 권한을 갖는 제 2 상위 단말(400b)의 제 2 사용자와의 메시지 송수신을 위해 이벤트 데이터를 제 1 웹 서버(110)로 전송할 수 있고, 이에 따라 제 2 상위 단말(400b)의 제 2 사용자는 제 1 상위 단말(400a)의 제 1 사용자가 요청 또는 보고하는 내용을 확인할 수 있다.
도 8은 상위 단말(400)의 제어 요청 데이터에 따라 하위 단말(500)로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.
S810 단계에서, 상위 단말(400)은 HTTP 프로토콜에 따라 제어 요청 데이터를 제 1 웹 서버(110)로 전송한다. 제어 요청 데이터는 적어도 하나의 하위 단말(500)의 동작을 제어하기 위해 송신하는 데이터이다.
일 예로서, 어느 하나의 하위 단말(500)이 도어(door) 개폐 장치인 경우, 상기 제어 요청 데이터는 도어를 개방하라는 요청 데이터일 수 있고, 다른 예로서, 어느 하나의 하위 단말(500)이 공조기인 경우, 상기 제어 요청 데이터는 실내 온도를 낮추라는 요청 데이터일 수도 있다.
S820 단계에서, 제 1 웹 서버(110)는 제어 요청 데이터를 중앙 제어 모듈(160)로 전달하고, S830 단계에서, 중앙 제어 모듈(160)은 제어 명령 데이터를 생성한다. 상기 제어 명령 데이터는 MQTT 프로토콜을 따르는 데이터일 수 있다.
S840 단계에서, 중앙 제어 모듈(160)은 제어 명령 데이터를 MQTT 모듈(130)을 통해 제 1 하위 단말(500a)로 전송하고, S850 단계에서, 제 1 하위 단말(500a)은 제어 명령 데이터에 따라 그에 대응하는 기능(예를 들어, 도어를 개방하는 기능, 실내 온도를 낮추는 기능 등)을 수행한다.
S860 단계에서, 중앙 제어 모듈(160)은 제어 명령 데이터를 MQTT 모듈(130)을 통해 제 2 하위 단말(500b)로 전송하고, S870 단계에서, 제 2 하위 단말(500b)은 제어 명령 데이터에 따라 그에 대응하는 기능을 수행한다.
상기 S860 및 S870 단계는, 상위 단말(400)의 제어 요청 데이터가 제 2 하위 단말(500b)을 대상으로 하여 전송된 경우에 수행되며, 상위 단말(400)의 제어 요청 데이터가 제 1 하위 단말(500a)의 기능 제어만을 위해 전송된 경우에는 상기 S860 단계 및 S870 단계는 수행되지 않을 수 있다.
중앙 제어 모듈(160)은 제어 명령 데이터를 S840 단계 및 S860 단계와 같이 유니 캐스트 방식으로 전송할 수도 있지만, 구현예에 따라서는, 제어 명령 데이터를 멀티 캐스트 방식 또는 브로드캐스트 방식으로 전송할 수도 있다. 이 경우, 제 1 하위 단말(500a) 및 제 2 하위 단말(500b)은 멀티 캐스트 방식 또는 브로드캐스트 방식으로 전송되는 제어 명령 데이터를 수신하고, 자신을 타겟으로 하는 제어 명령 데이터인 경우에 한해 그에 대응하는 기능을 수행할 수도 있다.
한편, 구현예에 따라서는, 상기 S830 단계에서, 중앙 제어 모듈(160)은 상위 단말(400)의 제어 요청 데이터를 해석하여, 그에 따라 복수의 제어 명령 데이터를 생성하고, 복수의 제어 명령 데이터 각각을 서로 다른 하위 단말(500)로 전송할 수도 있다. 다시 말하면, 중앙 제어 모듈(160)은 제어 요청 데이터가 수신되면, 이를 해석하여 a 제어 명령 데이터, b 제어 명령 데이터 및 c 제어 명령 데이터를 생성하고, a 제어 명령 데이터는 a 하위 단말(500)로, b 제어 명령 데이터는 b 하위 단말(500)로, c 제어 명령 데이터는 c 하위 단말(500)로 전송할 수 있는 것이다.
일 예로서, 상위 단말(400)의 제어 요청 데이터가 실내의 온도를 낮추라는 요청인 경우, 중앙 제어 모듈(160)은 공조기의 설정 온도를 낮추라는 제어 명령 데이터를 생성하여 공조기로 전송하면서, 도어를 폐쇄하라는 제어 명령 데이터를 함께 생성하여 도어 개폐기로 전송할 수 있는 것이다.
즉, 본 발명의 일 실시예에 따르면, 스마트 게이트웨이(100)는 상위 단말(400)의 제어 요청 데이터를 해석하여 그 의도에 부합하도록 하위 단말(500)들을 제어하므로, 상위 단말(400)을 이용하는 사용자의 편리성이 증대될 수 있는 것이다.
한편, 구현예에 따라서는 동일한 하위 단말(500)을 타겟으로 하는 제어 요청 데이터가 제 1 상위 단말(400a)과 제 2 상위 단말(400b)로부터 중앙 제어 모듈(160)로 전달될 수 있는데, 이 경우, 중앙 제어 모듈(160)은 제 1 상위 단말(400a)의 제어 요청 데이터와 제 2 상위 단말(400b)의 제어 요청 데이터 중 어느 하나만을 기초로 제어 명령 데이터를 생성하여 해당 하위 단말(500)로 전달할 수 있다. 이는, 두 상위 단말(400)이 서로 간에 모순되는 제어 요청 데이터를 중앙 제어 모듈(160)로 전송할 수 있으므로, 중앙 제어 모듈(160)은 모순되는 2개의 제어 요청 데이터 중 어느 하나만을 기초로 제어 명령 데이터를 생성하는 것이다.
예를 들어, 제 1 상위 단말(400a)의 제어 요청 데이터는 공조기로 하여금 실내 온도를 낮추라는 제어 요청 데이터이고, 제 2 상위 단말(400b)의 제어 요청 데이터는 공조기로 하여금 실내 온도를 올리라는 제어 요청 데이터인 경우, 중앙 제어 모듈(160)은 제 1 상위 단말(400a)과 제 2 상위 단말(400b) 중 우선 순위가 더 높은 상위 단말(400), 예를 들어, 제 1 상위 단말(400a)의 제어 요청 데이터에 따라 공조기로 실내 온도를 낮추라는 제어 명령 데이터를 전송할 수 있다.
도 9는 어느 하나의 하위 단말(500)의 이벤트 데이터에 따라 다른 하나의 하위 단말(500)로 제어 명령 데이터를 전송하는 과정을 설명하기 위한 도면이다.
S910 단계에서, 제 1 하위 단말(500a)은 HTTP 프로토콜에 따라 이벤트 데이터를 제 2 웹 서버(140)로 전송한다.
S920 단계에서, 제 2 웹 서버(140)는 이벤트 데이터를 중앙 제어 모듈(160)로 전달한다.
S930 단계에서, 중앙 제어 모듈(160)은 이벤트 데이터를 해석하여 제어 명령 데이터를 생성하고, S940 단계에서, 제어 명령 데이터를 MQTT 모듈(130)을 통해 제 2 하위 단말(500b)로 전송한다.
S950 단계에서, 제 2 하위 단말(500b)은 제어 명령 데이터에 대응하는 기능을 수행한다.
도 9에 도시된 실시예는, 스마트 게이트웨이(100)가 하위 단말(500)들 사이의 통신을 제어하는 과정으로서, 어느 하나의 하위 단말(500)에서 발생한 이벤트에 따라 다른 하위 단말(500)의 기능을 제어하는 것이다.
예를 들어, 제 1 하위 단말(500a)로부터 전송되는 이벤트 데이터가 화재 발생 알림 데이터인 경우, 중앙 제어 모듈(160)은 이를 기반으로 스프링 쿨러 기기로 물을 분출하라는 제어 명령 데이터를 전송할 수 있는 것이다.
이하에서는, 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)의 구성에 대해 소프트웨어 측면 및 하드웨어 측면에서 설명한다.
도 10 내지 도 12는 본 발명의 일 실시예에 따른 스마트 게이트웨이(100)의 소프트웨어 블록을 나타내는 예시적인 도면이다.
도 10 내지 도 12는 스마트 게이트웨이(100)와 함께 인증 서버(200), 사용자 응용기기(300), 그리고, 여러 IoT 디바이스(인터넷 전화, 화재 감지 센서, IoT 박스 등)(10)도 함께 도시하고 있다.
본 발명의 일 실시예에 따른 스마트 게이트웨이(100)는 소프트웨어 모듈로서, IoT 엔진(1010) 및 로컬 서버(1030)를 포함할 수 있다. 또한, 스마트 게이트웨이(100)는 IoT 엔진(1010)과의 연결, 및 네트워크, 지그비, RF 등의 입출력을 위한 하드웨어 모듈을 포함할 수 있다.
IoT 엔진(1010)은 스마트 게이트웨이(100)에서 사물 인터넷(IoT)을 구현하기 위한 소프트웨어로서, Windows 10 IoT 및 Linux 등의 OS 상에서 IoT 엔진(1010)을 실행하는데 필요한 다양한 프레임워크를 설치(install)하고, Python, C++, Node.Js 등의 프로그램 언어로 개발된다.
구체적으로, IoT 엔진(1010)은 아래와 같은 소프트웨어 내지 알고리즘 모듈로 구성될 수 있다.
1) IoT H/W 입출력 Interface: 스마트 게이트웨이(100)에서 시스템 H/W와 직접 연결된 센서 및 다양한 H/W, 즉 NFC 모듈, LED 및 LCD 등의 디스플레이 모듈, WCDMA 모듈, LTE모듈 등의 통신 모듈을 제어하기 위한 인터페이스 프로그램
2) IoT Device Interface: 스마트 게이트웨이(100)에서 지그비(Zigbee)모듈을 통하여 연결된 센서 등 IoT Device(10)와의 입출력 처리 소프트웨어 및 RF433MHz, RF447MHz 모듈 등의 무선 통신으로 연결된 IoT Device(10)와의 입출력 처리 소프트웨어, 블루투스, 와이파이 등의 무선 통신으로 연결된 IoT Device(10)와의 입출력 처리 알고리즘 및 소프트웨어.
3) 스마트 박스(Smart IoT Box) 인터페이스: 스마트 게이트웨이(100)에서 USB 통신으로 연결된 스마트 박스와의 입출력 처리 알고리즘 및 소프트웨어로서, 스마트 박스(Smart IoT Box)는 기본적으로 Arduino H/W 등의 마이컴 플랫폼에 Sensor 및 액추에이터 H/W로 구성되며, 스마트 게이트웨이(100)와  USB 방식으로 최대 20개까지 연결될 수 있음. 특징적으로 스마트 게이트웨이(100)와 스마트 박스 상호간의 연결 프로토콜은 RESTful API로서 JSON 또는 XML 등의 포맷(format)으로 데이터를 인터페이스함.
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)에 저장하는 알고리즘 및 소프트웨어.
5) 스마트 게이트웨이 IP Search: 동일 네트워크에 접속된 사용자 응용기기(300)에서 스마트 게이트웨이(100)의 Public IP 및 Local IP를 찾을 수 있도록 UDP 통신으로 Broadcasting하는 소프트웨어.
6) Sound Play QueueInterface: 스마트 게이트웨이(100)에서 사운드 신호를 효과적으로 처리하기 위하여 IoT 이벤트가 발생할 때 저장된 사운드 파일을 Play하며, 이 때 실시간 처리를 위하여 사운드 버퍼(buffer)에 큐(Queue) 방식으로 데이터를 저장하고, 사운드 처리가 지연되면 필요에 따리 스킵(Skip)하고 최종 사운드를 실행하는 알고리즘 및 소프트웨어.
7) 로컬 서버(Local Server) DataBase 인터페이스: IoT 관련 정보는 스마트 게이트웨이(100)내 로컬 서버(1030)에 설치된 MySQL 등의 Database에 저장되며, 이 DataBase의 Create(생성), Insert(추가), Update(수정), Delete(삭제)를 처리하는 소프트웨어.
8) MQTT Event 인터페이스: IoT 디바이스(10)의 Event에 대한 PUSH 알림 서비스를 사용자 응용기기(300) 제공하기 위하여 스마트 게이트웨이(100)에 MQTT Server를 설치하고, MQTT Broker, Publisher,Suscriber 등의 방식으로 IoT Event에 해당하는 PUSH Event를 발생시키고, 처리하는 소프트웨어.
9) Web Socket Event 인터페이스: 하이브리드 App을 실행하는 사용자 응용기기(300)에 IoT Device(10)의 Event에 대한 PUSH 알림 서비스를 제공하기 위하여 스마트 게이트웨이(100)에 웹 소켓 프로그램을 개발하여 내장하고 IoT Event가 발생되면 사용자 응용기기(300)에 웹 소켓 방식으로 PUSH Event를 표시하고 처리하는 소프트웨어.
10) 인증 서버(Auth Server)(200) 인터페이스: 스마트 게이트웨이(100)의 정보와 동작 상태를 확인하기 위하여 인증 서버(200)에 주기적으로 데이터를 전송하며, 사용자 응용기기(300)에서는 스마트 게이트웨이(100)의 Public IP, Local IP 등의 주소 정보를 통하여 로컬 서버와 접속하며, 스마트 게이트웨이(100)가 정상적으로 동작하는지 모니터링을 가능하게 하는 알고리즘 및 소프트웨어.
11) 로컬 서버 인터페이스: 스마트 게이트웨이(100)에서 IoT 정보를 직접 로컬 서버의 데이터베이스에 인터페이스하고 저장하는 소프트웨어.
12) RESTFul API Interface: IoT 프로토콜에 해당하는 RESTFul API 방식으로 처리하며 사용자 응용기기(300)에서 요청 정보를 인터프리터(Interpreter)하여 필요한 정보를 인터페이스하는 알고리즘 및 소프트웨어.
다음으로, 로컬 서버(1030)는, IoT 엔진과 동일한 시스템인 스마트 게이트웨이(100)에서 Apache 등 웹 서버와, PHP, JSP, ASP 등의 서버 인터프리터 프로그램을 설치하고, 언어와 프로그램 저장 공간에 HTML, PHP, JavaScript 등으로 개발한 Hybrid App 프로그램을 업로드(Upload)하여 동작되는 구조로서 스마트 게이트웨이(100)의 Pubic IP 또는 Domain으로 접속되어 서비스를 제공하는 플랫폼이다.
구체적으로, 로컬 서버(1030)는 아래와 같은 소프트웨어 내지 알고리즘 모듈로 구성될 수 있다.
1) HTTP Server: Linux Apache Server 또는 Window IIS Server
2) Web Server
- PHP Server, JSP Server, ASP Server
- 서버 사이드 스크립트 언어: PHP, JSP, ASP
- 클라이언트 언어: Java Script
3) DataBase Server: IoT 관련 정보를 MySql, MsSQL 등 데이터베이스에 저장함.
4) FTP Server: FTP 서버를 통하여 개발자 시스템에서 웹 프로그램을 업로더(Upload)할 수 있다.
5) Hybrid App Program: HTML5, CSS3, PHP, JavaScript, Jquery Mobile, AJAX 등으로 개발된 Hybrid App 프로그램으로서 프로그램 저장 공간에 업로드(Upload)한다.
6) Local Storage: 스마트 게이트웨이(100)의 Data File 공간에 설치되며 Application Program Source 등과 Audio Record File, Document File 등을 FTP Server를 통하여 업로드 하여 구성됨.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 매체에 저장될 수 있다.
매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상, 본 발명의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.
10: IoT 디바이스
100: 스마트 게이트웨이
110: 제 1 웹 서버
120: 웹 소켓
130: MQTT 모듈
140: 제 2 웹 서버
150: 근거리 통신 모듈
160: 중앙 제어 모듈
200: 인증 서버
300: 사용자 응용기기
400: 상위 단말
500: 하위 단말
1010: IoT 엔진
1030: 로컬 서버

Claims (11)

  1. 센서 및 엑추에이터를 포함하는 IoT 디바이스들과 연결되어 IoT 관련 데이터를 인터페이스하는 스마트 게이트웨이;
    상기 스마트 게이트웨이로부터 상기 스마트 게이트웨이의 식별 정보 및 IP 주소를 수신하는 인증 서버; 및
    상기 스마트 게이트웨이와 인터넷으로 연결되어 IoT 서비스를 표시하고 제어하는 사용자 응용기기를 포함하되,
    상기 사용자 응용기기는 1차적으로 상기 인증 서버에 접속하여 상기 스마트 게이트웨이의 Public IP 주소를 획득하고, 상기 획득된 Public IP 주소에 따라 상기 스마트 게이트웨이에 2차적으로 접속하여 상기 IoT 디바이스 관련 데이터를 수신하여 화면에 표시하거나 상기 사용자 응용기기에서 IoT 디바이스를 제어할 수 있는 것을 특징으로 하는 IoT 시스템.
  2. 제1항에 있어서,
    상기 스마트 게이트웨이에서 자체적으로 로컬 서버가 실행되어 분산형 방식으로 IoT 서비스를 제공하는 것을 특징으로 하는 IoT 시스템.
  3. 제1항에 있어서,
    상기 인증 서버는,
    상기 스마트 게이트웨이가 동작되면 상기 스마트 게이트웨이의 IoT 엔진에서 식별된 상기 스마트 게이트웨이의 Public IP, Local IP 및 Mac Address 중 적어도 하나의 정보를 수신하고, 상기 사용자 응용기기로부터 사용자 이이디를 전송받아 데이터베이스에 저장하는 것을 특징으로 하는 IoT 시스템.
  4. 제1항에 있어서,
    상기 인증 서버는,
    상기 스마트 게이트웨이가 동작되면 상기 스마트 게이트웨이의 IoT 엔진에서 일정한 시간 간격으로 주기적으로 사용자 이이디를 포함하여 Keep Alive 정보를 전송받아 데이터베이스에 저장하함으로써, 스마트 게이트웨이가 정상적으로 동작이 되는지 모니터링을 하며, 주기적인 정보 전송이 중단되면, 상기 스마트 게이트웨이에 이상이 발생된 것으로 판단하여 상기 사용자 응용기기에서 이상 상태를 나타내는 화면이 표시되는 것을 특징으로 하는 IoT 시스템.
  5. 제1항에 있어서,
    상기 사용자 응용기기에서 IoT 프로그램이 시작되면 1 차적으로 상기 인증 서버에 접속하여 로그인 프로그램을 실행하고, 로그인 단계에서 사용자의 인증이 확인되면, 상기 스마트 게이트웨이의 Public IP 주소 정보를 상기 인증 서버로부터 전송받아 2차적으로 스마트 게이트웨이의 로컬 서버로 접속하는 것을 특징으로 하는 IoT 시스템.
  6. 제1항에 있어서,
    상기 스마트 게이트웨이에는 IoT 엔진과 로컬 서버를 포함하며, IoT 엔진에서는 다수의 IoT 디바이스와 연결되어 상기 다수의 IoT 디바이스를 제어하는 알고리즘 및 프로그램을 내장하고, 로컬 서버에서는 웹 서버 및 데이터베이스가 실행되어 상기 사용자 응용기기로 IoT 프로그램을 제공하는 것을 특징으로 하는 IoT 시스템.
  7. 제1항에 있어서, 상기 IoT 디바이스는,
    상기 스마트 게이트웨이와 유선 통신 또는 무선 통신으로 IoT 정보를 교환하며, 지그비, 불루트스, 와이파이, 400Mhz 대역의 무선 통신을 통해 CCTV 영상 데이터, 화재 발생 알림 센서 데이터, 출입문 개폐 센서 데이터, 온습도 센서 데이터를 상기 스마트 게이트웨이로 전송하게 되고.
    IoT 센서 및 엑추에이터를 포함하는 스마트 박스는, 상기 스마트 게이트웨이와 USB 방식으로 연결되어, RESTful API 프로토콜로 정보 교환을 하며, 상기 스마트 게이트웨이와 교환되는 정보는 화재 알림 데이터, 무단 침입 알림 데이터 및 인터넷전화 수신 알림 데이터 중 적어도 하나를 포함하는 것을 특징으로 하는 IoT 관리 시스템.
  8. 사용자 응용기기로 웹 프로그램을 제공하기 위하여 설치되는 웹 서버;
    상기 사용자 응용기기로의 웹 소켓 Push 이벤트 전송을 위하여, 웹 소켓 서버 알고리즘 및 소프트웨어를 포함하고, 상기 사용자 응용기기로의 Push이벤트 전송을 위하여 MQTT Broker, Publisher,Subscriber알고리즘 및 소프트웨어를 포함하는 IoT 엔진; 및
    상기 IoT Device로부터 수신되는 이벤트 데이터에 기초하여, 상기 웹 소켓 방식 및 상기 MQTT 방식으로 스마트 게이트웨이의 IoT 엔진을 통해 상기 사용자 응용기기로 푸시 메시지를 전송하는 알고리즘 및 제어 소프트웨어를 포함하는 것을 특징으로 하는 스마트 게이트웨이.
  9. 제8항에 있어서,
    상기 IoT 디바이스에서 이벤트가 발생되면, 상기 스마트 게이트웨이는 IoT 엔진의 웹 소켓 처리 소프트웨어를 통해 상기 사용자 응용기기에 푸시 방식으로 이벤트를 전송하고, 상기 사용자 응용기기의 하이브리드 앱 프로그램은 화면에 팝업 알람을 표시하며,
    상기 IoT 디바이스에서 이벤트가 발생되면, 상기 스마트 게이트웨이는 IoT 엔진에서 MQTT Publisher를 통해 상기 사용자 응용기기에 푸시 방식으로 데이터를 전송하고, 상기 사용자 응용기기의 네이티브 앱 프로그램은 화면에 팝업 알림을 표시하면서, 알림 사운드를 발생시키는 것을 특징으로 하는 스마트 게이트웨이.
  10. 제9항에 있어서,
    상기 하이브리드 앱 프로그램은, 상기 IoT 디바이스를 제어하기 위하여 상기 스마트 게이트웨이에 웹 소켓 방식으로 제어 요청할 수 있고, 상기 스마트 게이트웨이는 제어 명령에 따라 상기 IoT Device를 제어할 수 있고,
    상기 네이티브 앱 프로그램은 상기 IoT 디바이스를 제어하기 위하여 스마트 게이트웨이에 MQTT Publisher를 통하여 제어 요청할 수 있고, 상기 스마트 게이트웨이는 제어 명령에 따라 상기 IoT 디바이스를 제어하는 것을 특징으로 하는 스마트 게이트웨이.
  11. 제8항에 있어서,
    상기 스마트 게이트웨이는, 상기 IoT 디바이스와의 지그비(Zigbee), 블루투스, 400MHz대역의 근거리 통신 방식을 통해 상기 이벤트 데이터를 수신하는 것을 특징으로 하는 스마트 게이트웨이.
KR1020180026251A 2018-03-06 2018-03-06 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어 KR20190105757A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180026251A KR20190105757A (ko) 2018-03-06 2018-03-06 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180026251A KR20190105757A (ko) 2018-03-06 2018-03-06 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어

Publications (1)

Publication Number Publication Date
KR20190105757A true KR20190105757A (ko) 2019-09-18

Family

ID=68070651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180026251A KR20190105757A (ko) 2018-03-06 2018-03-06 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어

Country Status (1)

Country Link
KR (1) KR20190105757A (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111445654A (zh) * 2019-12-09 2020-07-24 珠海派诺科技股份有限公司 火灾监控系统快速接入方法、火灾监控系统及存储介质
CN112071320A (zh) * 2020-09-01 2020-12-11 合肥飞尔智能科技有限公司 一种智能设备语音控制系统及方法
CN112637338A (zh) * 2020-12-22 2021-04-09 广州技象科技有限公司 一种物联网节点服务管理方法、装置、设备及存储介质
CN112734500A (zh) * 2021-01-27 2021-04-30 深圳市奥极互动科技有限公司 一种新零售门店互动体验系统
KR20210056645A (ko) * 2019-11-11 2021-05-20 한국전자기술연구원 Fpga-bmc 환경에서의 저지연 시스템 제어 관리 도구 연동 방법 및 장치
KR102311077B1 (ko) * 2020-04-13 2021-10-08 (주) 오래 이용권 기반 무인 매장 운영 시스템 및 방법
CN113992478A (zh) * 2021-09-29 2022-01-28 广州鲁邦通物联网科技股份有限公司 一种通信方法、物联网系统
CN114793188A (zh) * 2021-10-29 2022-07-26 天津长荣科技集团股份有限公司 一种智能网关数据采集推送方法
CN114928458A (zh) * 2021-02-03 2022-08-19 中国移动通信有限公司研究院 数据处理方法、装置及智能家居网关
CN115361363A (zh) * 2022-08-24 2022-11-18 杭州磐诚科技有限公司 一种智能网关的边缘计算方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210056645A (ko) * 2019-11-11 2021-05-20 한국전자기술연구원 Fpga-bmc 환경에서의 저지연 시스템 제어 관리 도구 연동 방법 및 장치
CN111445654A (zh) * 2019-12-09 2020-07-24 珠海派诺科技股份有限公司 火灾监控系统快速接入方法、火灾监控系统及存储介质
WO2022220544A1 (ko) * 2020-04-13 2022-10-20 주식회사 오래 무인 매장 원격 관리 시스템 및 방법
KR102311077B1 (ko) * 2020-04-13 2021-10-08 (주) 오래 이용권 기반 무인 매장 운영 시스템 및 방법
CN112071320A (zh) * 2020-09-01 2020-12-11 合肥飞尔智能科技有限公司 一种智能设备语音控制系统及方法
CN112637338A (zh) * 2020-12-22 2021-04-09 广州技象科技有限公司 一种物联网节点服务管理方法、装置、设备及存储介质
CN112734500B (zh) * 2021-01-27 2021-12-07 深圳市奥极互动科技有限公司 一种新零售门店互动体验系统
CN112734500A (zh) * 2021-01-27 2021-04-30 深圳市奥极互动科技有限公司 一种新零售门店互动体验系统
CN114928458A (zh) * 2021-02-03 2022-08-19 中国移动通信有限公司研究院 数据处理方法、装置及智能家居网关
CN113992478A (zh) * 2021-09-29 2022-01-28 广州鲁邦通物联网科技股份有限公司 一种通信方法、物联网系统
CN114793188A (zh) * 2021-10-29 2022-07-26 天津长荣科技集团股份有限公司 一种智能网关数据采集推送方法
CN115361363A (zh) * 2022-08-24 2022-11-18 杭州磐诚科技有限公司 一种智能网关的边缘计算方法
CN115361363B (zh) * 2022-08-24 2023-08-11 杭州磐诚科技有限公司 一种智能网关的边缘计算方法

Similar Documents

Publication Publication Date Title
KR20190105757A (ko) 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어
US11616659B2 (en) Integrated cloud system for premises automation
US11611568B2 (en) Communication protocols over internet protocol (IP) networks
US20210359913A1 (en) Device Provisioning
US10530839B2 (en) Integrated cloud system with lightweight gateway for premises automation
US11316958B2 (en) Virtual device systems and methods
US9960959B2 (en) Methods and systems for transmitting information between electronic devices
US20180198841A1 (en) Generating risk profile using data of home monitoring and security system
US20180198755A1 (en) Integrated security and control system with geofencing
US20180262597A1 (en) Universal quality of service for internet of things devices
US10848533B2 (en) Remotely configurable wireless broadcast device
US11098914B2 (en) System and method for operating a HVAC system by determining occupied state of a structure via IP address
US9933763B1 (en) Control system for providing cloud based commands to control operation of internet connected devices
Fürst et al. Leveraging physical locality to integrate smart appliances in non-residential buildings with ultrasound and bluetooth low energy
US10079930B2 (en) Information processing apparatus, information processing system, and information processing method
JP6573660B2 (ja) ネットワーク内でタグにアクションを割り当てる方法、ネットワーク及び制御デバイス
KR101985694B1 (ko) MQTT를 이용한 실내 온도 제어, 화재경보 및 진압을 위한 IoT 서비스 시스템 및 방법
US11962672B2 (en) Virtual device systems and methods
KR20230127812A (ko) I o T 엔진 알고리즘을 이용한 스마트 게이트
KR20230114082A (ko) 로컬 서버 연동 방식의 스마트 게이트웨이를 위한 IoT 엔진 알고리즘 및 소프트웨어
US11533342B1 (en) System and method for monitoring the security configurations of connected devices
KR101782884B1 (ko) 콘텐츠 공유를 위한 콘텐츠 정보 제공 장치 및 방법
JP2014230064A (ja) 通信システム、サーバ装置、通信方法、およびプログラム
KR101896527B1 (ko) 원격 함체 관리 시스템 및 제어 방법
AU2019101322B4 (en) Alarm Communicator, Signalling Service and Method of Operation