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

目录

概述

[1 ThingsCloud平台介绍](#1 ThingsCloud平台介绍)

[2 ThingsCloud创建项目](#2 ThingsCloud创建项目)

[2.1 创建项目](#2.1 创建项目)

[2.2 创建数据类型](#2.2 创建数据类型)

[2.3 创建设备类型](#2.3 创建设备类型)

[3 发布和订阅主题](#3 发布和订阅主题)

[3.1 发布Topic](#3.1 发布Topic)

[3.2 订阅主题Topic](#3.2 订阅主题Topic)

[4 使用MQTT.fx 测试ThingsClond](#4 使用MQTT.fx 测试ThingsClond)

[4.1 使用MQTT.fx连接ThingsClond](#4.1 使用MQTT.fx连接ThingsClond)

[4.2 MQTT.fx 订阅ThingsCloud Message](#4.2 MQTT.fx 订阅ThingsCloud Message)

[4.2.1 订阅下发属性](#4.2.1 订阅下发属性)

[4.2.2 使用MQTT.fx接收属性数据](#4.2.2 使用MQTT.fx接收属性数据)

[4.3 MQTT.fx 发布messge至ThingsCloud](#4.3 MQTT.fx 发布messge至ThingsCloud)

[4.3.1 定义属性数据](#4.3.1 定义属性数据)

[4.3.2 使用MQTT.fx发布属性数据](#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 上订阅这种类型的数据,其定义如下:

TypeScript 复制代码
attributes/push

ThingsCloud下发的数据类型如下:

TypeScript 复制代码
{
    "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,属性规则如下:

TypeScript 复制代码
attributes

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

TypeScript 复制代码
{
    "temperature": 28.5,
    "light": 2000,
    "switch": true
}
复制代码

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

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

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

相关推荐
vfbox33981 小时前
C-DTL698电表 转 IEC61850 协议项目案例
物联网·iec61850·vfbox·协议转换工业网关·c-dtl698
易云码3 小时前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码
Thanks_ks12 小时前
探索计算机互联网的奇妙世界:从基础到前沿的无尽之旅
物联网·云计算·区块链·tcp/ip协议·计算机互联网·万维网·未来科技
ajsbxi13 小时前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
徐嵌15 小时前
STM32项目---畜牧定位器
c语言·stm32·单片机·物联网·iot
Acrelhuang15 小时前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
jjyangyou15 小时前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
记录成长java1 天前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
长安初雪1 天前
Request 和 Response 万字详解
计算机网络·servlet
A-bodgie1 天前
Spring 中的 Environment 对象
java·后端·spring·servlet·springboot