MQTT_fx的使用——连接ONENET

这里写目录标题

  • 前言
  • 1、ONENET云平台设备创建
    • 1.1、注册并登录ONENET云平台
    • 1.2、创建产品
    • 1.3、创建物模型
    • 1.4、创建设备
  • 2、利用MQTT.fx连接ONENET订阅和发布消息
    • 2.1、MQTT.fx和OneNET-token计算工具的安装
    • 2.2、使用MQTT.fx连接云平台
    • 2.3、发布消息到云平台
    • 2.4、订阅云平台信息

前言

下面所有的内容我们都可以在OneNET云平台的文档中心查取到,
遇到问题是可以多去看看 ONENET物联网平台官方文档

1、ONENET云平台设备创建

1.1、注册并登录ONENET云平台

链接: ONENET物联网平台
注:个人用户学习使用是免费的。

1.2、创建产品

我们注册登录后点击进入右上角的“开发者中心”,然后进入“产品开发”,点击“创建产品”
在这里插入图片描述
然后就是填写相关参数了,大致如下图所示:
在这里插入图片描述
在这里插入图片描述
填写完成后,我们点击确定即可。

1.3、创建物模型

接下来就要创建物模型了。

物模型指的是将传感器、设备和系统中的数据整合在一起形成的虚拟模型,可以通过云平台进行管理、监控、控制和分析。

我们在产品开发界面,点击我们创建的“演示”产品的“产品开发选项”。
在这里插入图片描述
接着点击设置物模型。
在这里插入图片描述
会出现如下界面,我们点击添加自定义功能点。
在这里插入图片描述
我在这里创建如下三个功能点:

  • 只读温度
    在这里插入图片描述
  • 只读湿度
    在这里插入图片描述
  • 读写led灯状态
    在这里插入图片描述
    现在界面显示如下,我们点击保存
    在这里插入图片描述

1.4、创建设备

下一步就是创建设备了,我们返回设备开发界面,点击设备管理。
在这里插入图片描述
接下来就是添加设备,填写下设备名称,点击确定
在这里插入图片描述
这样我们就创建了一个具体的设备。
我们还可以通过点击“详情”,“属性”来查看我们所创建产品能传输的数据。
在这里插入图片描述
在这里插入图片描述

1.5、获取产品信息(产品ID、设备名称、设备密钥)
在这里插入图片描述

2、利用MQTT.fx连接ONENET订阅和发布消息

MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具。支持通过Topic订阅和发布消息,用来前期和物理云平台调试非常方便。

2.1、MQTT.fx和OneNET-token计算工具的安装

MQTT.fx的安装可以看这个博客mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)

OneNET-token计算工具下载点这个

2.2、使用MQTT.fx连接云平台

双击打开MQTT.fx客户端,
在这里插入图片描述
我们点击上图的小齿轮,设置配置文件
在这里插入图片描述
其中,服务器域名为:

mqtts.heclouds.com
端口号为1883

设置好上面的内容我们点击“User Credentials”,配置用户验证信息:
在这里插入图片描述
设备名称、产品ID在上面步骤1.5中我们可以得到。
密码就需要借助上面2.1提到的OneNET-token计算工具来生成了。

OneNET-token计算工具打开如下图所示:
在这里插入图片描述
参数列表

参数描述
resproducts/dafdfadfafdaf/devices/che1 ,其中的dafdfadfafdaf需要替换为你自己的产品ID,che1 替换为你自己的设备名称
et访问过期时间。这里填一个Unix 时间戳,作用就是限制了这个密钥能连接到设备的时间范围(有效期),可以在链接: 时间戳转换自动生成一个
keykey指的是设备密钥,我们在前面1.5已经提及过了

填写完上面的相关信息,就可以点击Generate生成密码了,将生成的密码复制到MQTT.fx中,就完成了我们的配置文件。
配置文件生成好后,我们就可以点击Connect连接服务器了。
在这里插入图片描述
连接成功后我们可以看到上图右边有绿色指示灯,在ONENET平台,设备也显示在线了。
在这里插入图片描述

2.3、发布消息到云平台

