MQTT.fx客户端MQTT接入阿里云物联网平台,登录、订阅、发布消息

2023-11-12

目录

1. 准备

2. MQTT.fx 设置登录名、密码

3. MQTT.fx 接入阿里云,订阅Topic

4. 阿里云下发数据给 MQTT.fx

5. MQTT.fx 发布消息给服务器

相关链接:MQTT协议


1. 准备

阿里云物联网,创建产品、设备、三元组证书获取:阿里云物联网创建产品、设备、三元组证书

MQTT.fx 下载地址:MQTT.fx下载

阅读本篇文章,不需要了解 MQTT协议和通信帧的格式,只要创建好阿里云的产品和设备,即可使用 MQTT.fx 接入调试。关于 MQTT协议部分的详解见本篇末尾的链接。

 

提前 注册并登陆阿里云物联网平台,参考上面链接,创建产品、设备,获取到设备三元组证书

下载并安装 MQTT.fx。

 

2. MQTT.fx 设置登录名、密码

 

打开 MQTT.fx,点击 小齿轮图标

 

配置四项信息:设备服务器地址客户端ID用户名密码

 

设备服务器地址客户端ID用户名密码 的合成方法:

设备服务器地址 #.iot-as-mqtt.cn-shanghai.aliyuncs.com #为ProductKey
客户端ID *|securemode=3,signmethod=hmacsha1| *为设备名称
用户名 *&# *为设备名称,#是ProductKey
密码 用DeviceSecret做为秘钥对clientId*deviceName*productKey#进行hmacsha1加密后的结果 *为设备名称,#是ProductKey

在线 HmacSHA1 加密算法计算器:HmacSHA1在线加密计算

我博客中,使用的设备证书三元组为:(此设备不会更改和注销,以便各位测试使用)

{
  "ProductKey": "a1wFylTxYeD",
  "DeviceName": "co_0001",
  "DeviceSecret": "7ab0c4b3532b5783df5fdc58a2895d7a"
}

最终根据我设备的三元组证书,合成出 设备服务器地址客户端ID用户名密码 为:

设备服务器地址 a1wFylTxYeD.iot-as-mqtt.cn-shanghai.aliyuncs.com
客户端ID co_0001|securemode=3,signmethod=hmacsha1|
用户名 co_0001&a1wFylTxYeD
密码 e782b5e55b37655c27812a60c307b0a7575d8f6d

 

依次填入后,点击右下方 OK。

 

3. MQTT.fx 接入阿里云,订阅Topic

 

点击 Connect,连接服务器。右上角的指示灯会变为 绿色,表示连接成功。

 

点击上方的 Subscribe ,进入订阅界面。

填入/sys/a1wFylTxYeD/co_0001/thing/service/property/set,点击右侧 Subscribe。使用QoS0 订阅这个主题。

 

阿里云物联网控制界面,刷新。

显示设备在线。已订阅 Topic 列表中,存在刚才订阅的主题。

 

 

阿里云物联网平台中,会使用到的 Topic,为这两项:(每个人的都不一样,不同产品、设备都会不一样)

/sys/a1wFylTxYeD/co_0001/thing/service/property/set(用于服务器下发消息给设备)

/sys/a1wFylTxYeD/co_0001/thing/event/property/post(用于设备上报消息给服务器)

设备只需订阅 set那一条Topic,不用订阅 post也可以进行发布上报。

 

 

4. 阿里云下发数据给 MQTT.fx

 

阿里云物联网平台,进入 设备 - 在线调试,选择产品、设备,设置调试功能、方法。

点击下方 发送指令。

 

MQTT.fx 会收到服务器发布的消息。消息有效内容一致。

 

消息信息也可以在 Log日志中查看。

 

 

5. MQTT.fx 发布消息给服务器

点击 MQTT.fx 上方的 Publish ,进入发布消息界面。

发布消息,需要用到主题/sys/a1wFylTxYeD/co_0001/thing/event/property/post

将上一条服务器发来的消息复制过来,进行一下改动:

