当前位置: 首页 > news >正文

MQTTfx连接阿里云(详细版)

1、介绍

作为物联网开放平台,阿里云可谓是吸引大多数嵌入式爱好者的平台。物联网MQTT协议火热的今天,你使用过阿里云吗?本篇文章带你接触阿里云,实现MQTT通信。

我们在测试MQTT之前先了解下什么是MQTT协议。大家都知道它是一种发布订阅协议,它是怎么实现两个客户端通信的呢。带着这两个问题,我们来了解下MQTT协议。

MQTT协议不同于我们常见的C-S通信协议,C(客户端)-S(服务器)这种一对一进行数据通信的协议,比如http、udp和socket通信协议。MQTT可以有多个客户端(如图),客户端订阅或发布于同一个topic,那么这个topic下的所有客户端都会收到这个消息,就是说可以多个客户端通信。一个客户端可以订阅这个topic,也可以在这个topic上发布消息,实现客户端数据的双向通信。

那么,在订阅同一个topic时,客户端之间是如何经过服务器实现数据通信的呢?

下面我们带着这个问题进行阿里云和MQTTfx平台及软件的配置。如果您是刚接触阿里云的小白,可以跟着我一起学习,步骤详细。

2、阿里云平台配置

打开阿里云平台,以下链接

阿里云-计算,为了无法计算的价值 (aliyun.com)

找到控制台,点进去。

搜索物联网平台,然后点进去。

点击公共实例

然后到达以下界面

接下来,比较重要,请跟着我的步骤来。

2、1创建产品

点击产品----->创建产品。

在产品名称里填写适当的名字,最好是英文,其他选择如下:

然后点击确认。弹出一个页面,我们选择查看产品详情。

以下重要信息我已经圈出来了,打开动态注册,先不要点击发布。

到此,创建产品完成。

2、2创建设备

点击设备---->添加设备。

选择我们刚才创建的产品,并填写好名称,之后确认。

创建好之后,点击查看设备信息。

至此,设备创建完成。

2、3重要信息位置

在上一步创建好设备后,点击查看设备信息。以下重要的信息已经圈出。

在连接时会用到。我们使用的是一机一密,一个客户端设备对应一个密匙,username及passwd。

为了便于理解,我把重要信息标注出来。注意在大家使用阿里云的时候,需要注意保密,为了安全性,写完这篇笔记我会把这个产品删掉。

打开MQTTfx,大家可以在浏览器搜索下载。

点击设置。

注意:client ID 、username和password我们在上边已经圈出来了,填上就行,不需要在去计算。

对于Broker Address,首先找到你是哪个地址。比如我是华东区2上海,我的地址是

alFMz7jnArW.iot-as-mqtt.cn-shanghai.aliyuncs.com

设置好后,点击Apply,然后点击OK,返回。

至此MQTTfx软件配置完成。

2、4测试消息收发

回到MQTTfx主界面,点击Connect,看到右侧指示灯变绿。

说明MQTTfx连接上阿里云。

接下来测试数据收发,对于客户端和云平台双向测试。

2、4、1新建topic

找到我们产品,注意是产品,不是设备,点击定义topic类。

注意点开开启代理订阅!!!

topic可以随意填,填好信息,点击确认。

2、4、2设备绑定topic

拿到我们的topic信息

/h2q0peMWuBX/${deviceName}/user/csdn_book

找到我们的设备,我们设备名字叫aliyun_csdn_test,完整topic是:

/h2q0peMWuBX/aliyun_csdn_test/user/csdn_book

把这个topic填写到对应地方,想阿里云发一下消息。

找到阿里云日志服务,查看信息

在阿里云上发布消息,对应MQTTfx可以接收到。

至此,MQTTfx连接阿里云成功!鼓掌

 图片加载不出来看我github:

C_review/云平台入门 at master · qq-hh/C_review (github.com)

相关文章:

MQTTfx连接阿里云(详细版)

1、介绍 作为物联网开放平台,阿里云可谓是吸引大多数嵌入式爱好者的平台。物联网MQTT协议火热的今天,你使用过阿里云吗?本篇文章带你接触阿里云,实现MQTT通信。 我们在测试MQTT之前先了解下什么是MQTT协议。大家都知道它是一种发…...

Vue3使用provide和inject实现孙组件给爷组件传递数据

前言: 最近在研究gitHub中的一个项目并将与自己之前完成的项目进行结合,其中有一个功能是需要在孙组件将数据传递给爷组件,笔者研究后将使用总结如下: 具体步骤: 1.爷组件先定义一个空的函数传递给孙子 2.孙组件使…...

昇思25天学习打卡营第1天|基本介绍及快速入门