在发布消息之前,可以先订阅系统 topic 获取属性上报结果消息(即订阅下属性上报的反馈信息)
属性上报回复topic为:

$sys/{pid}/{device-name}/thing/property/post/reply
//{pid}:替换为自己的产品ID
//{device-name}:替换为自己的设备名称

按下图进行操作订阅系统 topic 获取属性上报结果消息
在这里插入图片描述
然后再设置属性上报的topic

$sys/{pid}/{device-name}/thing/property/post
//{pid}:替换为自己的产品ID
//{device-name}:替换为自己的设备名称
并上报信息。

按下图进行操作,
在这里插入图片描述
上报数据的编写,上报数据和我的物模型也是相互对应的(注意标识符)

{
    "id": "123",
    "version": "1.0",
    "params": {
        "temp": {
            "value": 23
        },
        "humi": {
            "value": 36
        } ,
        "led": {
            "value": true
        }     
    }
}

在这里插入图片描述
上报数据成功后,订阅的属性上报会返回success
在这里插入图片描述
我们在OneNET云平台上也可以看到我们发布的数据信息。
在这里插入图片描述

2.4、订阅云平台信息

设备侧需要收到平台下发的数据,需要订阅:

$sys/{pid}/{device-name}/thing/property/set
//{pid}:替换为自己的产品ID
//{device-name}:替换为自己的设备名称

按上面订阅属性上报结果消息的步骤操作即可,
然后我们在云平台上下发信息
在这里插入图片描述
然后我们在MQTT.fx上就可以看到平台下发的信息了。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言-文件

文件 1. 简介 文件用来存放程序、文档、音频、视频数据、图片等数据的。 文件就是存放在磁盘上的,一些数据的集合。 在 windows 下可以通过写字板或记事本打开文本文件对文件进行编辑保存。写字板和记事本是微软程序员写的程序,对文件进行打开、显示…

uc_14_IP地址_套接字_字节序转换

1 计算机网络 计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络协议是一种特…

Redis基础系列-持久化

Redis基础系列-持久化 文章目录 Redis基础系列-持久化1. 什么是持久化2. 为什么要持久化3. 持久化的两种方式3.1 持久化方式1:RDB(redis默认持久化方式)3.11 配置步骤-自动触发3.12 配置步骤-手动触发3.12 优点3.13 缺点3.14 检查和修复RDB快照文件3.15 哪些情况会触…

ArcGIS Maps SDK for JS:关闭地图边框(v4.27)

