JetLinks 演示协议

    查看源码 (opens new window)

    上行Topic:

    1. 修改属性回复: /write-property
    2. 设备功能回复: /invoke-function
    3. 上报设备事件: /dev_msg
    4. 上报设备属性: /report-property

    目前支持MQTT3.1.1和3.1版本协议.

    认证

    CONNECT报文:

    1. clientId: 设备实例ID
    2. username: 产品设备详情MQTT认证配置的username
    3. password: 产品设备详情MQTT认证配置的password

    说明: 演示协议包的用户名密码为明文密码.

    读取设备属性

    topic: /read-property

    方向: 下行

    消息格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "messageId":"消息ID",
    4. "deviceId":"设备ID",
    5. "properties":["sn","model"] //要读取到属性列表
    6. }

    回复Topic: /read-property 方向: 上行 回复消息格式:

    1. //成功
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "messageId":"与下行消息中的messageId相同",
    4. "properties":{"sn":"test","model":"test"}, //key与设备模型中定义的属性id一致
    5. "deviceId":"设备ID",
    6. "success":true
    7. }
    8. //失败. 下同
    9. {
    10. "timestamp":1601196762389, //毫秒时间戳
    11. "messageId":"与下行消息中的messageId相同",
    12. "success":false,
    13. "code":"error_code",
    14. "message":"失败原因"
    15. }

    topic:

    方向: 下行

    消息格式:

    回复Topic: /write-property

    回复消息格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "messageId":"与下行消息中的messageId相同",
    4. "properties":{"color":"red"}, //设置成功后的属性,可不返回
    5. "success":true
    6. }

    设备属性上报

    topic: /report-property

    方向: 上行

    消息格式:

    1. {
    2. "deviceId":"设备id",
    3. "properties":{"temp":36.8} //上报数据
    4. }

    调用设备功能

    topic: /invoke-function

    方向: 下行

    消息格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "messageId":"消息ID",
    4. "deviceId":"设备ID",
    5. "function":"playVoice",//功能ID
    6. "inputs":[{"name":"text","value":"播放声音"}] //参数

    回复Topic: /invoke-function

    方向: 上行

    消息格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "messageId":"与下行消息中的messageId相同",
    4. "output":"success", //返回执行结果,具体类型与物模型中功能输出类型一致
    5. "success":true,
    6. }

    设备事件上报

    topic: /dev_msg

    方向:

    topic: /tags

    方向上行,更新平台中的设备标签数据

    消息格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "tags":{
    4. "key":"value",
    5. "key2":"value2"
    6. }
    7. }

    上报更新固件进度

    topic: /firmware/progress

    方向上行,上报更新固件进度.

    详细格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "progress":50,//进度,0-100
    4. "complete":false, //是否完成更新
    5. "version":"升级的版本号",
    6. "success":true,//是否更新成功,complete为true时有效
    7. "errorReason":"失败原因",
    8. "firmwareId":"固件ID"
    9. }

    拉取固件更新

    topic: /firmware/pull

    方向上行,拉取平台的最新固件信息.

    详细格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳
    3. "messageId":"消息ID",//回复的时候会回复相同的ID
    4. "currentVersion":"",//当前版本,可以为null
    5. "requestVersion":"", //请求更新版本,为null或者空字符则为最新版本
    6. }

    上报固件版本

    topic: /firmware/report

    方向下行,设备向平台上报固件版本.

    详细格式:

    1. {
    2. "timestamp":1601196762389, //毫秒时间戳