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

  1. 服务器端返回的响应 Message ID 与 设备发送的 Message ID 一致
  2. 设备 ID 使用 MAC 地址形式,设备的唯一标识符
  3. 设备登录成功,返回响应;失败,无响应;退出作一样的处理
  4. 心跳,1分钟发一次,5秒内没有收到你的响应,我会重复发;连续5次没有收到你的响应,我会重新登陆

异常(待考虑,需要针对异常补充什么确保机制)

  1. 登陆后,万一网络断线了。比如说你那里显示设备已经登陆,我这里如果再重新登陆你那里会怎么处理?

报文数据

40020000ff01000c0157a42ee900010203040500

05-06 17:02