1 问题描述 近期,将ArcGIS Api for JS v4.16更新到了ArcGIS Maps SDK for JS v4.27,原本去除地图的css代码失效了。v4.27需要用.esri-view-surface--touch-none::after控制边框属性。 下面为没有关闭地图边框的效果图。(亮色版地图为黑色边…

Python AI学习资料包这一套就够!

历时两个月,小Mo终于为大家整理好了 Python & AI 学习资料包! 资料包内容细分为「🎓新手」「🎢进阶」「🎁分享」,包括 ✅50 个 PDF 课程资料,从基础到进阶 ✅18 本专业书籍,从…

DevEco Studio 运行项目有时会自动出现.js和.map文件

运行的时候报错了,发现多了.js和.map,而且还不是一个,很多个。 通过查询,好像是之前已知问题了,给的建议是手动删除(一个一个删),而且有的评论还说,一周出现了3次,太可怕了。 搜的过…

ABP vNext 扩展 CurrentUser

ABP内置Users表,我们可以对其字段进行扩展,辅助进行更详细的数据记录 ICurrentUser 是主要的服务,用于获取有关当前活动的用户信息. 以下是 ICurrentUser 接口的基本属性:1. IsAuthenticated 如果当前用户已登录(已认证),则返回 true. 如果用户尚未登录…

网站采集工具,网站自动采集发布的软件【免费】

在当今数字化时代,网站信息的采集对于市场调研、竞争分析以及内容创作都至关重要。本文将着深入探讨如何通过输入关键词实现全网采集,并支持指定任意网站的详尽数据抓取。 采集软件 147SEO采集软件作为一款强大而灵活的网站信息采集工具,以其…

Notepad安装

中文免安装版,下载解压即可。 NotepadV7.5.6 (访问密码: 1666)https://url48.ctfile.com/f/33868548-986668939-7a3316?p1666

一文帮你搞懂继承(c++笔记)

继承 继承概念继承语法格式定义继承基类成员的访问方式 基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承和友元继承和静态成员给我实现一个不能被继承的类菱形继承菱形继承有什么问题呢?疑问?总结 继承和组合 继承概念 继承是面向对象…

105.长度最小的子数组(力扣)|滑动窗口

代码演示 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int result INT_MAX; // 用于存储最小子数组的长度int sum 0; // 滑动窗口的长度int i 0; // 滑动窗口的起始位置int sumlength 0; // 当前子数…

docker:部署java Springboot项目

文章目录 1、打 jar 包1、创建Dockerfile3、创建镜像4、启动容器其他注意事项docker中jdk的版本命名举例&#xff1a;openjdk:11-ea-17-jre-slim举例&#xff1a;8u312-jre-nanoserver-1809 通过find找文件 1、打 jar 包 将项目打一个 jar 包&#xff0c;可以使用 IDEA 1、…

第一课【习题】给应用添加通知和提醒

构造进度条模板通知&#xff0c;name字段当前需要固定配置为downloadTemplate。 给通知设置分发时间&#xff0c;需要设置showDeliveryTime为false。 OpenHarmony提供后台代理提醒功能&#xff0c;在应用退居后台或退出后&#xff0c;计时和提醒通知功能被系统后台代理接管…

浪潮信息KeyarchOS——保卫数字未来的安全防御利器

浪潮信息KeyarchOS——保卫数字未来的安全防御利器 前言 众所周知&#xff0c;目前流行的操作系统有10余种&#xff0c;每一款操作系统都有自己的特点。作为使用者&#xff0c;我们该如何选择操作系统。如果你偏重操作系统的安全可信和稳定高效&#xff0c;我推荐你使用浪潮信…

Docker网络原理

Docker网络概述 1.桥接模式介绍 bridge模式是docker的默认网络模式。 桥接模式是一种用于连接两个不同网络段的设备&#xff0c;使它们能够共享通信的一种方式。 桥接设备工作在OSI模型的第二层&#xff0c;即数据链路层&#xff0c;通常基于MAC地址进行帧转发。 物理层连接…

2024山东健博会,济南健康展,5月中国大健康展,健康管理展

China-DJK山东健博会&#xff1a;5月黄金招商季&#xff0c;携千家参展商、万余款产品精彩亮相&#xff1b; DJK 2024第6届中国&#xff08;济南&#xff09;国际大健康产业博览会 The 2024 sixth China (Jinan) International Big Health Industry Expo 时间&#xff1a;2024…

FastAPI之Cookie参数

示例代码 from typing import Annotated, Unionfrom fastapi import Cookie, FastAPIapp FastAPI()app.get("/items/") async def read_items(ads_id: Annotated[str, Cookie()]):print(ads_id)return {"ads_id": ads_id, "code": 200}测试效果…

柔性数组详解

目录 一、柔性数组的特点&#xff1a;​ 二、使用sizeof计算包含柔性数组的结构体的大小 三、柔性数组的使用 代码1: 四、用结构体指针代替柔性数组 代码2&#xff1a; 五、柔性数组与结构体指针对比 • 在结构体中 • 最后一个成员 • 未知大小的数组 这就是柔性…

node js 递归生成vue文件目录

目录 什么是 fs 文件系统模块 fs.existsSync方法 方法说明&#xff1a; 语法&#xff1a; 向指定的文件中写入内容 writeFile fs.writeFile() 的语法格式 fs.writeFile() 的示例代码 判断文件是否写入成功 fs.mkdir 创建目录 目录已存在&#xff0c;重复创建 创建的目…

vuepress-----19、自动生成侧边栏

自动生成侧边栏插件 https://github.com/shanyuhai123/vuepress-plugin-auto-sidebar https://shanyuhai123.github.io/vuepress-plugin-auto-sidebar/ 安装 npm i vuepress-plugin-auto-sidebar -Dmodule.exports {plugins: [["vuepress-plugin-auto-sidebar",…