1.边缘端安装edge结构
2.根据配置文件包下的配置信息启动edge并创建mqtt监听
启动mqtt监听
交互原理
边缘节点纳管后,会在边缘节点上安装Edge Agent,其中设备管理相关则组件如下所示。
- EdgeHub:WebSocket客户端,包括同步云端资源更新、报告边缘节点和设备信息到云端等功能。
- DeviceTwin:设备孪生,负责存储设备状态并将设备状态同步到云端。
- EventBus:与 MQTT 服务器交互的客户端,为其他组件提供订阅和发布消息的功能。
- MQTT Broker:MQTT服务器。
图1 边缘设备管理
设备、边缘节点、IEF通信的过程中,设备孪生(DeviceTwin)起到了一个非常重要的作用,设备孪生保持设备的动态数据,包括特定背景下的设备专有实时数据,例如灯的开、关状态。
设备孪生具有与物理设备相同的特性,便于设备与应用之间进行更好地通信。应用发送的命令首先到达设备孪生,设备孪生根据应用设置的Expected State(期望的状态)进行状态更新,此外设备实时反馈自身的Actual State(真实的状态),设备孪生同时记录设备的Actual State和Expected State 。这种方式也使设备在离线状况下再次上线时,设备的状态也能得到同步。
设备上报实际状态到云端
设备上报实际状态到云端的过程如图2所示。
图2 设备上报状态
- 设备将实际状态(Actual State)实时上报给MQTT Broker。
- EventBus从MQTT Broker收到订阅消息,消息内容包含设备的实际状态。
- EventBus把设备实际状态发送给DeviceTwin,DeviceTwin在边缘节点存储设备实际状态。
- DeviceTwin同步实际状态给WebSocket客户端EdgeHub。
- EdgeHub发送消息给IEF。
云端修改孪生属性控制设备状态
图3 修改设备状态
- 在IEF中修改设备的孪生属性,IEF将设备期望状态(Expected State)发送给边缘节点的EdgeHub。
- EdgeHub发送设备期望状态消息到DeviceTwin,DeviceTwin在边缘节点存储设备期望状态。
- 设备实时发消息给MQTT Broker查询设备期望状态。
- EventBus接收到从MQTT Broker发过来的消息。
- EventBus根据消息去查询设备期望状态。
- DeviceTwin反馈当前设备期望状态给EventBus。
- EventBus发送设备期望状态的结果给MQTT Broker。
- 设备从MQTT Broker收到订阅消息,根据期望状态调整实际状态。
打赏