UDP 机器控制项目
协议报文格式:
Ver + T + TKL + Code + MessageID + 11111111 + Command + Payload
01 + ( 00 | 01 | 02 | 03) + (000000)
40 02 00 00 FF 01 00 E0 4C 1E 5C 4C // dev->ser 设备登陆请求: 报文编号:0,ID为00 E0 4C 1E 5C 4C
60 45 00 00 FF 01 00 E0 4C 1E 5C 4C // ser->dev 服务器登陆响应: 报文编号:0,ID为00 E0 4C 1E 5C 4C
40 01 01 00 FF 02 00 E0 4C 1E 5C 4C // dev->ser 设备登出请求: 报文编号:1,ID为00 E0 4C 1E 5C 4C
60 45 01 00 FF 02 00 E0 4C 1E 5C 4C // ser->dev 服务器登出响应: 报文编号:1,ID为00 E0 4C 1E 5C 4C
50 01 02 00 FF 03 00 E0 4C 1E 5C 4C // dev->ser 设备心跳请求: 报文编号:2,ID为00 E0 4C 1E 5C 4C
协议中服务器无响应
40 02 03 00 FF 04 00 E0 4C 1E 5C 4C // dev->ser 设备数据上报请求: 报文编号:3,ID为00 E0 4C 1E 5C 4C
60 45 03 00 FF 04 00 E0 4C 1E 5C 4C // ser->dev 服务器数据上报响应: 报文编号:3,ID为00 E0 4C 1E 5C 4C
40 02 04 00 FF 05 00 E0 4C 1E 5C 4C // dev->ser app控制设备请求: 报文编号:4,ID为00 E0 4C 1E 5C 4C
60 45 04 00 FF 05 00 E0 4C 1E 5C 4C // ser->dev 设备响应app控制: 报文编号:4,ID为00 E0 4C 1E 5C 4C
- 服务器端返回的响应 Message ID 与 设备发送的 Message ID 一致
- 设备 ID 使用 MAC 地址形式,设备的唯一标识符
- 设备登录成功,返回响应;失败,无响应;退出作一样的处理
- 心跳,1分钟发一次,5秒内没有收到你的响应,我会重复发;连续5次没有收到你的响应,我会重新登陆
异常(待考虑,需要针对异常补充什么确保机制)
- 登陆后,万一网络断线了。比如说你那里显示设备已经登陆,我这里如果再重新登陆你那里会怎么处理?
报文数据
40020000ff01000c0157a42ee900010203040500