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.mzph.cn/news/745670.shtml

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

相关文章

jenkins+maven+gitlab自动化构建打包、部署

Jenkins自动化部署实现原理 环境准备 1、jenkins已经安装好 docker安装jenkins 2、gitlab已经安装好 docker安装gitlab 一、Jenkins系统配置 1.Global Tool Configuration 任务构建所用到的编译环境等配置&#xff0c;配置参考&#xff1a; jdk配置&#xff08;jenkins自带…

GCNv2_SLAM-CPU详细安装教程(ubuntu18.04)

GCNv2_SLAM-CPU详细安装教程-ubuntu18.04 前言一、安装第三方库1.安装Pangolin2.安装OpenCV3.安装Eigen4.安装Pytorch(c) 二、安装以及运行GCNv2_SLAM1.安装编译GCNv2_SLAM2.单目模式运行演示案例 总结 前言 paper:https://arxiv.org/pdf/1902.11046.pdf githup::https://gith…

linux 安装gradle7.4.2环境

1.下载gradle7.4.2工程 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1hoNEFkBJPHAgs9ITAEh3Zg?pwdGJ…

DDos攻击如何被高防服务器有效防范?

德迅云安全-领先云安全服务与解决方案提供商 什么是DDos攻击&#xff1f; DDos攻击是一种网络攻击手段&#xff0c;旨在通过使目标系统的服务不可用或中断&#xff0c;导致无法正常使用网络服务。DDos攻击可以采取多种方式实施&#xff0c;包括洪水攻击、压力测试、UDP Flood…

WPF —— TabControl、StackPanel 控件详解

1 TabControl简介 表示包含多个项的控件&#xff0c;这些项共享屏幕上的同一空间。 TabControl有助于最大程度地减少屏幕空间使用量&#xff0c;同时允许应用程序公开大量数据。 TabControl包含共享同一屏幕空间的多个 TabItem 对象。一次只能看到 TabControl 中的一个 Ta…

java的23种设计模式02-创建型模式02-抽象工厂方法

一、抽象工厂方法 1-1、抽象工厂方法的定义 抽象工厂模式是一个比较复杂的创建型模式。 抽象工厂模式和工厂方法不太一样&#xff0c;它要解决的问题比较复杂&#xff0c;不但工厂是抽象的&#xff0c;产品是抽象的&#xff0c;而且&#xff1a;有多个产品需要创建&#xff…

玩转 Spring 状态机:更优雅的实现订单状态流转

说起 Spring 状态机&#xff0c;大家很容易联想到这个状态机和设计模式中状态模式的区别是啥呢&#xff1f;没错&#xff0c;Spring 状态机就是状态模式的一种实现&#xff0c;在介绍 Spring 状态机之前&#xff0c;让我们来看看设计模式中的状态模式。 1. 状态模式 状态模式…

pytorch之诗词生成3--utils

先上代码&#xff1a; import numpy as np import settingsdef generate_random_poetry(tokenizer, model, s):"""随机生成一首诗:param tokenizer: 分词器:param model: 用于生成古诗的模型:param s: 用于生成古诗的起始字符串&#xff0c;默认为空串:return: …

linux 安装/升级 svn

文章目录 下载最新版本安装包安装 下载最新版本安装包 wget https://dlcdn.apache.org/subversion/subversion-1.14.3.tar.gz tar -zxf subversion-1.14.3.tar.gz cd subversion-1.14.3 安装 ./configure 报错&#xff0c;提示缺少 apr-util 库&#xff0c;有的环境可能 apr 库…

人工智能|机器学习——CURE聚类算法(层次聚类)

1.CURE聚类概述 绝大多数聚类算法或者擅长处理球形和相似大小的聚类&#xff0e;或者在存在孤立点时变得比较脆弱。CURE采用了一种新颖的层次聚类算法&#xff0e;该算法选择基于质心和基于代表对象方法之间的中间策略。它不同于单个质心或对象来代表一个类&#xff0c;而是选择…

大话设计模式——6.工厂方法模式(Factory Method Pattern)

1.介绍 工厂方法模式也称工厂模式&#xff0c;是简单工厂模式的进一步抽象。定义一个用于创建对象的接口&#xff0c;使一个类的实例化延迟到其子类&#xff0c;让子类决定实例化哪个类。通过工厂父类定义负责创建产品的公共接口&#xff0c;通过子类确定所需要创建的类型。 属…

《ElementPlus 与 ElementUI 差异集合》el-input 多包裹一层 el-input__wrapper

差异 element-ui el-input 中&#xff0c;<div class"el-input"> 下一级就是 <input> 标签 &#xff1b;element-plus el-input中&#xff0c;<div class"el-input"> 和 <input> 标签之间多了一层 <div class"el-input__…

Nginx、LVS、HAProxy工作原理和负载均衡架构

当前大多数的互联网系统都使用了服务器集群技术&#xff0c;集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务&#xff0c;这些集群可以是 Web 应用服务器集群&#xff0c;也可以是数据库服务器集群&#xff0c;还可以是分布式缓存服务器集群等等。 在实际应用…

提升零售行业竞争力的信息抽取技术应用与实践

一、引言 在当今快速发展的零售行业中&#xff0c;沃尔玛、家乐福等大型连锁超市为消费者提供了丰富的日常食品和日用品。为了进一步提升客户体验和优化库存管理&#xff0c;这些零售巨头纷纷开始探索和应用先进的信息抽取技术。 本文将深入探讨一个成功的信息抽取项目&#…

使用HttpRequest工具类调用第三方URL传入普通以及文件参数并转换MultipartFile成File

使用HttpRequest工具类调用第三方URL传入普通以及文件参数 一、依赖及配置二、代码1、模拟第三方服务2、调用服务3、效果实现 一、依赖及配置 <!--工具依赖--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId&g…

嵌入式单片机学习思路感想分享

今天看到了一个提问,原话如下: 曾经干了8年单片机工程师,对工程师从入门,到入行,再到普通,再到高级,整个路径还算清晰,比如什么阶段,会碰到什么瓶颈,怎么突破,我都经历过。 这个同学,有个典型的问题,就是学得太多且杂了,估计稍微复杂点的项目,做不出来。 现在…

Spring Boot 中@Scheduled是单线程还是多线程?

在开发Spring Boot应用程序时&#xff0c;定时任务是一项常见的需求。Spring Boot提供了Scheduled注解&#xff0c;可用于将方法标记为定时任务&#xff0c;并在预定的时间间隔内执行。那么Scheduled注解的执行方式是单线程执行&#xff0c;还是多线程执行&#xff1f;Schedule…

docker小白第十二天

docker小白第十二天 docker network简介 docker不启动时默认的网络情况。 # 停止docker服务 systemctl stop docker.socket systemctl stop docker # 查看docker镜像 docker images输入查看docker镜像命令后&#xff0c;显示未连接到docker服务器 docker启动时网络情况 sy…

使用BBDown下载bilibili视频的方法

一款命令行式哔哩哔哩下载器. Bilibili Downloader. 下载地址 https://github.com/nilaoda/BBDown 功能 番剧下载(Web|TV|App) 课程下载(Web) 普通内容下载(Web|TV|App) 合集/列表/收藏夹/个人空间解析 多分P自动下载 选择指定分P进行下载 选择指定清晰度进行下载 下载外挂字幕…

html--bug

文章目录 html html <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>老师</title><style>body {background-color: #008000;margin: 0px;cursor: none;overflow: hidden;}</style></head><bod…