物联网mqtt消息格式定义示例

物联网mqtt消息格式定义示例

物联网mqtt通信流程

物联网整体交互框架.drawio

消息定义

应用下发到云

POST https://云服务器ip/iot/{product_id}/{device_id}/cmd
Content-Type: application/json
X-Auth-Token: ********

json消息格式,与1.4 云下发到设备 一致

云下发到设备

Topic: /{product_id}/{device_id}/cmd
这里product_id和device_id,由19未随机数组成,具体由平台定义;
json消息格式,FUNC时:
{
     "cmd_name": "relay_ctr",     
     "request_id": "0",
     "type": "FUNC",
     "method": "SET" ,
     "operate": "SET" ,  
     "product_id":"1",
     "device_id":"36",
     "function_id":"14",
     "timestamp":0,
     "params":{
       "state":"ON"
      } 
}

json消息格式,VAL时:
{
     "cmd_name": "temp",     
     "request_id": "0",
     "type": "FUNC",
     "method": "SET" ,
     "operate": "SET" ,  
     "product_id":"1",
     "device_id":"36",
     "function_id":"4",
     "timestamp":0,
     "params":{
       "max_val":95.4,      
       "val":37.5,          
       "min_val":8.2
      }   
}

说明:
     cmd_name 命令名,具体由平台定义;需app和平台,嵌入设备三端一致
	 request_id 下发时,随机生成,由19未随机数组成;这里原样返回
	 type      命令类型FUNC和VAL两种,FUNC 功能型,如开关机,状态等;VAL
	 method   SET和GET或其他;
	 operate   ON,OFF等;
	 product_id 产品id,由19未随机数组成,具体由平台定义;需app和平台,嵌入设备三端一致
	 device_id  设备id,由19未随机数组成,具体由平台定义;需app和平台,嵌入设备三端一致
	 function_id 功能id,由19未随机数组成,具体由平台定义;需app和平台,嵌入设备三端一致
	 timestamp  时间戳
	 params    具体的参数获取或设置的值;字段根据type类型有所区别:
                 FUNC时:
                  "params":{
                   "state":"high8"
                  }

                 VAL时:
                 "params":{
                   "max_val":95.4,      
                   "val":37.5,          
                   "min_val":8.2
                  }
注意:最后一项不能加"," 逗号,否则开发板解析有问题

设备返回结果给云

Topic:/{product_id}/{device_id}/data
这里product_id和device_id,由19未随机数组成,具体由平台定义;

json消息格式,FUNC时:
{
  "result_code": 0, 
  "result": "success",
  "message": "OK",
  "response_id": "0",   
  "data":{
     "cmd_name": "relay_ctr",     
     "request_id": "0",
     "type": "FUNC",
     "method": "SET" ,
     "operate": "SET" ,  
     "product_id":"1",
     "device_id":"36",
     "function_id":"14",
     "timestamp":0,
     "params":{
       "state":"ON"
      }
  }   
}

json消息格式,VAL时:
{
  "result_code": 0, 
  "result": "success",
  "message": "OK",
  "response_id": "0",   
  "data":{
     "cmd_name": "temp",     
     "request_id": "0",
     "type": "FUNC",
     "method": "SET" ,
     "operate": "SET" ,  
     "product_id":"1",
     "device_id":"36",
     "function_id":"4",
     "timestamp":0,
     "params":{
       "max_val":95.4,      
       "val":37.5,          
       "min_val":8.2
      }
  }   
}

说明:
result_code   0:成功;1或其他:失败;具体失败码定义,请参考相关文档(待定义)
result        success和fail等字样,与result_code对应
message       提示性内容
response_id   响应id与request_id 一致;用于接收端区分该响应属于哪个请求;
data          具体的响应数据
     cmd_name 命令名与下发时一致,具体由平台定义;需app和平台,嵌入设备三端一致
	 request_id 下发时,随机生成,由19未随机数组成;这里原样返回
	 type      命令类型FUNC和VAL两种,FUNC 功能型,如开关机,状态等;VAL
	 method   SET和GET或其他;
	 operate   ON,OFF等;
	 product_id 产品id,由19未随机数组成,具体由平台定义;需app和平台,嵌入设备三端一致
	 device_id  设备id,由19未随机数组成,具体由平台定义;需app和平台,嵌入设备三端一致
	 function_id 功能id,由19未随机数组成,具体由平台定义;需app和平台,嵌入设备三端一致
	 timestamp  时间戳
	 params    具体的参数获取或设置的值;字段根据type类型有所区别:
                 FUNC时:
                  "params":{
                   "state":"high8"
                  }

                 VAL时:
                 "params":{
                   "max_val":95.4,      
                   "val":37.5,          
                   "min_val":8.2
                  }
                  
注意:最后一项不能加"," 逗号,否则开发板解析有问题

云返回结果给应用

Status Code: 200 OK
Content-Type: application/json

json消息格式,与1.5 云下发到设备 一致
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心之雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值