一个完整的网关通信架构
一、组成
传感器:分采集类和执行类两种传感器
。
① 采集类传感器:通过 AD 转换、压力和化学反应等技术转化为数字信息。如土壤温湿度。
② 执行类(执行器):接收控制指令进行自动控制的过程控制的设备。如风扇。
无线控制节点:通过 IO、RS485、RS232 和 UART 等方式与传感器交互,获取传感器数据或控制执行器。然后,通过有线或无线方式把环境信息数据传输给网关或接收网关控制指令,执行器响应动作。
无线控制节点与网关通信方式:有线和无线两种。
有线传输:RS485、串口等。
无线传输:ZigBee、Wi-Fi、IPv6、BLE、LoRa 等。
网关:即物联网网关(Gateway),作为一个新的名词,在物联网时代将会扮演非常重要的角色,它将成为连接感知网络与传统通信网络的纽带。作为网关设备,物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换.既可以实现广域互联.也可以实现局域互联。此外物联网网关还需要具备设备管理功能,运营商通过物联网网关设备可以管理底层的各感知节点,了解各节点的相关信息,并实现远程控制。上图示意性地给出了以物联网网关构建的物联网典型拓扑。
例如:小米智能家居套件中的智能网关。使用的是 ZigBee 转 Wi-Fi 的方案,网关上有 ZigBee 协调器模块和 Wi-Fi 模块。ZigBee 无线节点采集传感器数据上报给网关。网关通过 Wi-Fi 接入 Intenet 网络。
云服务:是一种模型,它可以实现随时随地、便捷地、随需应变地从可配置资源共享池中获取所需的资源(例如,计算、存储、网络、应用、及服务),资源能够快速供应并释放,使管理资源的工作量与服务提供商的交互减小到最低程度。
云服务的主要通信协议:MQTT、DDS、AMQP、XMPP、JMS、REST、CoAP 等广泛使用的物联网协议。
终端平台:一般终端分为手持终端(移动终端)和 PC 平台。手持设备以 Android 和 IOS 系统为主,PC 以Window 和 MacOS 系统为主。共同点可以直接接入 Intenet、开源项目多、易开发和友善的人机交互界面。
主流的一些开发语言 C++、C#、Java、Python、HTML5 和 PHP 等
1、节点
节点是传感器与网关之间的一个数据采集与协议封装单元,其主要功能:
将传感器采集的数据根据配置的节点属性封装成不同的数据包发送给网关.
节点既要 获取传感器数据 还要进行协议封装 上传网关。
1.1 节点配置
- 节点自身属性
- 传感器部分属性
- 网关对接属性
2、网关
网关板主要是网络数据汇聚,把不同种网络数据(ZigBee、BLE、Wi-Fi、IPv6 和 LoRa 等)归为一种方式传输出去。
网关的作用:
通过无线或者有线的方式实时接受节点上报的传感器数据,并按照协议将有用的数据提取出来,发送给Scratch或者Python语言来进行数据处理。
3、网关和节点之间的连接
网关和节点控制板之间的连接分为两种:有线和无线。
有线:RS485 硬件协议,数据使用 Modbus-RTU 标准协议,(节点控制板常用 Modbus从机地址)。
无线:ZigBee、Wi-Fi、BLE、IPv6 和 LoRa 等无线通讯方式。数据协议使用自定义 3.0 版本,(常用传感器节点 ID 表)。
有线通信连接如下图:
多种网络通信连接如下图:
注意:
1、无线方式下,所有 Cortex-M3 无线节点控制板的通信方式在网关中必须有同样的模块与之通信。
2、每种网络通信方式的 PANID、UUID 和 SSID 必须一致。例如:Cortex-M3 无线节点控制板上的 ZigBee 的PANID 和网关上的 ZigBee PANID 必须一致。
二、软件编程
2.1 MQTT协议接口
本文来自博客园,作者:登云上人间,转载请注明原文链接:https://www.cnblogs.com/lj15941314/p/16355095.html