MQTTfx连接oneNET

2023-10-23 22:30
文章标签 连接 onenet mqttfx

本文主要是介绍MQTTfx连接oneNET,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MQTTfx连接OneNET

一、背景介绍

1. MQTT协议简介:

MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅协议,该协议构建于TCP/IP协议之上,专门设计用于在低带宽、高延迟或不稳定网络环境下进行消息传递。它适用于物联网(IoT)应用、传感器网络和各种需要实时通信的场景。MQTT 协议的设计目标是简单、轻量级和高效,以便在资源受限的设备上使用。工作原理如下:

  • 发布者Pubilsh:发布者是负责发布消息的设备或应用程序。发布者将消息发送到特定的主题(Topic),然后消息代理(Broker)负责将这些消息传递给已订阅该主题的订阅者。发布者负责确定发布消息的主题以及消息内容。

  • 订阅者Subscribe:订阅者是希望接收特定主题下消息的设备或应用程序。订阅者通过订阅一个或多个主题来表示它们对某些消息感兴趣。当消息代理接收到发布者发布的消息时,它会将消息传递给所有已订阅该主题的订阅者。

2. 写此篇文章的目的:

相信很多小伙伴刚接触物联网云平台的时候。和我一样,一头雾水,不知从何下手,而且很多时候,我们是需要利用单片机(STM32、ESP32等)编程,或者开发一些软件来实现与物联网云平台的连接,进行数据的传输,其中我们可能就会使用到一些连接云平台的协议,比如HTTP、MQTT、CoAp、LwM2M等,其中最为常见的就是利用MQTT协议来连接云平台。但是对于新手来说,直接进行开发,很容易产生一些细节上的错误,而且不容易发现错误的原因,这样只会事倍功半,因此再进行实际开发之前,很有必要了解一下其中的工作细节,因此,本篇文章的主要目的是通过简单完整的OneNET云平台产品的创建,以及使用MQTTfx工具来连接oneNET云平台,进行数据的发布,并在云平台上实时显示上传的数据。

二、基本流程

1. OneNET云平台产品创建

  • 注册并登录OneNET云平台
  • 创建产品
  • 配置产品
  • 创建设备
  • 获取产品信息(产品ID、设备名称、设备密钥)

2. MQTTfx连接OneNET云平台

  • 工具准备(MQTTfx、token)
  • 连接OneNET
  • 数据发布

三、案例演示

1、注册并登录OneNET云平台,进入开发者中心
请添加图片描述

2、创建产品

(1)首先找到产品开发,然后点击创建产品

在这里插入图片描述

(2)创建产品,参数大致如下,填写完成之后点击确定即可

在这里插入图片描述

3、配置产品

(1)创建完产品之后,点击产品开发,开始创建物模型

在这里插入图片描述

(2)点击设置物模型
在这里插入图片描述

(3)首先点击“添加自定义功能点”,然后开始填写物模型的相关信息,大致参数信息填写如下,(注意:读写类型设置为读写),按照此方法继续添加当前湿度的物模型
在这里插入图片描述

(4)模型创建完之后点击下一步进入设备开发。记住下图中的标识符,这是在发布JSON消息时数据发布的重要依据。
在这里插入图片描述

(5)点击前往设备开发

在这里插入图片描述

(6)选择基于模组开发,任意选择一个模组就行,然后点击确定
在这里插入图片描述

(7)上一步完成之后,可跳过设备调试,直接点击发布量产,然后点击发布,发布成功之后点击设备管理,添加设备
在这里插入图片描述

4、创建设备

(1)点击添加设备,然后输入设备名称即可
在这里插入图片描述

(2)设备添加成功之后,可以看到当前显示未在线, 因为我们还没有使用设备去连接它,然后点击“详情”查看设备的相关信息,设备端通过MQTT连接云平台的时候需要这些信息
在这里插入图片描述

5、获取产品信息

(1)记录设备名称、设备秘钥以及产品ID、以便后续使用
在这里插入图片描述

6、下载安装MQTTfx工具

