从零开始设计环保监测物联网系统(二)

从零开始设计环保监测物联网系统(二),第1张

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。

课程名称
使用教材
备注
物联网产业与技术导论
《物联网:技术、应用、标准与商业模式》,电子工业出版社,等教材。
在学完高等数学,物理,化学,通信原理,数字电路,计算机原理,程序设计原理等课程后开设本课程,全面了解物联网之RFID、M2M、传感网、两化融合等技术与应用。
C语言程序设计
《C语言程序设计》,清华大学出版社,等教材。
物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准
Java程序设计
《Java语言程序设计教程》,机械工业出版社,等教材。
物联网应用层,服务器端集成技术,开放Java技术也是必修课,同时需要了解Eclipse,SWT, Flash, HTML5,SaaS等技术
无线传感网络概论
《无线传感器网络理论、技术与实现》,国防工业出版社,《短距离无线通讯入门与实战》北京航空航天大学出版社,等教材。
学习各种无线RF通讯技术与标准,Zigbee, 蓝牙,WiFi,GPRS,CDMA,3G, 4G, 5G,Mote等等
TCP/IP网络与协议
《TCP/IP网络与协议》,清华大学出版社,等教材。
TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能,为必修课
嵌入式系统
《嵌入式系统技术教程》,人民邮电出版社等教材。
嵌入式系统是物联网感知层和通讯层重要技术,了解TinyOS等,为必修课
传感器技术概论
《传感器技术》,中国计量出版社,等教材。
物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解
RFID技术概论
《射频识别(RFID)技术原理与应用》,机械工业出版社,等教材。
RFID作为物联网主要技术之一,需要了解,它本身(与智能卡技术融合)可以是一个细分专业或行业,也可以是研究生专业选题方向。
工业信息化及现场总线技术
《现场总线技术及应用教程》,机械工业出版社,等教材。
工业信息化也是物联网主要应用领域,需要了解,它本身也可以是一个细分专业或行业,也可作为研究生专业选题方向。
M2M技术概论
《M2M: The Wireless Revolution》,TSTC Publishing,等教材。
本书是美国“Texas State Techinical College”推出的M2M专业教材,在美国首次提出了M2M专业教学大纲,M2M也是物联网主要领域,需要了解,建议直接用英文授课。
物联网软件、标准、与中间件技术
《中间件技术原理与应用》,清华大学出版社,《物联网:技术、应用、标准与商业模式》,电子工业出版社,等教材。
物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解,尤其是对毕业后有志于走向工业和企业界的学生。

博图cmptp模块是一种用于通信协议开发的模块,主要用于构建协议栈和通信接口。该模块可以帮助开发人员快速开发出符合标准的通信协议,并提供了一些常用的通信接口函数,方便开发人员进行数据传输和处理。
要使用博图cmptp模块,需要进行如下步骤:
1 下载和安装博图cmptp模块。可以从博图官网下载cmptp模块的安装包,并按照安装说明进行安装。
2 创建协议栈。使用cmptp模块提供的API函数,可以创建符合标准的通信协议栈。协议栈是一组按照特定顺序排列的协议层,用于实现通信协议的不同功能。在创建协议栈时,需要定义协议层的类型、参数和顺序等信息。
3 实现通信接口。使用cmptp模块提供的API函数,可以实现不同的通信接口,包括串口、网络、USB等。通信接口用于进行数据传输和处理,并提供了一些常用的通信接口函数,如发送数据、接收数据、打开连接、关闭连接等。
4 调试和测试。在完成协议栈和通信接口的开发后,需要进行调试和测试,以确保协议栈和通信接口的可靠性和稳定性。可以使用cmptp模块提供的调试工具和测试工具,对协议栈和通信接口进行测试和验证。
需要注意的是,博图cmptp模块是一种专业的通信协议开发工具,需要一定的专业知识和技能才能熟练使用。在使用该模块进行开发时,建议先了解相关的通信协议标准和开发流程,以确保开发效率和开发质量。

WiFi模块的使用其实需要了解实际的应用方案,工程师都支持WiFi模块大致的分为三大类,USB WiFi模块、AP/Router WiFi模块、UART WiFi模块,若平台需要通过这些接口USB,PCIE,SDIO进行通讯,则选择做从设备的USB WiFi模块;若是想将4G信号转换为WiFi信号,则选择AP/Router WiFi模块;若是想做时下热门的物联网应用,则可以优先考虑UART WiFi模块;因为不知道您这边具体是做一个什么应用,所以,小编就以时下热门的物联网应用智能插座方案举个例子:

智能插座方案主要以串口WiFi模块为基础,实现无线数传、控制等功能。方案包括:1) 硬件参考设计;2)云平台服务;3)iOS,Android APP设计服务;4)嵌入式软件服务;5)WiFi模块WG219/WG229/LCS6260/WG231。

智能插座方案说明:手机APP通过路由器连接WiFi,控制内置串口WiFi模块的WiFi智能插座,实现不同的功能,比如可以定时,延时,自动报警;通电、断电以及usb充电,网络远控,电量统计,节能省电……等 *** 作;在WiFi辐射范围外,也可以通过云端来实现控制,希望能够帮助到您。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13486719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-16
下一篇 2023-08-16

发表评论

登录后才能评论

评论列表(0条)

保存