当前位置:文档之家› 物联网通讯协议

物联网通讯协议

TCP(UDP)服务:

一可见asc明文传输:

1 为了让用户迅速的实现传输测试,定义了一种非常简单的协议,使用可见的asc字符传输。

2 回车换行(0x0d、0x0a)作为分割符,设备上传可以是一个回车或一个换行或同时使用回车换行,服务器下发同时使用回车换行。

3 包头采用“$”。

4 数据包中不允许使用以上特殊字符,建议只使用字母和数字及下划线及百分号等可见asc 字符。

5 数据包大小不能超过1024字节,超过的话用户自己做分包处理

6 数据可保存在服务器,服务器自动加时间戳,可查询

7 设备ID长度小于15,目前设备ID编码规则未定义,用户自己处理重复编码的问题,或者和我们沟通解决。

8 tcp连接建议每5分钟发送一个心跳数据包(或15分钟),udp建议30秒,否则很多地方会被路由切断,可以自己测试具体时间。

例如有两台设备862950020676253和860719020024984:

1 设备ID为862950020676253的设备上传一个数据包ABC到服务器

$011000F86295002067625300003ABC

01 是协议版本(版本域:00-99),如果有新的版本,服务端会保留对旧版本的支持

1表示需要服务器应答,0表示不需要服务器应答(类型域:0-9),2表示应答,可带数据,3表示重置消息(一般用于接收端上下文丢失),数据为空

00表示消息ID,用于检测重复数据(ID域:000-999)

F是源设备ID长度,从1到15,即1-9,A-F

862950020676253是源地址

0是目标设备ID长度,0长度指上传到服务器,有长度的话指转发给其它设备

0003是数据长度

ABC是数据

服务器应答:$012000F8629500206762530000

(注:数据中可以是特定的关键字或参数,可以定做服务端,例如请求配置信息或是查询寻等)

2 设备ID为862950020676253的设备往设备ID为860719020024984的设备发送一条数据OPENLED001

$011000F862950020676253F8607190200249840010OPENLED001

01 是协议版本

1表示需要服务器应答,0表示不需要服务器应答

000表示消息ID

F是源设备ID长度,从1到15,即1-9,A-F

862950020676253是源地址

F是目标设备ID长度

860719020024984是目标地址

0010是数据长度,10个字节,如果单片机处理不方便,可直接填0000

OPENLED001是数据

服务器应答:$012000F862950020676253F8607190200249840000

然后服务往目的地址转发数据:$011000F862950020676253F8607190200249840010OPENLED001

测试域名(地址):159.29.142.19

测试端口:20000

注:设备ID不能重复,否则会引起混乱,需要ID测试的请联系qq:867123436

二二进制数据直接传输:

1 目的在于减少传输的数据量,需要一定的通讯知识

2 转义必须

3 校验可选

4 加密可选

5 分包、拆包可选(大数据包传输,例如远程升级)

6 设备及子设备远程升级可选

HTTP服务

一上传格式

1 GET

2 POST

二下行

相关主题