WIFI模块:该技术将所有有线网络信号转换成无线电波信号,其他终端设备通过无线通信模块连接到wifi,实现无线网络通信。
蓝牙模块:它是一种无线技术标准,可以实现固定终端设备、移动终端设备和个人局域网之间的短距离数据交换。它在频段使用24~2485GHZUHF无线电波ISM。
2G/4G模块:数字电台的传输距离很远,适用于各种复杂的环境。传输速率为192Kbps,但终端设备价格较贵,使用成本较高,安装较为复杂。
NB-IoT模块:NB-IoT使用的是现成的移动数据网络连入以太网,具有覆盖广,海量链接,低功耗的功能。
LoRa模块:它最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远,实现了低功耗和远距离的统一,它在同样的功耗下比传统的无线射频通信距离扩大3-5倍。
以太网模块:提供串口转网口TCP传输。
物联网模块是多种多样的,但是具体使用还是需要分析使用环境考虑如何组网
IOT网关,接收sensor数据的总入口,主要是日志,安全防护,流控,协议转换等功能,
图1 IOT网关
之前有提到IOT网关是基于python的twisted框架实现的,初期的时候该IOT网关主要实现的功能是 数据接收和转换功能 和 安全防护 。
数据接收和转换功能 ,这里很简单,拟定好数据交互格式后,IOT网关按照约定好的格式进行解析,然后转发给后端服务进行进一步的处理
安全防护 ,设备的区分主要是依靠烧录到硬件的SN号来实现,SN号包含的信息比较多,如生产批次,设备型号等,受制于厂商我安全防护不能做的非常完善,同时sensor与IOT网关的交互不能非常复杂。安全防护这一块理论上是设备接入要一型一密或者一机一密,协议上还应该启用tls/ssl安全通信协议。
图2 鉴权
安全防护要做ssl这类的安全通信协议的话,要考虑设备厂商实现通信模块能力,设备功耗,设备性能(低端设备cpu性能可能比较差,可考虑对称加密形式),IOT网关也需要引入相应模块。
另外认证从性能方面考虑,后期在设备比较多的情况下,可以加入redis等内存型key-value数据库,缓存设备信息,提高鉴权模块性能。
实践中,我们的sensor基本都是依靠电池供电,因此我们的IOT网关基本是面向短链接(后期我们有监测设备,依靠外部电源直接供电,为长连接),因此在每次发起连接我们都要进行一次鉴权,鉴权通过后,设备方可上传传感器监测数据和设备自身状态。
图3 数据交互流程
这一块的调试工作长达半年左右,才基本稳定下来,主要集中在设备商处除了硬件稳定性,还有在调试中发现传输的字符串乱码(c语言处理问题),沾包(厂商开发人员tcp协议不熟),优化传输效率,关闭cork或者 Nagle 算法(传输包很小)。
因为IOT网关不能主动断连接,理论 *** 作中,IOT网关应该和sensor有心跳协议,保证连接的有效性。设备商在数据流程交互完成后,竟然没有close 连接,直接休眠,导致网关所在服务器的连接的文件描述符一直没有正常释放,后面为了预防这种现象,我开启了 *** 作系统层面的keepalve定时器,回收失效连接(系统默认时间是2小时左右,我缩短了失效时间),理论上来说应该是应用层面去实现心跳协议。
整个IOT网关的设计,是无状态,可伸缩的,单网关在普通型ecs上可轻松达到数百tps。
首先,物理网是一种统称,并非产品。所以需要分开来看。
物理网结构上来说分为:产品、平台、系统(可包含在产品中)、服务器
简单的说
电子模块的设计
结构模块的设计(包括工业设计、机械设计等)
程序编写(即功能程序、系统程序等等)
后面需要做的就是:
架设服务器(这个并非必须,因为现在大的服务商都提供。这里所指的是内网或者是私人网络)
建立平台使得产品功能对接(现在也有一大堆的平台可以使用,所以也不是必须自己来建的)
繁易物联网模块通过MQTT协议接入第三方服务。繁易物联触摸屏,可以直接接入繁易工业物联网平台,实现真正的设备远程联网和售后运维等功能。同时,还支持MQTT,通过MQTT协议接入到第三方的物联网平台中。:物联网是一个非常先进的、综合性的和复杂的系统。其最终目标是为单个产品建立全球的、开放的标识标准,并实现基于全球网络连接的信息共享。物联网主要由六方面组成:EPC编码、EPC标签、识读器、Savant(神经网络软件)、对象名解析服务(Object Nami欢迎分享,转载请注明来源:内存溢出
评论列表(0条)