OneNET EDP协议详解:设备接入与通信流程

需积分: 50 13 下载量 184 浏览量 更新于2024-07-16 收藏 332KB DOCX 举报
"设备终端接入协议-EDP.docx" Enhanced Device Protocol (EDP) 是一种专用于设备与业务接入的通信协议,它基于TCP,但仅负责数据包的传输,而不保证数据的顺序或到达顺序。EDP适用于需要与OneNET平台进行数据交互的物联网(IoT)设备。在使用EDP时,事务处理机制需在协议的上层实现。当客户端并发发起多次请求时,服务器的响应顺序可能与请求顺序不同。 设备接入EDP协议通常通过使用OneNET提供的EDPSDK,使得设备能够上报业务数据点到OneNET平台。为了实时接收来自业务层的控制命令,设备需要维持一个EDP长连接。而业务应用层如果想要自定义实现业务平台,可以利用HTTP协议的RESTful API来操作OneNET平台提供的各种资源,如设备管理、数据点、命令控制等。 接入EDP协议的过程主要包括以下步骤: 1. 访问OneNET官网并注册用户账号。 2. 根据业务需求,在创建产品时选择EDP协议。 3. 根据所选择的登录方式,填写设备的相关属性,并在产品下新增设备,获取产品ID、设备ID以及api-key等关键信息。 4. 设备通过TCP连接向平台地址发起连接请求,发送封装好的报文进行通信。 EDP的消息格式由三部分组成:必需的消息头、可选的多个选项和可选的消息体。消息类型是消息结构中的一个重要元素,包括多种不同的消息类型,如: - 连接请求:设备发起连接到平台的请求。 - 连接响应:平台对设备连接请求的回应。 - 转发(透传)数据:用于设备与平台之间的实时数据传输。 - 连接关闭:设备或平台关闭连接的信号。 - 存储(&转发)数据:设备存储数据点或平台转发存储的数据。 - 存储确认:对存储数据操作的确认。 - 命令请求:业务层向设备发送控制命令。 - 命令响应:设备对命令请求的响应。 - 心跳请求/响应:保持连接活跃性的机制。 - 加密请求/响应:处理数据加密的请求和响应。 - 上报固件信息:设备报告其固件信息。 - 下发固件信息:平台向设备推送固件更新。 主要的流程包括: - 登录:设备通过EDP与平台建立连接。 - 数据收发(透传):双向传输实时数据。 - 存储数据点:设备将数据点存储到平台。 - 存储数据点并获得确认:确保数据已正确存储,并收到平台的确认。 - 存储数据点并转发:存储数据后,平台将其转发至指定位置。 - 命令请求及响应:设备接收并执行命令,返回响应结果。 - 心跳保持:定期发送心跳包以保持连接。 - 数据加密:确保数据传输的安全性。 在这些流程中,数据加密是一个重要的安全环节,确保了设备与平台之间的通信不会被未经授权的第三方窃取或篡改。EDP协议为物联网设备提供了可靠的数据传输和控制机制,适应于各种业务场景,尤其适合那些基于OneNET平台构建的新业务。