{"method":"thing.service.property.set","id":"1100426949","params":{"PowerSwitch_1":0},"version":"1.0.0"}

修改后为:

{"method":"thing.event.property.post","id":"200831114643","params":{"PowerSwitch_1":1},"version":"1.0.0"}

其中,改动了方法、消息ID、开关值。

消息ID,可自行用户定义,不会对属性的值造成影响,只用来标识传输的消息帧。我用的时间戳。

 

阿里云物联网 - 设备 - 物模型数据,打开实时刷新。

点击Publish,可观察到开关值的变化。上发消息到服务器成功。

 

!!!阿里云服务器仅支持Qos=0的post。Qos=1/2 不支持,发送Qos=1会有错误。

MQTT协议规定,PUBACK 是对 Qos=1时的 PUBLISH的发布消息确认。也就是说Qos=1 才有 PUBACK,但阿里云服务器仅支持 Qos=0的POST,所以压根就不会有PUBACK。而用户强行发送Qos=1的PUBLISH,会返回错误:40 02 7B 22 ,并且不会对本帧的内容进行处理,开关状态也不会得到更新。

 

 

相关链接:MQTT协议

MQTT 协议详解:MQTT 协议详解

MQTT 报文帧格式详解:MQTT 报文帧格式详解

使用电脑网络调试助手,MQTT接入阿里云物联网平台:网络调试助手接入阿里云

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MQTT.fx客户端MQTT接入阿里云物联网平台,登录、订阅、发布消息 的相关文章

  • 八路视频光端机技术导论:多通道视频传输的高效解决方案

    随着光通信技术的快速发展 八路视频光端机 已成为多通道视频传输的有效解决方案 本文将探讨该技术的原理 优势及应用前景 为光通信行业的技术人员和研究学者提供参考 技术原理 八路视频光端机基于 波分复用 WDM 技术 通过一个光纤同时传输多路视
  • 如何使用内网穿透实现iStoreOS软路由公网远程访问局域网电脑桌面

    文章目录 简介 一 配置远程桌面公网地址 二 家中使用永久固定地址 访问公司电脑 具体操作方法是 简介 软路由 是PC的硬件加上路由系统来实现路由器
  • 成为一个黑客,就按照这个路线来!

    前几天一个同学在聊天中提到毕业后想要从事网络安全方向的工作 虽然他本身也是学计算机的 但是又怕心有余而力不足 因为 从事网络安全方面的工作向来起点都比较高 大学里少有开设这类课程的 在学校能够学到的知识比较有限 网上的关于这方面课程的质量又
  • 这些专利知识你知道吗?

    专利作为一种重要的知识产权保护形式 专利不仅成为了企业核心竞争力的重要组成部分 也成为了国家创新发展的重要支撑 专利是指国家专利主管机关授予发明创造申请人的一种专有权 这种专有权具有独占性 排他性和法律强制性 能够为持有者带来经济利益和竞争
  • Google iot MQTT - ESP32 首次连接,仅在 30m 后重新连接

    我正在使用 ESP32 与谷歌物联网云合作 我发送假值只是为了使用 MQTT 数据 PUB SUB 进行测试 显然我成功发布了值 有时 我无法重新连接到谷歌物联网 我不知道为什么它不断检查 wifi publishing 并且不检查 JWT
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 掌握内网渗透之道,成为实战高手,看《内网渗透实战攻略》就够了

    文末送书 文末送书 今天推荐一本网络安全领域优质书籍 内网渗透实战攻略 文章目录 前言 如何阅读本书 目录 文末送书 前言 当今 网络系统面临着越来越严峻的安全挑战 在众多的安全挑战中 一种有组织 有特定目标 长时间持续的新型网络攻击日益猖
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • 静态综合实验

    1 IP地址划分 192 168 1 0 27 用于主干拆分 192 168 1 32 27 用于用户拆分 192 168 1 64 27 用于用户拆分 192 168 1 96 27 用于用户拆分 192 168 1 128 27 用于用
  • 最大 MQTT 连接数

    我需要创建一个服务器场 可以处理 5 100 万个连接 5 00000 个主题 每个客户端一个 每秒处理 300k 消息 我尝试了解各种消息代理的功能 因此我目前使用两个 RHEL EC2 实例 r3 4xlarge 来获取大量可用资源 所
  • 在 mqtt.js 中发布无法访问的主题时如何捕获“访问错误”?

    我正在使用带有 mqtt js 的 node js 和 mosquitto 代理创建一个项目 在 mosquitto 配置文件中 我设置了 pwfile aclfile 来控制哪个用户可以访问哪个主题 如果用户名 密码 发布主题和订阅主题正
  • java.io.EOFException 与 paho

    我想对蚊子进行压力测试 所以我创建了一些代码 如下所示 for int i 0 i lt 800 i final int j i Thread t new Thread new Runnable Override public void r
  • AWS-IOT Mqtt Broker 是否会记住跨客户端连接订阅的客户端和未传递的消息?

    AWS 文档在此 http docs aws amazon com iot latest developerguide iot message broker html http docs aws amazon com iot latest
  • Spring集成MQTT发布订阅多个主题

    我正在尝试构建一个订阅多个 mqtt 主题的应用程序 获取信息 处理它并形成 xml 并在处理时触发一个事件 以便这些可以发送到某个云服务器 并将成功的响应从那里发送回MQTT 通道
  • 如何在 Android 的这个特定用例中实现 MQTT?

    我的用例 登录到我的应用程序的用户应该能够向在另一台 Android 设备上登录到该应用程序的自己发送消息 如果用户拥有多个设备 那么一旦他打开该消息 其他设备上的通知必然会消失 Doubts 如何跨设备向特定用户发送数据 我了解如何使用
  • 加特林负载测试期间编译错误

    我正在尝试编写一个模拟 并且希望能够运行该模拟 我在尝试 mvn gatling execute 时遇到错误 我的 pom 有以下依赖项
  • 将消息从 AWS Lambda 发布到 AWS IoT

    我正在尝试使用 Nodejs 将消息从 AWS Lamba 发布到 AWS IoT 我已压缩该项目并上传到 AWS IoT 下面是代码片段 var awsIot require aws iot device sdk var device a
  • 在文件之间共享 mqtt 客户端对象

    我这样连接到 MQTT mqtt js const mqtt require mqtt var options needed options var client mqtt connect mqtt someURL options clie