(1)工具下载,也可以自行去官网下载,正版的MQTTfx软件需要身份认证,需要购买licence key,但是也可以通过在官网申请三个月的免费试用licence key。没有licence key的MQTTfx工具如下图所示。

在这里插入图片描述

  • 官网下载地址:Download – Softblade

  • 百度网盘链接:链接:https://pan.baidu.com/s/1IMiC_HAWYxU-4HAGoldc0Q?pwd=kra2
    提取码:kra2

(2)在官网获取免费使用licence key,并将官方发给你的文档(在你填写的邮箱中)中的内容复制到工具中的Licence key中就可以正常使用这个工具了。

  • 将下面信息填写完整即可,Licence Type选择三个月免费

在这里插入图片描述

  • 复制粘贴licence key,就可以啦
    在这里插入图片描述

(2)点击设置进入MQTT连接设置
在这里插入图片描述

(3)参数设置如下

  • 对于OneNET云平台的MQTT服务器地址,按照下图②填写就好,也可以去官网获取:OneNET - 中国移动物联网开放平台 (10086.cn)

  • Client ID需要填写你自己的设备名称

  • User Name也要填写你自己的产品ID

  • Password填写由设备密钥经过转换而来的token
    在这里插入图片描述

  • Password的转换步骤

    • 为便于开发者开发,OneNET平台提供Token生成工具,下载连接:https://linklab.tinylink.cn/static/teacherResources/dai/selfExps/v354/v354.html?time=1693525801531

在这里插入图片描述

  • token由多个参数构成,如下表所示:

在这里插入图片描述

  • token参数填写如下:时间戳转换工具地址:https://tool.lu/timestamp/
    • 这里填写的时间戳,其实就是限制了通过这个密钥可以连接产品的时间范围,列如下图所示的时间范围就是2025-08-31之前

在这里插入图片描述

  • 具体填写内容如下
    • token计算工具参数填写,分别填写以下信息即可,填写完参数之后点击Generate即可获得我们想要的token(序号⑤),此时将序号⑤中的内容复制粘贴到MQTTfx的密码中即可完成参数配置

在这里插入图片描述

(4)连接云平台

  • 点击connect连接云平台

在这里插入图片描述

(5)将数据发布到云平台

  • 连接正常之后,右上角的圆圈变绿
  • 将数据发布到云平台之前,可以先进行设备属性上报响应订阅,在Subscribe中输入订阅命令$sys/{pid}/{device-name}/thing/property/post/reply,其中的产品ID以及设备名称填写自己的,订阅成功之后,会显示Mute,
  • 详细的介绍以及数据格式建议大家去OneNET官网查看,OneNET - 中国移动物联网开放平台 (10086.cn)

在这里插入图片描述

  • 发布数据:

  • 发布主题格式:$sys/{pid}/{device-name}/thing/property/post

  • JSON数据格式填写

    {
    "id": "123",
    "version": "1.0",
    "params": {
    "currentHumidity": {
    "value": 99,
    "time": 1695349821000
    },
    "currentTemperature": {
    "value": 79,
    "time": 1695349821000
    }
    }
    }
    

在这里插入图片描述

  • 在Subscribe中可以查看发布成功与否的状态,“msg”后跟“success”表示成功,如果不成功,可以根据响应信息进行修改,这也是在正式开始编程之前,我们需要先使用这个工具来熟悉MQTT连接oneNET云平台的原因

在这里插入图片描述

  • 此时,我们就可以在云平台看到刚才发布的数据了

在这里插入图片描述

四、总结

  • 经过以上的流程,我们已经大致了解了通过MQTT连接OneNET云平台的基本流程,知道了MQTT连接云平台时需要获取哪些信息,以及发布数据所需要的JSON格式如何书写,在以后我们需要使用WiFi模块,或者NB模块,4G模块等来连接OneNET云平台时,我们就知道该给这些模块发送什么样的指令来连接云平台,数据需要封装成什么样式才能被云平台接收,并解析出来。

  • 遇到问题没法解决的时候多看官方文档

这篇关于MQTTfx连接oneNET的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/270866

相关文章

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构