.. vim: syntax=rst .. highlight:: sh UDP协议接入 ============================ .. warning:: UDP协议是无状态的,不保证数据的可靠性。使用之前望悉知。 .. note:: UDPSERVER模式和UDPCLIENT模式只能选用一种。 UDPSERVER模式(设备作为服务器) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UDP客户端工具下载: https://packetsender.com/ 获取设备信息 ------------------------------------ 客户端发送: :: { "messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "param": { "type": "info" } } .. list-table:: 获取设备信息 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - type - String - 32 - 消息类型(info:获取设备信息) 服务端(设备)回传信息 ------------------------------------ 指令正常设备返回: :: { "messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "code": 200, "type": "ST200THPE", "data": { "temp": 20.79, "humidity": 34.16, "pressure": 97274.14, "altitude": 342.85 }, "net": { "connmethed": "eth", "ssid": "---", "dhcp": 1, "ip": "192.168.31.49" }, "sys": { "version": "1.0.1-release", "runtime": 216, "eth_mac": "E8:6B:EA:C2:10:5F", "sta_mac": "E8:6B:EA:C2:10:5C" }, "protocol": { "mqtt": 0, "http": 0, "tcpserver": 0, "tcpclient": 0, "udpserver": 1, "udpclient": 0 } } .. list-table:: 设备回传信息 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - code - Int - 8 - 状态码(200:成功) * - temp - Float - 8 - 温度(单位:摄氏度) * - humidity - Float - 8 - 湿度(单位:%) * - pressure - Float - 8 - 气压(单位:hPa) * - altitude - Float - 8 - 海拔(单位:米) * - connmethed - String - 8 - 网络连接方式(eth:以太网,wifi:无线) * - ssid - String - 32 - 无线SSID名称 * - humidity - Float - 8 - 湿度(单位:%) * - dhcp - Int - 8 - 是否DHCP(1:启用,0:静态) * - ip - String - 16 - 设备IP * - mac - String - 24 - 设备MAC(使用以太网即以太网MAC,使用无线即无线MAC) * - version - String - 24 - 固件版本 * - runtime - Int - 8 - 设备运行的时间 (单位:秒) * - protocol - Int - 8 - 各类协议是否启用(1:启用,0:未启用) .. note:: WIFI和以太网只能选用一种。 指令异常设备返回: :: { "messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "code": 204, "msg": "type not found" } .. list-table:: 异常返回 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - code - Int - 8 - 状态码(204:失败) * - msg - String - 32 - 错误信息 OTA升级 ------------------ 客户端发送: :: { "id": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "param": { "type": "ota", "uri": "http://10.0.0.50/idf/module_v1.bin" } } .. list-table:: OAT升级 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - type - String - 32 - 消息类型(ota:升级) * - uri - String - 128 - 升级文件下载地址 UDPCLIENT模式(设备作为客户端) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UDP客户端工具下载: https://www.emqx.com/zh/products/mqttx 获取设备信息 ------------------ 服务端发送: :: { "messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "param": { "type": "info" } } .. list-table:: 获取设备信息 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - type - String - 32 - 消息类型(info:获取设备信息) 客户端(设备)回传信息 ------------------------------------ 指令正常设备返回: :: { "messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "code": 200, "type": "ST200THPE", "data": { "temp": 20.79, "humidity": 34.16, "pressure": 97274.14, "altitude": 342.85 }, "net": { "connmethed": "eth", "ssid": "---", "dhcp": 1, "ip": "192.168.31.49" }, "sys": { "version": "1.0.1-release", "runtime": 216, "eth_mac": "E8:6B:EA:C2:10:5F", "sta_mac": "E8:6B:EA:C2:10:5C" }, "protocol": { "mqtt": 0, "http": 0, "tcpserver": 0, "tcpclient": 0, "udpserver": 0, "udpclient": 1 } } .. list-table:: 设备回传信息 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - code - Int - 8 - 状态码(200:成功) * - temp - Float - 8 - 温度(单位:摄氏度) * - humidity - Float - 8 - 湿度(单位:%) * - pressure - Float - 8 - 气压(单位:hPa) * - altitude - Float - 8 - 海拔(单位:米) * - connmethed - String - 8 - 网络连接方式(eth:以太网,wifi:无线) * - ssid - String - 32 - 无线SSID名称 * - humidity - Float - 8 - 湿度(单位:%) * - dhcp - Int - 8 - 是否DHCP(1:启用,0:静态) * - ip - String - 16 - 设备IP * - mac - String - 24 - 设备MAC(使用以太网即以太网MAC,使用无线即无线MAC) * - version - String - 24 - 固件版本 * - runtime - Int - 8 - 设备运行的时间 (单位:秒) * - protocol - Int - 8 - 各类协议是否启用(1:启用,0:未启用) .. note:: WIFI和以太网只能选用一种。 指令异常设备返回: :: { "messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "code": 204, "msg": "type not found" } .. list-table:: 异常返回 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - code - Int - 8 - 状态码(204:失败) * - msg - String - 32 - 错误信息 OTA升级 ------------------ 服务端发送: :: { "id": "3FBD8A5D-9824-D355-EF7A-B31A609522CC", "param": { "type": "ota", "uri": "http://10.0.0.50/idf/module_v1.bin" } } .. list-table:: OAT升级 :widths: 15 10 10 30 :header-rows: 1 * - 字段 - 类型 - 长度 - 备注 * - messageid - String - 32 - 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) * - type - String - 32 - 消息类型(ota:升级) * - uri - String - 128 - 升级文件下载地址