thingsboard通过mqtt设备连接及数据交互_mqttbox连接thingsboard_bujingyun8的博客-程序员秘密

技术标签: thingsboard  物联网  

目录

mqtt连接

上报遥测数据

 上报设备属性

从服务端下行修改设备属性

命令下发


mqtt连接

thingsboard默认只验证username,密码为空,clientid不限,mqtt.fx如下,username输入设备令牌ACCESS_TOKEN

上报遥测数据

设备publish到topic:v1/devices/me/telemetry,设备属性支持json格式,如:{"temperature":26},在设备详情页最新遥测页面可以实时看到最后上报的设备遥测数据

 上报设备属性

设备publish到topic:v1/devices/me/attributes,设备属性支持json格式,如:{"mode":"X86", "attr":"3"},在设备详情属性页面可以实时看到最后上报的设备属性。

从服务端下行修改设备属性

需要在设备上订阅topic:v1/devices/me/attributes

这样在服务端修改某些属性时,客户端会收到这个主题的消息。

命令下发

需要实现从服务器下发指令到设备时使用

设备侧订阅topic:v1/devices/me/rpc/request/+

当服务器下发指令时,客户端会收到来自topic:v1/devices/me/rpc/request/$request_id的消息,$request_id是一个整形数值,设备侧可以判断,对于同一个请求,不需要重复处理。

客户端收到命令后,作出业务处理,处理结束,publish到topic:v1/devices/me/rpc/response/$request_id,作为命令执行结果返回服务侧。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bujingyun8/article/details/120024788

智能推荐

python的内置函数,偏函数,匿名函数_一颗有想法的板蓝根的博客-程序员秘密

1.匿名函数:(在早期python中,是没有办法实现匿名的,因为:python是一个严格缩进的语言。)适用于:函数简单,可以使用lambda函数,否则不建议使用。在这里print_msg(msg)函数作为参数在test02()函数中,这样定义一个print_msg(msg)函数,占内存,浪费空间。使用lambda函数:(有参数)无参数:多个参数:(接上述例子)test02(lambda a,b:print(a+b))偏函数:定义:python为了简化函数调用,在调用时某个或者某几

HDU 1754 I Hate It (线段树)_hdu1754挑战程序设计竞赛_fcbruce的博客-程序员秘密

http://acm.hdu.edu.cn/showproblem.php?pid=1754I Hate ItTime Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 31500    Accepted Submissio

黑马程序员_里氏转换_ziyanjupan的博客-程序员秘密

首先要知道里氏转换是建立在继承基础之上的类与类之间的转换写法可以参照数据类型转换,隐式和强制转换的写法。例  int a=(int)b;b为Double类型。 下面用代码参数关系:首先定义三个类,person(父类),teacher(person子类),student(person子类).1.       person p=new person();

Trojan-Spy.Win32.Delf.uv分析_weixin_34090643的博客-程序员秘密

安天CERT:高喜宝一、 病毒标签:病毒名称: Trojan-Spy.Win32.Delf.uv病毒类型: ***文件 MD5: AEB1EC3571803651FB644C73C4521BD5公开范围: 完全公开危害等级: 4文件长度: 12,683 字节感染系统: Windows98以上版本开发工具: Borland Delph...

python_copy_deepcopy分析___deepcopy__ python_dataastron的博客-程序员秘密

b=a.copy() 等价于import copyb=copy.copy(a)deepcopy直接看代码吧import copya=[1,[3,4]]b=ac=a.copy()d=copy.deepcopy(a)e=copy.copy(a)print(id(a),id(b),id(c),id(d),id(e))first level copya[0]="modify_...

[How TO]-Ubuntu 20.04修改终端标题栏文字_代码改变世界ctw的博客-程序员秘密

前旧版本的Ubuntu(ubuntu14.04)下的终端可以右键在标题栏上点击,菜单里就有一项可以改终端的标题。在Ubuntu 16.04/20.04下发现竟然没有这一项了。在网上找了一下,发现原来是可以在终端里面使用命令改的。方法是在Home目录的.bashrc里面加上如下代码st (){ echo if [ -z "$ORIG" ]; then ORIG=$PS1 fi TITLE="\[\e]2;$*\

随便推点

一步步教你Nextcloud私网盘搭建_nextcloud 一步步_一枚二白大学生的博客-程序员秘密

安装mysql 移动到/var/www/html目录下载 Nextcloud 服务端wget https://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip安装 unzip 解压程序yum -y install unzip 解压服务端压缩包unzip nextcloud-13.0.2.zip...

教你在python中用不同的方式画不同颜色的画布_python创建800*800的画布_左手の明天的博客-程序员秘密

作者:ywsydwsbn博客主页:https://blog.csdn.net/ywsydwsbn公众号:「做一个柔情的程序猿」时间:2020-10-06 20:57字数:7889简介:先点赞在看,养成习惯!!!文章目录摘要numpy的ndarray数据结构的索引与赋值创建空白画布初始化白色的画布初始化彩色的画布利用cv2的内置方法merge与split利用numpy内置的索引综合实验-初始化背景资源传送门「️ 感谢大家」摘要在这篇文章中将给大家讲解如何分别用numpy的方法,与nump.

mysql——select,MySQLSelect_大梦想程序商店的博客-程序员秘密

查询分类单表查询:简单查询多表查询:连接查询联合查询:多个查询结果汇总查询的组成投影查询:挑选要显示的字段select array1,array2,... from tb_name;选择查询:挑选符合条件的行select * from tb_name where-clausewhere-clause:布尔条件表达式= # 等值比较<=> # 等值比较,包括与NULL的安全比较<&...

fecs用法_weixin_33785972的博客-程序员秘密

fecs是公司的代码规范工具。用法:在文件夹下, fecs [target]转载于:https://www.cnblogs.com/cjy1993/p/4076138.html

linux git clone太慢怎么办?(完美解决方案)_linux git慢_github才是亲妈的博客-程序员秘密

最近买了一台阿里云,想上传一点代码,到调用git clone的时候,要不是git clone卡死,就是20kb/s ,目测clone完整的项目,大概需要1天的时间,这怎么能忍!mmp开始各种改hosts,发现效果也不太理想!后面找到了这个git代x理,直接起飞了,看来这世道,花钱能解决大部分问题~...

rabbitmq:离线环境搭建rabbitmq在Linux系统下进行简单部署_纪老板的博客-程序员秘密

rabbitmq在Linux系统离线下进行简单部署1编译环境进行一些依赖文件的安装(系统必须拥有此类文件,后续安装才能正常进行)。由于系统处于离线状态,依赖文件需要自行下载(需要离线安装包的私信我),再进行相应的安装如下:erlang-20.3.8.26-1.el7.x86_64.rpmerlang-solutions-2.0-1.noarch.rpmglibc-2.17-292.el7.x86_64.rpmhaproxy-1.5.18-9.el7.x86_64.rpmncu

推荐文章

热门文章

相关标签