基于 TCP、UDP 和 HTTP 、mqtt私有协议物联网网关代码分享
背景
IoTOS 是一套先进的企业级物联网解决方案平台,提供了广泛的设备接入方式,但是因为设备的多样性,无法做到一一兼容,虽然提供了硬件 边缘网关 ,但是也无法满足多样的设备连接方式和多样复杂的协议的要求,所以IoTOS 平台提供了软网关的方式,方便用户自己快速接入设备。
目前有两类情况可能会导致设备或子系统无法连接至 IoTOS:
IoTOS 目前支持 MQTT、CoAP、LwM2M、HTTP 这四种协议,且认证方式要符合 IoTOS 的规定,但很多存量设备或者子系统使用了 TCP、UDP 和 WS 等协议,且认证方式多种多样,甚至连产品标识(对应 IoTOS 里的 PK)也有缺失;IoTOS 作为物联网中台对南向设备只有 Server 的角色,没有 Client 的角色,但很多子系统往往提供的是 Server,因此在 IoTOS 和子系统之间必须有一个程序充当 Client 从子系统拉取数据并传到 IoTOS。IoT OS在物联网应用中常处于如下图所示位置:适用场景
本项目是一个快速开发软网关的
SDK ,作为 IoTOS 的配套组件,用户需要集成本 SDK 进行二次开发才能完成完整的设备接入流程。软件网关可用于解决以下2类无法连接 IoTOS 的设备或子系统的情况:
基于 TCP、UDP 和 HTTP 等私有协议的设备或子系统;自带上位机的软硬件一体系统,该类系统可能暴露如 HTTP、TCP、UDP、JDBC、ODBC 等各种接口对外提供数据。IoT OS本质上是一系列物联网微服务的集合,采用分布式架构,应用程序和服务组件均不存在单点风险。其 技术架构 如下:
设备接入IoT OS及应用开发流程一览:
需要源码或者技术交流请私信“技术大牛”
物联网扫盲篇——物联网网关
物联网网关在物联网项目中扮演着怎样的角色?什么情况下的物联网项目里,才需要物联网网关呢?这篇文章里,作者尝试从物联网网关的作用、种类和选择等维度做了拆解分析,一起来看看,或许可以帮你了解物联网网关所真正扮演的“角色”。
在物联网项目中,物联网网关作为一个关键组件经常被提及。那么,物联网网关究竟扮演着怎样的角色?它具备哪些核心功能?同时,我们也注意到,并非所有物联网设备都需要网关。那么,我们究竟在何种情况下需要物联网网关呢?
首先,什么是物联网网关?
物联网网关类似我们常见的路由器,具有网络接入能力,但是功能比较简单,通讯速率要求不高,看重移动网络接入能力一般只是做数据透传使用,将物联网的数据转发到服务器上,做进一步分析和处理网关是物联网非常重要的组件,是传感层与网络层连接的纽带。
一、物联网网关扮演的角色
聊到物联网网关,必须先要了解网关在物联网中的应用和物联网架构。
其实物联网的架构之前也有讲到过,主要由感知层、网络层、平台层、应用层构成。 感知层可以主要由基础芯片、执行器、传感器等组成。
传感器根据根据应用场景,功能非常丰富。如我之前做的项目,主要是环保类的。包含了温湿度,压力,S02浓度、粉尘浓度、流量、O2含量等等,针对不同的项目需求可以配置不同的传感器。
传感器收集的数据通常需要传输到物联网平台以进行深度的大数据分析和可视化展示。在实际操作中,根据项目需求与用户网络环境,数据可以通过4G/5G、WIFI或局域网等多种方式上传至物联网平台。
然而,若每个传感器都配置4G/5G或WIFI功能,成本会相对较高。为了降低成本,在特定项目中,可能会选择有线连接或采用LORA、Zigbee等无线技术来满足区域内传感器的部署需求,并最终将数据传输至平台。
在这一背景下,物联网网关设备发挥着关键作用。以智能家居为例,我们可能会部署烟感、温湿度传感器、人体雷达和门禁报警等多种设备。这些设备可以利用Zigbee等无线传输技术在房屋内部进行数据传输,通过一个Zigbee网关进行集中管理和汇聚。随后,网关再通过WIFI或有线网口与外部网络连接,将收集到的数据传输至物联网平台,以便进行进一步的分析和应用。这种方式不仅降低了成本,还提高了数据传输的效率和可靠性。
二、物联网网关的作用
在一些智能办公,智能园区的项目中,我们可能采用lora或者有线的方式,连接各种有线,无线传感器,再通过物联网网关进行数据的汇聚上传到平台。那么为什么很多物联网项目中又没有网关呢?比如我们要监测一个城市范围内的气象信息,市政水位信息,工地扬尘等。这些监控点位跨度大,覆盖分散,一般直接采用NB-IoT,5G等方式直接回传数据,无线经过网关中转。综上所述,物联网网关的应用主要考虑以下几个方面。1)协议转换和标准化 在物联网生态系统中,众多设备和传感器协同工作,这些设备可能采用不同的通信协议和标准。为了确保这些数据的顺畅流通和统一处理,物联网网关扮演着至关重要的角色。它具备强大的协议转换功能,能够将来自不同设备的数据进行转换,使其能够被统一处理和管理。通过这种方式,物联网网关促进了设备之间的互操作性,为物联网系统的稳定运行提供了有力保障。2)数据聚合和处理
物联网网关可以收集来自多个设备和传感器的数据,进行聚合和处理。这有助于减少数据传输量,优化网络使用,并在本地对数据进行初步的处理和分析,降低云端处理的负担。
3)本地决策和响应
物联网网关不仅扮演着数据转换与统一处理的关键角色,更具备在本地执行决策的能力。这意味着,物联网网关可以根据实时设备状态和传感器数据,迅速作出相应的措施,而无需等待云端的指令。这种本地决策执行的特性不仅大幅提升了响应速度,还显著降低了对云服务的依赖,增强了系统的可靠性和自主性。在智能家居、工业自动化等场景中,物联网网关的这一功能尤为关键,它确保了系统在各种情况下的快速响应和稳定运行。
4)存储能力
网关中需要存储的信息分为两部分。
网关和设备的配置信息。存储这些信息是为了设备在运行过程中能够快速读取。物联网设备上传的,经了协议转换之后的通用格式的数据。这些数据是临时存储,避免网络故障等原因导致设备数据丢失。既然涉及到数据的存储与传输,那么不得不提的就是数据安全的问题。物联网网关需要做好以下的数据安全方面的事情:
完善的本地身份认证机制,防止网关设备被恶意修改配置或数据。数据的加密传输能力。支持专用传输通道,例如VPN或者运营商的专网接入。其他基础能力:网关还需要提供其他的配置管理的基础能力,包括但不限于设备管理、配置管理、在线升级等功能。
以上的这些是网关的传统功能。但是在现在这个”智能“时代,我们越来越看重设备的智能性,因此一个趋势就是越来越强调物联网网关的数据分析处理的能力。这个也就是我们经常听到的”边缘计算“。
我们知道,物联网的一大特性就是海量的接入设备。这就导致海量的数据涌入云平台。一方面这些数据会占用大量的网络带宽,另一方面对云平台的计算能力提出了很大的挑战。
另外,有一些原始数据是比较私密或敏感的,比如家庭摄像头拍摄的影像数据、工业场景中的一些数据。我们不希望这些原始数据被上传到云平台。
因此,目前的物联网中,在逐步尝试将原本在云平台上的计算任务,放到靠近数据原产地的设备上完成。这个过程称为将计算能力下沉到边缘设备,也称为边缘计算。
但是,很大物联网设备由于计算能力、能耗等的限制,是无法承担这些任务的,因此一个最轻量的解决方案就是在物联网网关中完成这些计算任务。
整个边缘计算的实现,还是基于分层的思路。在物联网网关中,完成初步的数据处理,或者需要快速响应的计算任务。云平台则负责大规模数据和复杂计算的任务,以及整体的协调控制。
三、网关的种类及选择
第1种,数据透传网关,简称DTU,仅支持数据透传功能,有一路或两路串口,可以直接应用于大部分的物联网场景,不过数据采集和自动控制都在服务器上实现,对服务器压力较大,适合单一或小型项目,并发量上不去。
第2种,数据采集网关,自带协议库,支持常见工业设备主要应用在工业互联网场景,可以采集PLC,DCS等设备
第3种,边缘计算网关,CPU和内存比较大,使用Linux操作系统,支持二次开发,要求使用者有一定的软件开发能力。
那么我们该如何选择物联网网关呢?
个人的经验:
1)先看功能,看功能是否满足你现有业务应用场景。
目前现在大部分的物联网项目还是数据透传模式,只需要透传功能,那么我们使用普通的DTU就行。如果设备比较多,并发量大,那么我们就需要有数据解析功能的网关,这样服务器只需要存储数据,压力会小很多。如果需要在现场做实时的自动控制,或者实现更高级的功能,那么我们就只能使用边缘计算网关了
2)看价格,现在的网关价格大多在800-2000不等,DTU则更加的便宜。具体对比可以通过某宝或者百度进行筛选对比一下
小结
物联网网关的作用就是设备和云平台之间的桥梁。我们可以把互联网网关放在网络环境(例如WiFi,4G)比较好的环境中。其他的物联网设备则采用LoRa等通信计算连接到物联网网关上,从而间接地实现设备的联网。
物联网网关主要具备四种能力:
协议转换和标准化、数据聚合和处理、本地决策和响应、存储能力。
选取物联网网关主要是先看功能再看价格。
目前的物联网中,在逐步尝试将原本在云平台上的计算任务,放到靠近数据原产地的设备上完成。这个过程称为将计算能力下沉到边缘设备,也称为边缘计算。
边缘计算的能力,对网关提出了新的要求…
本文由 @jerry潮 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
相关问答
物联网 智能 网关 通常有哪些开发方式?两种开发方式,一种是在线开发,一种是线下开发,在线开发使用网络作为处理器来开发线下开发就是使用硬件来开发。两种开发方式,一种是在线开发,一种是线下开发,...
物联网网关 专不专业,都来说说老表们有人知道么:物联网短信...[回答]亿维自动化已在20多个主要工业城市设有办事处,建成通达全国的服务网络,为遍布全国各地的代理商和终端用户提供服务。同时,国际业务拓展至海外30多个...
物联网网关 哪家经验丰富有没有谁了解!! 物联网关键 技术有哪些?[回答]之前和亿维自动化合作过,后来因为一些原因不合作了,做了别的产品,今年思前想后还是回来做了。没什么特殊的原因,还是觉得{{:company}}做产品不是做...
天翼鹿是什么?天翼鹿是指中国电信推出的一款智能终端产品。它是中国电信旗下的一款互联网产品,旨在为用户提供便捷的通讯和服务功能。天翼鹿产品系列包括智能手机、平板电脑...
5g工业 网关 和cpe区别?5G工业物联网网关/工业CPE充当传感器或设备与云之间的桥梁。许多传感器或设备将与网关“对话”,然后网关将获取所有这些信息并与云“对话”。如果传感器位于...
物联网 如何推动万物互联?我是王海军老师,专注于互联网技术教学,乐于解答大家相关问题。感谢邀请,下面我想从物联网教育层面来详细解答!1、物联网课程培养方向本专业是培养拥护党的...
哪种 物联网 编程语言最热门 - 睡不醒的猫 的回答 - 懂得从2018的统计图中可以看出,目前Java、C、Javascript、Python来作为物联网开发语言是比较流行的。影响2113物联网IoT实施的最主要因素之一是人5261...
zigbee 网关 是什么?Zigbee网关是一种设备,它作为一个中介连接了Zigbee无线网络与其他不同协议的物联网设备之间的通讯桥梁。它起到路由器的作用,可以接收、解析并转发传感器节点...
郑州博雅讯科技有限公司介绍?讯科技有限公司是一家致力于为客户提供智慧后勤管理整体解决方案的高新技术企业,公司始终坚持“创新、开放、诚信、创造价值”企业宗旨,凭借创新思维和...郑...
物联网网关 什么牌子服务质量好?诸位大侠!懂行的朋友请回答:...[回答]理商,能够为全球用户提供优质、快捷的服务。全国统一服务热线:40...全国统一服务热线:4000-300-890亿维SMARTCPU收集操作指令、现场状况等信息,把...