随机推荐

  • 二十三.Python学习笔记.5

    组合数据类型 一 集合类型及操作 1 集合是多个 元素的无序组合 集合类型与数学中的集合概念一致 集合元素之间无序 每个元素唯一 不存在相同元素 集合元素不可更改 不能是可变数据类型 2 集合是多个元素的无序组合 集合用大括号 表示 元素间
  • UEditor百度富文本编辑器实现自定义按钮和自定义右键菜单

    以1 5 0版本为例子 注意 所有字符串的字母只能小写 不能大写 自定义工具栏按钮 在根目录的ueditor config js找到toolbars参数 大于34行 在后面加上自定义字符串 然后在根目录 lang zh cn zh cn j
  • Word2016怎么制作目录

    Word2016如何制作目录 点击 引用 点击 目录 选择目录的生成方式
  • 实体类与实体DTO类之间的转换

    实体类与实体DTO类之间的转换 实体类与实体DTO类之间的转换 1 通过使用第三方序列化反序列化工具Newtonsoft Json 2 通过反射实现 3 通过表达式目录树加字典缓存实现 4 通过表达式目录树加泛型缓存实现 静态构造函数 1
  • 解决redis缓存雪崩

    目录 一 什么是缓存雪崩 二 解决缓存雪崩 一 什么是缓存雪崩 1 同一时间大量的key同时失效或者redis宕机 大量请求直接访问数据库 二 解决缓存雪崩 1 如果是同一时间大量key失效 可以给不同的key的ttl添加随机值 2 如果是
  • Python 处理GBK编码转UTF-8读写乱码问题

    今日写了个爬虫 爬取前程无忧的招聘信息 老套路 首先获取网页源代码 coding utf 8 import requests url http search 51job com jobsearch search result php pag
  • cmake+QT+VTK常见错误及解决方法

    1 安装环境 cmake3 0 QT4 8 6 VTK5 10 PS VTK6 10以上只能配合使用QT5 0以上版本 2 编译安装 参考 http blog csdn net www doling net article details
  • 从那里进入EI检索号查询入口?

    一 EI检索号是什么 EI检索号是就是文章被EI收录后 在检索页面生成的一串数字 EI检索号样式 Accession number 20200308040970 这串数字是唯一的 EI检索收录与否 也就是看有无这串数字 后期如果去申请EI检
  • 5G QoS控制原理专题详解-基础概念

    相关文章会在公众号同步更新 公众号 5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理 保证更新内容的准确性 避免通过二手 甚至多手的资料 以讹传讹误导网友 在介绍完流程详解后 会整理专题内容 比如切片 服务发现 QoS流端到端
  • Spring Cloud Sleuth使用简介

    Spring Cloud Spring Cloud为开发者提供了在分布式系统 如配置管理 服务发现 断路器 智能路由 微代理 控制总线 一次性Token 全局锁 决策竞选 分布式会话和集群状态 操作的开发工具 使用SpringCloud开发
  • VS2008如何打开memory窗口

    VS2008如何打开memory窗口 1 在想要观察的变量处设置断点 2 运行工程至断点处 3 debug gt windows gt memory 4 将变量名称复制至memory的address处 按enter键即可 5 右击内存显示去
  • klee内存模型

    klee内存模型 一 LLVM基础 二 Klee中相关的类 2 1 基础类 2 2 内存管理相关类 三 示例 3 1 示例1 3 2 示例2 3 3 示例3 3 4 示例4 这篇blog主要通过一些简单的示例来了解以下klee对内存的建模方
  • JAVA生成带图标的二维码(产品溯源码)

    一 效果图 二 代码示例 1 引入依赖
  • element-ui组件库

    PC端组件库参考 https www jianshu com p 669d3e41dca6 element 官网 https element eleme cn zh CN 1 下载安装组件库 cnpm i element ui 2 两种引入
  • wx.getUserProfile调用后没有反应?获取不到真正的用户头像和昵称

    考虑到近期开发者对小程序登录 用户信息相关接口调整的相关反馈 为优化开发者调整接口的体验 小程序登录 用户信息相关接口调整说明 公告中关于小程序回收 wx getUserInfo 接口可获取用户授权的个人信息能力的截止时间调整至2021年4
  • 基于Java的停车场管理系统的设计与实现

    技术 Java JSP等 摘要 随着科技的迅速发展 各种管理系统已应用到社会的各个领域 各个大小企业 单位 都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展 为了更好的发展 纷纷开发适合自己的管理系统 通过停车场管理系统这个平台 可
  • ppp协议帧格式

    ppp协议帧格式解析 现在全世界使用得最多的数据链路层协议是 点对点协议 PPP Point to Point Protocol 用户使用拨号电话线接入因特网时 一般都是使用 PPP 协议 PPP 的帧格式和 HDLC 的相似 标志字段F
  • Idea中JRebel热部署安装及激活

    一 JRebel安装 到idea的插件下载中下载JRebel插件 二 JRebel激活 下载反向代理软件地址 Release v1 4 ilanyu ReverseProxy GitHub UUID生成地址 Online UUID Gene
  • 通过服务器接口上传文件,云服务器上传文件的接口

    云服务器上传文件的接口 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 安装传输工具在本地主机和Windows云服务器上分
  • MQTT.fx客户端MQTT接入阿里云物联网平台,登录、订阅、发布消息

    目录 1 准备 2 MQTT fx 设置登录名 密码 3 MQTT fx 接入阿里云 订阅Topic 4 阿里云下发数据给 MQTT fx 5 MQTT fx 发布消息给服务器 相关链接 MQTT协议 1 准备 阿里云物联网 创建产品 设备