MQTT.fx实现(MQTT Client)连接物联网平台(ThingsCloud )

目录

概述

1 ThingsCloud平台介绍

2 ThingsCloud创建项目

2.1 创建项目

2.2 创建数据类型

2.3 创建设备类型

3 发布和订阅主题

3.1 发布Topic

3.2 订阅主题Topic

4 使用MQTT.fx 测试ThingsClond

4.1 使用MQTT.fx连接ThingsClond

4.2 MQTT.fx 订阅ThingsCloud Message

4.2.1 订阅下发属性

4.2.2 使用MQTT.fx接收属性数据

4.3 MQTT.fx 发布messge至ThingsCloud

4.3.1 定义属性数据

4.3.2 使用MQTT.fx发布属性数据


概述

本文介绍了一个可以攻开发者免费试用的物联网平台ThingsCloud,并通过案例介绍使用这个平台创建项目,然后使用MQTT.fx工具实现订阅和发布数据。

1 ThingsCloud平台介绍

ThingsCloud 是新一代物联网设备统一接入平台,帮助企业在极短的时间内搭建个性化的物联网平台和应用,并适应不断变化的发展需求。目前广泛应用于制造、电力、能源、环境、农业、楼宇、家居、教育、交通、物流、自动化等领域。

ThingsCloud 可接入各类网关,传感器、执行器、控制器、通信模组、智能硬件等,实现数据采集、远程控制,数据分析、告警通知、智能联动。还可以零代码生成项目应用 SaaS 和用户应用 App,并开放 API 和实时消息,便于业务系统集成和扩展开发。

ThingsCloud 官网地址:

https://www.thingscloud.xyz/

进入官网地址后,点击"进入控制台"按钮,就可以创建自己的项目了

2 ThingsCloud创建项目

2.1 创建项目

ThingsCloud提供两种版本可供用户选择: 免费版付费版 。但对于仅用于测试或者评估的开发者而言,免费版功能已经够用了。

免费版包含较少的设备数和消息量,以及部分高级功能的限制,但完全不影响您对物联网平台基本功能的评估和体验,以及硬件原型的开发,或少量设备的个人使用。一个用户账号下只可以创建一个免费版项目

首次登录ThingsCloud后,需要创建自己的项目,才能使用它提供的服务。进入控制台后。看见如下页面,点击“创建项目” button就可以创建项目了。

下面我创建测试项目,实现功能:基于MQTT.fx测试平台搭建一个物联网项目,连接TingsCloud。通信协议:MQTT;实现功能:数据的发布和订阅。

具体操作步骤如下:

Step-1: 填写项目信息

2.2 创建数据类型

创建设备类型,定义订阅数据和发布数据的类型,这里我选择使用ThingsCloud标准协议,当然还有其他协议可供选择。

选择如下选项后,点击保存,数据类型定义完成

2.3 创建设备类型

在 ThingsCloud 中,设备代表一个物理设备在云平台对应的一个实体,这个物理设备可以是一个光照传感器或智能开关,也可以是一个智能水表或网关。

创建设备时,必须填写设备名称,并选择数据类型。

创建完毕之后,可以在如下页面中看见创建设备的信息

3 发布和订阅主题

3.1 发布Topic

以下主题用于 设备向云平台发布消息。 请注意,以下主题只能用于设备端发布消息,不能订阅。

消息类型主题
设备上报属性值attributes
设备获取当前属性值attributes/get/
设备上报事件event/report/
设备回复命令command/reply/
设备自定义数据上报data/

3.2 订阅主题Topic

以下主题用于 设备接收云平台下发的消息

消息类型主题注释
接收属性上报的响应attributes/response
接收属性获取的响应attributes/get/response/+
接收下发的属性attributes/push
接收事件上报的响应event/response/+
接收下发的命令command/send/+
接收命令回复的响应command/reply/response/+
接收自定义数据下发data/< identifier>/set自定义数据相关主题中的 identifier,是指自定义数据流的标识符

4 使用MQTT.fx 测试ThingsClond

4.1 使用MQTT.fx连接ThingsClond

在ThingsClond上创建设备类型完毕之后,就可以使用MQTT.fx来连接ThingsClond平台,具体连接方法如下:

step-1: 在MQTT.fx上配置Broker address

step-2: 在MQTT.fx上配置用户认证信息

step-3: 确认参数配置后,点击connect连接平台,指示灯变成绿色说明,连接平台成功,这时可以使用MQTT.fx工具订阅或者发布message。

4.2 MQTT.fx 订阅ThingsCloud Message

4.2.1 订阅下发属性

在MQTT.fx 上订阅这种类型的数据,其定义如下:

attributes/push

ThingsCloud下发的数据类型如下:

{"switch": false
}

4.2.2 使用MQTT.fx接收属性数据

首先在MQTT.fx订阅下图标号为1的属性,订阅成功后,窗口会列出标号为2的信息,此时说明订阅属性成功。接下来可以在ThingsCloud平台上发布属性数据了。

在ThinsCloud平台上已经定义两个Relay类型的设备,现在使用期发布message。

使用Relay-1发布消息

使用Relay-2发布消息

4.3 MQTT.fx 发布messge至ThingsCloud

