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

2023-11-02

物联网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 云下发到设备 一致
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

物联网mqtt消息格式定义示例 的相关文章

  • 基于蜜蜂优化算法优化的卷积神经网络(CNN)图像分类——附代码

    目录 摘要 1 蜜蜂优化算法 2 卷积神经网络 CNN 输入层 隐含层 输出层 3 本文Matlab代码 摘要 本文通过蜜蜂优化算法 优化了卷积神经网络 CNN 中的超参数 主要是网络的权重和偏差等关键参数 使CNN可以达到更加优秀的性能表
  • 整数四则运算 (10分)

    练习2 9 整数四则运算 10分 本题要求编写程序 计算2个正整数的和 差 积 商并输出 题目保证输入和输出全部在整型范围内 输入格式 输入在一行中给出2个正整数A和B 输出格式 在4行中按照格式 A 运算符 B 结果 顺序输出和 差 积
  • kali 火狐访问不了网页

    问题描述 因为一些原因使用kali的firefox来访问一些东西 但是突然发现火狐出问题了 访问不了网页之类的了 问题解决 1 网卡问题 使用命令ifconfig查看自己的网卡有没有问题 有问题按顺序执行 dhclient r eth0 d

随机推荐

  • Pycharm连接远程服务器(图解、简洁高效)

    这不是最好的方式 但绝对是你首次使用和日后使用最快 最有效的方式 本文示例为 pycharm2021专业版 1 前提 你安装的是pycharm专业版 必要 为了方便你的开发 你的远程服务器创建了多个虚拟环境来运行多个不同的项目 非必要 但推
  • 看完这篇文章你就可以告诉领导你精通Zookeeper了

    一 Zookeeper概述 1 概述 Zookeeper 是一个开源的为分布式框架提供协调服务的 Apache 项目 在分布式系统中 扮演注册中心的角色 Zookeeper数据模型的结构与Linux文件系统很像 整体上可以看做一棵树 从根节
  • mono 编译

    git clone https github com mono mono git cd mono git checkout 3b34235086446239d81347d1ee35644c0f2c3369
  • uni.switchTab跳转失败的原因

    检查url是否是pages里面的tabBar注册的页面 路径前面必须以 开头 uni switchTab url pages cate cate success fail console log 失败了吗 没有这个 就会走到fail
  • JS数组去重的12种方法

    一 利用ES6 Set去重 ES6中最常用 Set对象是ES6中新定义的数据结构 类似数组 它允许存储任何类型的唯一值 不管是原始值还是对象引用 Array from 方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组 functi
  • Kubernetes基础2

    二进制部署kubenetes 1 环境介绍 角色 主机名 IP 备注 k8s master1 kubeadm master1 haostack com 172 16 62 201 k8s master2 kubeadm master2 ha
  • unity UGUI之Button按钮多种触发方式实现(有参无参函数)

    UGUI之Button按钮有多种触发方式 下面讲两种 第一种方法是在依靠属性面板绑定物体然后找到物体脚本上的方法触发 第二种是用纯代码的方式是用onClick方法 第一种 首先建立一个button 之后看button属性 如图右下角 那里的
  • 【DL】第 4 章:目标检测和图像分割

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 【HBZ分享】Redis的缓存雪崩+穿透+击穿如何解决

    缓存雪崩 现象 大量热点key设置了相同过期时间 导致同时过期 或 Redis宕机 使请求瞬间大量打到DB上 解决方案 1 搭建高可用集群环境 防止某台Redis服务宕机 2 存数据的过期时间设置随机数 防止同一时间大量数据过期 3 设置k
  • cmd命令查询硬盘序列号,磁盘ID,MAC地址

    查询单位计算机基础信息 需要查询 硬盘序列号 磁盘ID MAC地址等计算机相关信息 不需要专业的软件如AIDA 用cmd命令行就可以实现这些信息的查询 之前就经常把硬盘序列号和磁盘ID搞混乱 win r 输入cmd 打开cmd命令 1 硬盘
  • ABAP 访问REST服务设置Auth2的Token

    DATA json ser TYPE REF TO cl trex json serializer json des TYPE REF TO cl trex json deserializer DATA lv url TYPE string
  • Latex 希腊字母大写

    大写 小写 LaTeX 大写 大写 LaTeX A A quad alpha A A alpha N
  • 程序访问的局部性原理

    程序访问的局部性原理 程序访问的局部性原理包括时间局部性和空间局部性 时间局部性是指在最近的未来要用到的信息 很可能是现在正在使用的信息 因为程序中存在循环 空间局部性是指在最近的未来要用到的信息 很可能与现在正在使用的信息在存储空间上是连
  • OD华为机试 32

    组成最大数 描述 小组中每位都有一张卡片 卡片上是6位内的正整数 将卡片连起来可以组成多种数字 计算组成的最大数字 输入描述 号分割的多个正整数字符串 不需要考虑非数字异常情况 小组最多25个人 输出描述 最大的数字字符串 示例一 输入 2
  • elk 笔记15--mapping

    elk 笔记15 mapping 1 mapping 简介 1 1 什么是mapping 1 2 为何移除多type 2 mapping 数据类型 3 mapping 元字段 4 mapping 参数 5 动态 mapping 6 常见 m
  • 3.Unity Shader 基础

    目录 一对好兄弟 材质和Unity Shader Unity中shader ShaerLab Unity Shader 的结构 1 创建 2 Properties 3 SubShader 状态设置 RenderSetup SubShader
  • hive永久注册udf函数小例子

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 1217 注册UDF函数 1 helloUDF java中package信息需要修改 代码如下 package com maven udf p
  • ChatGLM2_6b安装

    Chatglm2 6b安装 一 安装要求 1 硬件 能否使用 或者以什么模式使用主要取决于显卡的显存 2 能否使用AMD显卡 可以 甚至可以使用CPU 但是需要降低精度 以CPU模式运行大概需要32GB 内存 二 工程与下载 官方路径 工程
  • 遇到问题之-yum update无法连接镜像问题解决

    yumupdate出现无法解析的错误 查看yum源设置也正确 然后查看本机DNS无法解析 通过防火墙开放DNS端口解决 然后还是无法yum安装 查看另外一台服务器和故障机配置都相同 但是yum正常 发现两者不同的是load的mirror是不
  • 物联网mqtt消息格式定义示例

    物联网mqtt消息格式定义示例 物联网mqtt通信流程 消息定义 应用下发到云 POST https 云服务器ip iot product id device id cmd Content Type application json X A