西安营销型网站建设公司,绍兴做团购的网站,上海外贸网站推广服务,郑州专业网站制作一、协议简介
在 EdgerOS 的智慧生态场景中#xff0c;许多智能设备或传感器的生命周期都与 SDDC 协议息息相关#xff0c;这些设备可能是使用 libsddc 智能配网技术开发的#xff0c;也有可能是因为主要功能上是使用其他技术如 MQTT、LoRa 等但是设备的上下线依然是使用上…一、协议简介
在 EdgerOS 的智慧生态场景中许多智能设备或传感器的生命周期都与 SDDC 协议息息相关这些设备可能是使用 libsddc 智能配网技术开发的也有可能是因为主要功能上是使用其他技术如 MQTT、LoRa 等但是设备的上下线依然是使用上述的技术。SDDCSmart Device Discovery Control智能设备发现与控制是 EdgerOS 专门为 Wi-Fi 和以太网通信技术的物联网设备定义的发现与控制通信协议。使用 SDDC 协议开发的物联网设备能被 EdgerOS 自动管理因此推荐 Wi-Fi 和以太网通信技术的物联网设备使用 SDDC 协议与 EdgerOS 通信。SDDC 协议实现了以下功能 EdgerOS 发现设备 EdgerOS 邀请设备加入 设备加入和退出 EdgerOS EdgerOS 维持设备 Online 状态 EdgerOS 与设备间的双向数据通信数据可加密支持带有消息重传和确认的可靠通信方式。 SDDC 协议流程如下图 二、协议的实现原理
SDDC 协议是基于 UDP 协议实现的如图所示UDP 报文的数据部分的前 16 个字节实际上就是 SDDC 数据报的头部 对于 SDDC 协议的头部来说它的结构组成如下 说明 magic_version 标志着 SDDC 协议的版本号 flag 分别为 0x00无标志、0x10紧急标志、0x20加入标志、0x40请求标志、0x80确认标志 type 分别为 0x00Discover 消息、0x01 Report 消息、0x02更新消息、0x03(邀请消息)、0x04(PING消息)、0x05普通消息、0x60系统时间消息 seq_noSDDC 数据报的序列号 MAC[0]-MAC[2] 和 MAC[3]-MAC[5]设备的6字节MAC地址数组 security选择是否进行加密通信设备也可以通过此标志位设置使用设备密码 data_lensddc payload 的长度。
三、协议的实现流程
Spirit 1Spirit 1 是翼辉爱智推出的一款高性能、高速率、高可靠、低延时的智能边缘计算机 在广播地址发送一个值为 1500568c409505fe800004b700000000 的 UDP 报文其中 flag_type 为 00 代表这是一条发送到所有连接到 Spirit 1 的网络的设备的【发现】报文用于搜索所有的 SDDC 设备。设备收到 Discover 消息会回复一条 flag_type 为 01 代表 Report 消息的 UDP 报文。 Spirit 1 邀请设备加入到自己的设备组。在加入之后普通消息一般为 flag_type 为 45 的 UDP 报文 如下是 Spirit 1 向设备发送的消息其中 flag 为 4 代表请求包type 为 5 代表普通消息且 seq_no 标志为 67 95 设备收到消息后会对消息进行处理假如需要确认则会回复一个确认包。flag_type 为 84其中 flag 为 8 代表确认包type 为 5 代表普通消息且 seq_no 标志为 67 95 代表回复的是 67 95 的确认包。我们知道 UDP 数据报是无连接的SDDC 协议使用 seq_no 机制可以保证数据有序。 当 Spirit 1 和 设备没有进行消息传送的时候 Spirit 1 会发送 flag_type 为 44 的请求 PING 包等待来自远程设备的回复。当远程设备未回复时系统将自动重新发送此消息直到远程设备响应或超时。 当设备收到请求 PING 包时设备会向该 seq_no 的包回复一个 flag_type 为 84 的 确认包这样 Spirit 1 就知道设备还在线。
四、更多
SDDC 数据报是基于 UDP 协议实现该通信协议免费开源实现简单可以有效降低开发成本在 UDP 的基础上做到了安全可靠、有序到达除此之外还有许多功能比如可以发送时间戳消息这样没有 RTC 芯片的无状态设备也可以同步网络时间可以发送紧急消息这样设备或系统可以优先处理等。