4.3.1 定义属性数据

发布如下属性的数据至ThingsCloud,属性规则如下:

attributes

消息内容必须是 JSON 格式,如果不是 JSON 格式的消息,设备会被云平台主动断开连接。 该属性对应的上报消息如下:

{"temperature": 28.5,"light": 2000,"switch": true
}
 

4.3.2 使用MQTT.fx发布属性数据

在MQTT.fx的publish页面填写属性信息和要发布的数据,点击Publish后,MQTT.fx立即发布了数据。

在ThingsCloud平台上,可以看见页面上显示的数据,和MQTT.fx发布的数据一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/540050.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习_GoogLeNet_4

目标 知道GoogLeNet网络结构的特点能够利用GoogLeNet完成图像分类 一、开发背景 GoogLeNet在2014年由Google团队提出&#xff0c; 斩获当年ImageNet(ILSVRC14)竞赛中Classification Task (分类任务) 第一名&#xff0c;VGG获得了第二名&#xff0c;为了向“LeNet”致敬&#x…

linux中netstat命令详解及常见用法

在Linux使用过程中&#xff0c;需要了解当前系统开放了哪些端口&#xff0c;并且要查看开放这些端口的具体进程和用户&#xff0c;可以通过netstat命令进行简单查询 1.netstat命令各个参数说明 -a 或–all 显示所有连线中的Socket。 -A …

2024-3-13高位分歧

今天的盘面早盘低位的AIGC和信创一致转分歧&#xff0c;低空经济和算力分歧加剧&#xff0c;老周期的每个小龙头资金开始撤离&#xff0c;立航科技 早上还在表演给了昨天接力的老师大肉机会&#xff0c;今天被骗上车的人属于傻白甜了&#xff1b;中电兴发 早上分歧挡刀功臣&…

【AI+CAD】(二)LLM和VLM生成结构化数据结构(PPT/CAD/DXF)

当前LLM和VLM在PPT生成任务上已经小有成效,如ChatPPT。 @TOC 1. PPT-LLM LLM根据用户的instruction生成规范的绘制ppt的API语句:即使是最强的GPT-4 + CoT也只能达到20-30%的内容准确度。 LLM输入:User_instruction(当前+过去)、PPT_content、PPT_reader_API。其中 PPT_rea…

【UE5】持枪状态站立移动的动画混合空间

项目资源文末百度网盘自取 创建角色在持枪状态站立移动的动画混合空间 在BlendSpace文件夹中单击右键选择动画(Animation)中的混合空间(Blend Space) 选择SK_Female_Skeleton 命名为BS_RifleStand 打开 水平轴表示角色的方向&#xff0c;命名为Direction&#xff0c;方…

漏洞复现-金蝶系列

漏洞复现-金蝶系列 金蝶云-星空 ServiceGateway.GetServiceUri.common 反序列化Apusic 金蝶天燕Apusic 应⽤中间件代码命令执⾏金蝶云星空RCE金蝶云OA星空 CommonFileserver 任意文件读取金蝶云星空 管理中心介绍⾦蝶 EAS 系统存在⽬录遍历金蝶EAS myUploadFile任意文件上传实战…

Docker笔记-进入运行中的镜像,查看日志等操作

docker搭建好后&#xff0c;查看运行的docker镜像&#xff1a; docker ps -a 进入运行的容器&#xff0c;命令如下&#xff1a; docker exec -it <容器ID> /bin/bash # 或者&#xff0c;直接用容器里面的命令&#xff0c;比如mysql镜像 docker exec -it <容器ID>…

java数据结构与算法刷题-----LeetCode47. 全排列 II

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 暴力回溯2. 分区法回溯 此题为46题的衍生题&#xff0c;在46题…

C语言之指针(四)

一、前言 哈喽大家好&#xff0c;经过前三次的学习&#xff0c;我们已经了解到了指针的诸多概念&#xff0c;同时也分别从计算机内存、&符号、机器位数和野指针等多方面去研究指针&#xff0c;那么接下来&#xff0c;我们要研究的是关于指针在数组中的应用&#xff0c;在此…

北美IDC租赁价格暴涨超6成 我国会如此吗?

据UBS&#xff08;瑞银集团&#xff09;北美云厂调研&#xff0c;在大模型等人工智能技术的快速发展下&#xff0c;受电力、散热等因素影响&#xff0c;北美数据中心供给越发紧张&#xff0c;据当地经纪人反馈&#xff0c;部分数据中心开工前已经被预定&#xff0c;机柜租赁价格…

有趣的前端知识(三)

推荐阅读 有趣的前端知识&#xff08;一&#xff09; 有趣的前端知识&#xff08;二&#xff09; 文章目录 推荐阅读JS内置对象JS外部对象BOM模型history对象screen对象navigator对象 DOM&#xff08;文档对象模型&#xff09;DOM的方法&#xff08;对于节点的操作&#xff09…

go语言基础笔记

1.基本类型 1.1. 基本类型 bool int: int8, int16, int32(rune), int64 uint: uint8(byte), uint16, uint32, uint64 float32, float64 string 复数&#xff1a;complex64, complex128 复数有实部和虚部&#xff0c;complex64的实部和虚部为32位&#xff0c;complex128的实部…