1.第一天学习总体复盘 1)成功注册昇思大模型平台,并成功申请算力; 2)在jupyter环境下学习初学入门/初学教程的内容; 在基本介绍部分,快速撸了一边内容,有了一个基本的了解(没理解到位的计划采用…...

C#.Net筑基-类型系统②常见类型

01、结构体类型Struct 结构体 struct 是一种用户自定义的值类型,常用于定义一些简单(轻量)的数据结构。对于一些局部使用的数据结构,优先使用结构体,效率要高很多。 可以有构造函数,也可以没有。因此初始…...

【人机交互 复习】第5章 交互式系统的需求

产品特性和用户个体差异引起的不同需求。 一、产品特性 1.功能不同 (1)智能冰箱:应能够提示黄油已用完 (2)字处理器:系统应支持多种格式 2.物理条件不同 (1)移动设备运行的系统应尽…...

知识的补充

目录 电容和电感的基本性质 高频电路中电容与电感的等效电路 阻抗与导纳 常用单位转换 电容和电感的基本性质 电容C是两个平板比较直,i也比较直,C的 i 随 u 的变化率变化,i 的相位超前。 电感L是个线圈比较弯曲,u也比较弯&…...

微信小程序请求服务器报ERR_CONNECTION_RESET

排查思路 1.域名是否配置或跳过 2.域名是否备案 3.证书是否有效 4.服务器中间件配置证书是否生效 5.服务器中间件转发配置是否生效 6.接口是否正常 本人遇到问题描述,通过浏览器访问本人网站,https,get请求可以通,小程序wx…...

SpringMVC:拦截Mybatis的mapper

我们在使用mybatis的时候会碰到一些公共添加时间,操作人员,更新时间、或者一些分页这个使我们如果要去添加每个对应的- service - dao - mapper - xml 这样就造成很多冗余代码,那这个时候我们就需要使用一些通用方法,统一就行修改…...

MySQL查询性能优化解决方案

解决方案 主键与默认常用查询字段建立索引,普通字段类型选择 UNIQUE,索引方法 BTREE ;长文本使用 FULLTEXT,索引方法为无; 新建表时引擎默认设置为 MyISAM,不使用 InnoDB,因为 MyISAM 支持 MAT…...

系统安全(补充)

拒绝服务漏洞(拒绝服务漏洞将导致网络设备停止服务,危害网络服务可用性)旁路(旁路漏洞绕过网络设备的安全机制,使得安全措施没有效果)代码执行(该类漏洞使得攻击者可以控制网络设备,…...

腾讯云[HiFlow】| 自动化 -------HiFlow:还在复制粘贴?

文章目录 前言:一:HiFlow是什么二:功能介绍1.全连接2.自动化2.1定时处理特定任务2.2实时同步变更信息2.3及时获取通知提醒 3.零代码4.多场景5.可信赖 三:用户体验最后 前言: 随着网络时代的不断发展,自动化…...

音视频入门基础:H.264专题(3)——EBSP, RBSP和SODB

音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…...

误删群晖NAS数据有什么找回的方法?

1、使用群晖 NAS 自带的备份功能:如果您之前启用了群晖的备份计划,例如 Hyper Backup 或 Snapshot Replication,您可以从备份中恢复数据。 1.1、Hyper Backup 可以将数据备份到多种目的地,包括本地存储、外部硬盘、其他 NAS 设备等…...

【CRASH】freelist异常导致的异常地址访问

freelist异常导致的异常地址访问 问题现象初步分析继续深入新的发现沙盘推演寻找元凶分析代码后记 问题现象 项目一台设备几天内出现了两次crash,都是异常地址访问导致。 [66005.261660] BUG: unable to handle page fault for address: ffffff8881575110初步分析…...

【QT】C++ || 左值引用、右值引用、移动语义、完美转发

在C中,左右值引用是高级语言特性,用于更高效的内存和资源管理。了解左右值引用的概念对于编写高效的C代码非常重要。下面解释左右值引用的概念、用途和区别,并通过示例来说明它们的使用。 左值引用(Lvalue Reference)…...

【深度学习驱动流体力学】计算流体力学算例剖析与实现

目录 一.求解器分类汇总压缩性流动求解器(Compressible Flow Solvers):不可压缩流动求解器(Incompressible Flow Solvers):多相流动求解器(Multiphase Flow Solvers):热传递求解器(Heat Transfer Solvers):其他特殊求解器:其他常见求解器:求解器分类:二.求解器案…...

Midjourney角色一致性如何控制两个人物

实操演示 如何用Midjourney完成《甄嬛大战蝙蝠侠》 思路 先生成一个大致符合要求的图片,作为底图基于底图,用局部重绘功能,逐步修改细节 生成底图 我们想要甄嬛大战蝙蝠侠,先试一下直接让他生成 Zhen Huan vs. Batman, in t…...

Python基础-引用参数、斐波那契数列、无极分类

1.引用参数的问题 (1)列表(list) 引用参数,传地址的参数,即list1会因list2修改而改变。 list1 [1,2,3,4] list2 list1 print(list1) list2[2] 1 print(list2) print(list1)非引用参数,不传…...

【MySQL统计函数count详解】

MySQL统计函数count详解 1. count()概述2. count(1)和count(*)和count(列名)的区别3. count(*)的实现方式 1. count()概述 count() 是一个聚合函数,返回指定匹配条件的行数。开发中常用来统计表中数据,全部数据,不为null数据,或…...

大数据的发展,带动电子商务产业链,促进了社会的进步【电商数据采集API接口推动电商项目的源动力】

最近几年计算机技术在诸多领域得到了有效的应用,同时在多方面深刻影响着我国经济水平的发展。除此之外,人民群众的日常生活水平也受大数据技术的影响。 在这其中电子商务领域也在大数据技术的支持下,得到了明显的进步。虽然电子商务领域的发…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...