1、onenet设备终端接入协议-本页仅作为文档封面,使用时请直接删除即可-内页可以根据需求调整合适字体及大小-onenet设备终端接入协议2-EDP(总24页)Enhanced Device Protocol(EDP)欢迎访问设备云门户网站注册用户,获取最新文档。版本号修订日期修订内容说明增加存储数据报文;REST API 增加历史数据查询接口,用于上报数据点,或者上报的同时转发数据点。增加消息类型9,以支持对存储数据的确认。2015/07/17增加加密机制;命令请求和响应报文;存储数据点,新增3中格式;修改登陆方式为2种;2015/10/14添加连接关闭消息1说明 该接口上的协议基于TCP,但
2、只传输数据包到目的地,不保证传输的顺序与到达的顺序相同,事务机制需要在上层实现;若客户端同时发起两次请求,服务器返回时,不保障返回报文的顺序。2设备与业务接入模式设备层:利用平台提供的EDPSDK,实现EDP协议,用于上报业务数据点到OnetNet。若需要实时接收业务层下发的控制命令,需要保持EDP长连接。业务应用层:若要自定义实现业务平台,可通过HTTP 协议的RESTful API操作OnetNet提供的资源(设备、数据点、命令控制等资源的增删查改)。适用场景:在充分分析业务数据模型的基础上,认为OneNet提供的设备-数据流-数据点模型适合业务数据存储。优先推荐新业务使用该模式。3接入流
3、程3.1访问平台注册用户;3.2用户根据业务情况,在“连接请求”章节中选择EDP登录方式;3.3根据登录方式,填写设备相关属性,在项目下新增设备,获取项目ID、设备ID,以及api-key等信息;3.4设备发送TCP连接请求到以下地址,发送封装的报文与平台交互。平台服务器地址,TCP 端口876,298764消息格式消息包括三个部分:必选的消息头(绿色),可选的多个选项(黄色)以及可选的消息体(蓝色)。字节bit76543210Byte 1消息类型保留位(全零)Multi-bytes剩余消息长度(1-4字节,指示选项+消息体的长度)Multi-bytes选项(根据消息类型0个或多个)Multi
4、-bytes消息体(根据消息类型0或多个字节)4.1消息类型 占第一个字节的前4位,取值范围(0-15),定义如下:类型值含义方向1CONN_REQ:连接建立请求C(client)-S(server)2CONN_RESP:连接建立响应S-C3PUSH_DATA:转发(透传)数据双向4CONN_CLOSE:连接关闭S-C8SAVE_DATA:存储(&转发)数据双向9SAVE_ACK:存储确认S-C10CMD_REQS-C11CMD_RESPC-S12PING_REQ: 心跳请求C-S13PING_RESP: 心跳响应S-C14ENCRYPT_REQC-S15ENCRYPT_RESPS-C其他值保
5、留4.2剩余消息长度用于指示选项和消息体的字节数。目前平台限制EDP协议每条消息剩余长度不能超过4M。该字段占用1-4个字节,长度值的低位部分放在传输的前面字节,高位放在后面。每个字节的最高位为延续指示位。延续指示位为1时,标示后面字节也是长度值,最多可延续4个字节。可表示数据范围如下:字节数最小值最大值10(0x00)127(0x7F)2128(0x80, 0x01)16383 (0xFF, 0x7F)316 384 (0x80, 0x80, 0x01)2 097 151 (0xFF, 0xFF, 0x7F)42 097 152 (0x80, 0x80, 0x80, 0x01) 268 43
6、5 455 (0xFF, 0xFF, 0xFF, 0x7F)注意:消息剩余长度 = 选项所占字节数 + 消息体所占字节数,根据该值的大小来确定消息剩余长度字段在EDP数据包中占用多少个字节,比如从上表可以看出,当0剩余长度=127的时候,消息剩余长度字段在EDP数据包中只占一个字节,而不是四个字节;当 127剩余长度=16383的时候,消息剩余长度字段在EDP数据包中占两个字节,而不是四个字节;依此类推。例如,若选项+消息体长度共321=65+2*128字节,则该域(剩余长度)需要两个字节才能表示,第一个字节的延续位置1,按照传输顺序格式如下:字节bit76543210Byte 1110000
7、01Byte 200000010解析该长度值的C语言算法可表示为:( ( Byte2 & 127 ) S(设备到平台)平台收到该消息,选项中的地址是该数据转发的目的地址(目的设备ID号);若目的地址的长度为零,即没有目的地址,则平台将该消息转发到设备注册时的默认目的地址(设备申请时,填写的route_to字段)。S-C (平台到设备)设备收到该消息,选项中的地址是该数据发送的发送者(源)地址;示例:通过设备云发送数据到ID为21573的设备。字节说明bit76543210消息头Byte 1第一字节:Bit(4-7):消息类型,值为3;Bit(0-3):保留位,值为0;00110000剩余消息长度(283编码后需要占用2个字节)Byte 2消息剩余字节长度(283)-编码第一字节(低)10011011Byte 3消息剩余字节长度(283)-编码第二字节(高)00000010选项1:目的或源地址(字符串格式)Byte 4固定两字节长度高位字节,值为000000000Byte 5固定两字节长度低位字节,值为500000101Byte 6字符200110010Byte 7字母100110001Byte 8字母500000101Byte 9字母700110111Byte 10字母300110011消息体(用户数据)Byte 11
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1