CN109905409A - 基于Socket.IO的物联网网关实时双向通信系统 - Google Patents
基于Socket.IO的物联网网关实时双向通信系统 Download PDFInfo
- Publication number
- CN109905409A CN109905409A CN201910284522.1A CN201910284522A CN109905409A CN 109905409 A CN109905409 A CN 109905409A CN 201910284522 A CN201910284522 A CN 201910284522A CN 109905409 A CN109905409 A CN 109905409A
- Authority
- CN
- China
- Prior art keywords
- things
- socket
- internet
- gateway
- internet gateway
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于Socket.IO的物联网网关实时双向通信系统,包括云平台、物联网网关、多个物联网设备和多个移动终端,物联网网关分别与各物联网设备连接,并连接至云平台,云平台与各移动终端连接;当物联网设备上线并接入物联网网关后,云平台生成对应的Socket通道,Socket通道对应于唯一识别码Socket‑ID,通过在云平台维护当前在线的Socket.ID链表实现云平台的实时主动推送数据的功能。与现有技术相比,本发明具有提高系统数据传输效率等优点。
Description
技术领域
本发明涉及一种通信系统,尤其是涉及一种基于Socket.IO的物联网网关实时双向通信系统。
背景技术
在传统物联网网关与物联网资源平台的通讯问题上,通信协议的选择有超文本传输协议HTTP和消息队列遥测传输协议MQTT。HTTP协议是采用“请求-响应”式的方式来实现具体通信。只有在客户端发起请求的情况下,服务器做出相应的响应,而服务器不能主动推送数据到客户端,其缺点是缺乏实时性。MQTT是轻量级基于代理的发布/订阅的消息传输协议,其设计思想是开放、简单、轻量、易于实现。这些特点使得它在处理器和内存资源有限的嵌入设备中运行,其缺点是带宽低、不可靠。
为了提高物联网网关与资源平台通信的实时性与数据传输速率,本文拟在所构建的物联网开放平台上,采用Socket.IO实时双向通信技术、Node.JS服务器搭建技术与Redis数据库对数据的快速存取技术,设计实时双向性的物联网网关与资源平台的通信系统,以提高系统数据传输效率。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于Socket.IO的物联网网关实时双向通信系统。
本发明的目的可以通过以下技术方案来实现:
一种基于Socket.IO的物联网网关实时双向通信系统,包括云平台、物联网网关、多个物联网设备和多个移动终端,所述物联网网关分别与各物联网设备连接,并连接至云平台,所述云平台与各移动终端连接;
当物联网设备上线并接入物联网网关后,云平台生成对应的Socket通道,所述Socket通道对应于唯一识别码Socket-ID,通过在云平台维护当前在线的Socket.ID链表实现云平台的实时主动推送数据的功能。
所述物联网网关共设有多个,每个物联网网关连接有多个物联网设备。
所述系统中实现物联网网关认证和数据交互过程具体包括以下步骤:
步骤S1:收到上线发送认证请求后,判断对应的识别号是否为空,若为是,则创建识别码记录信息,反之,则执行步骤S2;
步骤S2:根据对应的记录信息获取网关数据及状态信息;
步骤S3:读取网关配置和设备列表,创建设备模型,并返回认证成功及设备模型到物联网网关;
步骤S4:与物联网网关进行数据交互。
所述创建识别码记录信息的过程具体为:生成随机数,保存设备标识码和随机数至缓存中。
所述设备标识码通过GID字段表示。
所述缓存为Redis缓存。
所述步骤S2具体包括:
步骤S21:根据对应的设备标识码读取认证随机数,若失败,返回认证失败,反之执行步骤S22;
步骤S22:读取相应的网关数据,并得到加密的识别号;
步骤S23:解析识别号,若失败,返回认证失败,反之执行步骤S24;
步骤S24:读取网关状态信息。
所述识别号通过usrkey字段表示。
与现有技术相比,本发明具有以下有益效果:相比HTTP协议而言,采用Socket.IO协议时传输数据效率、单位时间吞吐量更高,可以实现服务器端主动推送数据的功能,从而实现物联网网关与资源平台之间实时、双向通信,并且有效提高整个物联网通信系统的可靠性与稳定性,提高系统的效率。
附图说明
图1为本发明的结构示意图;
图2为服务器数据下发结构示意图;
图3为网关认证和数据交互过程示意图;
其中:1、云平台,2、物联网网关,3、物联网设备,4、移动终端。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
一种基于Socket.IO的物联网网关实时双向通信系统,如图1和图2所示,包括云平台、物联网网关、多个物联网设备和多个移动终端,物联网网关分别与各物联网设备连接,并连接至云平台,云平台与各移动终端连接;
当物联网设备上线并接入物联网网关后,云平台生成对应的Socket通道,Socket通道对应于唯一识别码Socket-ID,通过在云平台维护当前在线的Socket.ID链表实现云平台的实时主动推送数据的功能。
物联网网关共设有多个,每个物联网网关连接有多个物联网设备。
如图3所示,系统中实现物联网网关认证和数据交互过程具体包括以下步骤:
步骤S1:收到上线发送认证请求后,判断对应的识别号是否为空,若为是,则创建识别码记录信息,反之,则执行步骤S2;
步骤S2:根据对应的记录信息获取网关数据及状态信息,具体包括:
步骤S21:根据对应的设备标识码读取认证随机数,若失败,返回认证失败,反之执行步骤S22;
步骤S22:读取相应的网关数据,并得到加密的识别号;
步骤S23:解析识别号,若失败,返回认证失败,反之执行步骤S24;
步骤S24:读取网关状态信息。
步骤S3:读取网关配置和设备列表,创建设备模型,并返回认证成功及设备模型到物联网网关;
步骤S4:与物联网网关进行数据交互。
创建识别码记录信息的过程具体为:生成随机数,保存设备标识码和随机数至缓存中,设备标识码通过GID字段表示,缓存为Redis缓存,识别号通过usrkey字段表示。
物联网开放平台与物联网网关:物联网开放平台,使用基于平台+网关的开放设备应用程序编程接口体系,通过统一的Web服务展现给用户。该平台采用统一的资源描述方式和面向资源的架构,具备高效的数据事件引擎、高并发处理机制等特点。它为物联网提供开放的服务,完成对传感器数据的接入、管理、存储、处理及应用。通过在服务端上构建Node.JS环境,将JavaScript作为服务器端语言,利用其异步非阻塞特性,可运用在长连接、多请求的环境下。
物联网开放平台由物联网云平台、IOT网关端和用户浏览器3部分组成。浏览器、云平台和IOT网关构成架构系统。物联网云平台与IOT网关建立通信连接,将IOT网关的传感数据传输到云平台;用户浏览器建立各种物联网应用的人与物联网平台接口,实现Web通信。通过Socket.IO技术构建IOT网关与云平台的实时双向通信,完成传感数据的实时传输、设备管理和维护,并实现物联网网关物理实体数据模型与物联网平台注册的虚拟实体数据模型同步更新。物联网网关,作为连接底层设备与物联网资源平台的中间件,完成对底层设备数据的接入、管理、存储、处理及应用。
网关实时双向通信系统设计与实现:Socket.IO实现网关与平台之间设备验证、设备数据上传下发、设备心跳三大信息交互过程。设备认证的目的:一是对设备进行权限认证,二是获取平台端网关模型、设备模型到网关端。设备数据的上传下发,实现的是当有底层设备上线时,在设备认证的基础上,可将不同类型的数据传输到物联网资源平台,并存入数据库。同时,当平台数据模型更新需要推送数据给网关时,网关端也可以及时收到相应数据。从而实现网关与平台数据模型的同步。
采用Socket.IO协议实现物联网网关与资源平台的实时双向通信的设计,当每一个设备接入网关上线时,服务端会生成对应的Socket通道。Socket.IO机制里提供了每一个Socket的唯一识别码Socket-ID,通过在服务器端维护当前在线的Socket.ID链表实现服务器的实时主动推送数据的功能。Socket.IO服务器下有n个网关,每个网关下有n个设备。当资源平台数据数据模型更新时,可以通过在Socket.IO服务器维护的数据链表与mongoDB数据库中前端用户注册生成的GID,devID,找到对应的Socket下相应的网关与设备,从而进行数据下发。这里的Socket.ID在线网关ID号存入Redis缓存数据库中。
Socket.IO实现物联网网关与资源平台双向通信的路径:创建物联网网关服务器,设定相应的端口及IP地址;网关客户端访问IP地址建立与服务器的Socket连接;当底层设备数据更新、设备首次认证、定时网关心跳时,通过socket.emit(‘事件名’,json格式数据名称)方法将数据传输到资源平台。同时当用户通过Web端传送数据时,服务器可以实时将数据推送到网关端。
当有底层设备接入时,网关发送认证请求到服务器端,服务器端启动侦听,接收网关侧发送的数据。初次认证时,网关侧发送不携带userKey的请求认证包到平台侧,平台侧判断userKey是否为空,如果为空,生成认证随机数到保存到Redis数据库中,如果不为空,根据GID从数据库中读取认证随机数,根据网关的userKey和随机数进行MD5加密,得到加密的userKey。当解密的userKey和二次请求的userKey一致时认证成功,读取数据库中网关配置、设备列表,创建网关设备模型,返回认证成功及物理网关设备模型到网关侧,否则认证失败。
Claims (8)
1.一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,包括云平台、物联网网关、多个物联网设备和多个移动终端,所述物联网网关分别与各物联网设备连接,并连接至云平台,所述云平台与各移动终端连接;
当物联网设备上线并接入物联网网关后,云平台生成对应的Socket通道,所述Socket通道对应于唯一识别码Socket-ID,通过在云平台维护当前在线的Socket.ID链表实现云平台的实时主动推送数据的功能。
2.根据权利要求1所述的一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,所述物联网网关共设有多个,每个物联网网关连接有多个物联网设备。
3.根据权利要求1所述的一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,所述系统中实现物联网网关认证和数据交互过程具体包括以下步骤:
步骤S1:收到上线发送认证请求后,判断对应的识别号是否为空,若为是,则创建识别码记录信息,反之,则执行步骤S2;
步骤S2:根据对应的记录信息获取网关数据及状态信息;
步骤S3:读取网关配置和设备列表,创建设备模型,并返回认证成功及设备模型到物联网网关;
步骤S4:与物联网网关进行数据交互。
4.根据权利要求1所述的一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,所述创建识别码记录信息的过程具体为:生成随机数,保存设备标识码和随机数至缓存中。
5.根据权利要求4所述的一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,所述设备标识码通过GID字段表示。
6.根据权利要求4所述的一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,所述缓存为Redis缓存。
7.根据权利要求4所述的一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,所述步骤S2具体包括:
步骤S21:根据对应的设备标识码读取认证随机数,若失败,返回认证失败,反之执行步骤S22;
步骤S22:读取相应的网关数据,并得到加密的识别号;
步骤S23:解析识别号,若失败,返回认证失败,反之执行步骤S24;
步骤S24:读取网关状态信息。
8.根据权利要求4所述的一种基于Socket.IO的物联网网关实时双向通信系统,其特征在于,所述识别号通过usrkey字段表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910284522.1A CN109905409A (zh) | 2019-04-10 | 2019-04-10 | 基于Socket.IO的物联网网关实时双向通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910284522.1A CN109905409A (zh) | 2019-04-10 | 2019-04-10 | 基于Socket.IO的物联网网关实时双向通信系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109905409A true CN109905409A (zh) | 2019-06-18 |
Family
ID=66955644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910284522.1A Pending CN109905409A (zh) | 2019-04-10 | 2019-04-10 | 基于Socket.IO的物联网网关实时双向通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905409A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798531A (zh) * | 2019-11-07 | 2020-02-14 | 芜湖美的厨卫电器制造有限公司 | 控制方法、控制装置、服务器、饮水设备和控制系统 |
CN110881041A (zh) * | 2019-11-28 | 2020-03-13 | 杭州涂鸦信息技术有限公司 | 一种连接方法、mqtt客户端和mqtt服务端 |
CN111343255A (zh) * | 2020-02-17 | 2020-06-26 | 上海高仙自动化科技发展有限公司 | 客户端、智能机器人及智能机器人系统 |
CN111526056A (zh) * | 2020-04-28 | 2020-08-11 | 汇智道晟(舟山)科技有限公司 | 一种物联网数据传输方法、网关及物联网系统 |
CN111818079A (zh) * | 2020-07-21 | 2020-10-23 | 上海鼎格信息科技有限公司 | 一种工业设备的连接方法及控制系统 |
CN112039749A (zh) * | 2020-08-31 | 2020-12-04 | 广州鲁邦通物联网科技有限公司 | 基于Nodejs的物联网设备管理方法、系统和存储介质 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
CN114095379A (zh) * | 2021-10-30 | 2022-02-25 | 北京天融信网络安全技术有限公司 | 基于物联网的一种快速建模方法及系统 |
CN114422974A (zh) * | 2022-01-25 | 2022-04-29 | 北京宜通华瑞科技有限公司 | 物联设备的通信方法及装置 |
CN116744250A (zh) * | 2023-07-28 | 2023-09-12 | 常州森普信息科技有限公司 | 一种储能电池物联网平台架构及其实现方法 |
-
2019
- 2019-04-10 CN CN201910284522.1A patent/CN109905409A/zh active Pending
Non-Patent Citations (1)
Title |
---|
陈文艺等: "基于Socket.IO的物联网网关实时双向通信系统", 《西安邮电大学学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798531B (zh) * | 2019-11-07 | 2022-07-01 | 芜湖美的厨卫电器制造有限公司 | 控制方法、控制装置、服务器、饮水设备和控制系统 |
CN110798531A (zh) * | 2019-11-07 | 2020-02-14 | 芜湖美的厨卫电器制造有限公司 | 控制方法、控制装置、服务器、饮水设备和控制系统 |
CN110881041A (zh) * | 2019-11-28 | 2020-03-13 | 杭州涂鸦信息技术有限公司 | 一种连接方法、mqtt客户端和mqtt服务端 |
CN111343255A (zh) * | 2020-02-17 | 2020-06-26 | 上海高仙自动化科技发展有限公司 | 客户端、智能机器人及智能机器人系统 |
CN111343255B (zh) * | 2020-02-17 | 2022-08-16 | 上海高仙自动化科技发展有限公司 | 客户端、智能机器人及智能机器人系统 |
CN111526056A (zh) * | 2020-04-28 | 2020-08-11 | 汇智道晟(舟山)科技有限公司 | 一种物联网数据传输方法、网关及物联网系统 |
CN111818079A (zh) * | 2020-07-21 | 2020-10-23 | 上海鼎格信息科技有限公司 | 一种工业设备的连接方法及控制系统 |
CN111818079B (zh) * | 2020-07-21 | 2023-04-18 | 上海鼎格信息科技有限公司 | 一种工业设备的连接方法及控制系统 |
CN112039749A (zh) * | 2020-08-31 | 2020-12-04 | 广州鲁邦通物联网科技有限公司 | 基于Nodejs的物联网设备管理方法、系统和存储介质 |
CN112039749B (zh) * | 2020-08-31 | 2022-03-15 | 广州鲁邦通物联网科技股份有限公司 | 基于Nodejs的物联网设备管理方法、系统和存储介质 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
CN114095379A (zh) * | 2021-10-30 | 2022-02-25 | 北京天融信网络安全技术有限公司 | 基于物联网的一种快速建模方法及系统 |
CN114422974A (zh) * | 2022-01-25 | 2022-04-29 | 北京宜通华瑞科技有限公司 | 物联设备的通信方法及装置 |
CN116744250A (zh) * | 2023-07-28 | 2023-09-12 | 常州森普信息科技有限公司 | 一种储能电池物联网平台架构及其实现方法 |
CN116744250B (zh) * | 2023-07-28 | 2024-04-26 | 常州森普信息科技有限公司 | 一种储能电池物联网平台架构实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905409A (zh) | 基于Socket.IO的物联网网关实时双向通信系统 | |
US11765150B2 (en) | End-to-end M2M service layer sessions | |
Zhang et al. | Federated learning for the internet of things: Applications, challenges, and opportunities | |
Glaroudis et al. | Survey, comparison and research challenges of IoT application protocols for smart farming | |
CN106230896B (zh) | 一种消息推送方法、装置及系统 | |
Su et al. | Content distribution over content centric mobile social networks in 5G | |
CN104601665B (zh) | 一种对物联网感知设备进行云端实时仿真的系统和方法 | |
CN110048927B (zh) | 通信方法和通信装置 | |
WO2016161857A1 (zh) | 一种多租户高并发的即时通讯云平台 | |
US20180270310A1 (en) | Method for transport agnostic communication between internet of things client and broker | |
CN111752246B (zh) | 基于区块链和人工智能驱动的无人机蜂群协同工作平台 | |
US10231163B2 (en) | Efficient centralized resource and schedule management in time slotted channel hopping networks | |
US20150264134A1 (en) | Enhanced distributed resource directory | |
US20160072678A1 (en) | Systems and methods for enhanced discovery | |
CN113766019B (zh) | 基于云端以及边缘计算相结合的物联网系统 | |
US20230300726A1 (en) | Data processing method and apparatus, network element device, storage medium, and program product | |
Gupta | A survey of application layer protocols for internet of things | |
Auzias et al. | Coap over bp for a delay-tolerant internet of things | |
CN112532753B (zh) | 区块链系统的数据同步方法、装置、介质及电子设备 | |
Park et al. | Smart base station-assisted partial-flow device-to-device offloading system for video streaming services | |
US20210227034A1 (en) | A method and system for transmitting streaming media resources | |
Skjegstad et al. | Mist: A reliable and delay-tolerant publish/subscribe solution for dynamic networks | |
Tucic et al. | Networking layer for unifying distributed smart home entities | |
CN103338476A (zh) | 一种基于信誉机制的延迟容忍网络数据传输方法 | |
Roos | Identity management on the blockchain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190618 |