硬件与服务器通讯流程
前言:
CITC-iot物联网平台支持目前主流的物联网通讯协议,同时已有多款产品和项目在运行,目前已实现数据高并发通讯与存储。目前支持的协议为:MQTT、COAP、HTTP等,本文着重讲解本平台支持的硬件与服务器的通讯流程。
现有平台协议分析总结:
由上图可知:目前各大IOT云平台支持的主流协议均为MQTT协议。其他协议或使用范围狭窄,或使用过程繁杂,或硬件对接复杂。
故,本iot平台依旧在支持MQTT协议的基础上,同时还支持COAP、HTTP等协议(其他协议正在建设中),完成物联网多协议的对接。
数据采集:
硬件的数据采集是依靠多种传感器来完成的,传感器的采集决定了主控MCU的采集流程,目前业内的传感器多采用以下的协议来实现:
- 工业modbus485采集
. I2C数据采集
. 工业模拟量采集(4-20ma)
. CAN总线数据采集
. 单总线数据采集
MCU主控类型
概述:
MCU作为硬件的主控,进行数据的读取与简单的分析以及数据校验,另外也负责了整个硬件系统的工作以及进程管理,例如:温湿度采集系统的工作,从485协议的温湿度探头读取到数据,进行CRC校验,进而计算出数据值,发送给通讯模组(NB或者WIFi、4G),同时MCU还管控着整个系统的流程、以及时钟、另外也作为系统故障的检测与处理的角色。
目前使用的MCU的型号如下:
STM系列:
STM32F407、STM32F103、STM32F030
Arduino系列:
Arduino uno R3、Arduino mega2560、Arduino mini
ESP系列(同时可作为通讯模组):
ESP01、ESP12F、ESP32
通讯模组类型:
概述:
通讯模组作为硬件系统的传输层,把MCU发来的数据点,通过特定的协议(MQTT、HTTP、COAP)发送到云服务器,同时内部芯片里面集成了传输需要的通讯逻辑与时钟调配。
目前测试的通讯模组型号如下:
WIFI模组:
ESP01、ESP12F、ESP32
NB模组:
高新兴物联ME3616、中移M5311、SIM7000C
4G模组
SIM7600
通讯协议类型
MQTT:
MQTT协议是一个面向物联网应用的即时通信协议,使用TCP/IP提供网络连接,能够对负载内容实现消息屏蔽传输,开销小,可以有效降低网络流量。这也是目前主流的物联网通讯协议
COAP
由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。 IETF的CoRE工作组提出了一种基于REST架构的CoAP协议。COAP的使用并不是太广泛,但是他占用的资源是非常的小的。
HTTP
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。
IOT项目工作流程:
一、 数据采集:
由传感器(例如温湿度传感器)采集环境或者设备的状态值,内部芯片会处理为使用于工业通讯的格式,例如:485、0-5V、4-20MA,同时内部会生成必要的数据校验,为MCU处理数据做准备。
二、 MCU处理与发送以及接收:
MCU主动问询或者接收由传感器采集的数据点,进行必要的校验无误后,进行数据的简单处理,例如:滤波、换算等,进而进行数据的封包,封装成适合通讯模组的格式,例如:MD5加密、进制转换、数据整合等。
当收到通讯模组回传的下发命令,将进行解析并控制硬件执行相关的动作,例如:设备休眠、设备自检。
三、 通讯模组数据推送
通讯模组(NB、4G、WIFI)接收MCU封装好的数据,内部芯片利用支持的通讯协议将数据发送至指定IP的服务器,同时也接收服务器下发的命令,转发给MCU来执行命令。
四、 服务器接收:
服务器接收到硬件设备发来的数据进行校验和解密后,将数据推送至队列或者缓存至数据库,用于前端显示与用户界面的展示,例如:监控大屏。同时也接收用户发来的指令,将消息下发至MCU进而控制设备执行动作。
总结:
目前CITC-IOT平台的数据传输以及通讯协议均采用业内主流标准,部分项目数据传输严格按照国家标准协议,同时又开发了一些特有的通讯协议与标准,用来配合快速开发与设备验证,更多的协议支持还在建设中,同时更多的项目也在陆续对接。