阿里云服务器 之 mqtt服务器搭建及使用

news/2025/1/9 10:38:00/

本文主要是对mqtt的学习使用,其中服务器是基于阿里云服务器的mqtt功能,客户端使用的是mqttx软件。

一、服务器部分搭建说明

1、如果是首次使用,则需要经过注册与认证的步骤。

2、找到"产品与服务"-->"物联网平台",然后在实例中选择"开通"(如果是已经开通了,则略过),直接点击"已开通"进入具体操作页面。相关操作如下:

点击"已开通"进入操作界面

3、创建产品。

点击"设备管理"-->"产品"-->"创建产品"进行产品的创建

根据实际情况填写(实际的数据并无意义)

双击相应的产品,并点击发布,如下:

4、创建设备

依次点击"设备"-->"添加设备"

5、定义主题(topic类列表)。

依次点击"产品"-->"topic类列表"-->"自定义topic"-->"定义topic类"-->"发布”

注:如果是已发布的,可以选择"撤销发布",等再次修改、新增后,最后再发布。

以上服务端的配置就完成了,可以等待客户端的连接、订阅、发布等操作。

需要注意的点:

1)定义的主题名称格式是:/im1sOncvBpV/${deviceName}/user/mqtt_public_subscrib_test,因此在客户端订阅主题时需要完整的。

2)阿里云对应的服务器域名的格式说明:$(productKey).iot-as-mqtt.$(region).aliyuncs.com.示例:im1sOncvBpV.iot-as-mqtt.cn-shanghai.aliyuncs.com。其中region对应的是"设备"-->"设备信息"-->"地域"

地域的转换具体见"地域和可用区" (https://help.aliyun.com/document_detail/40654.htm?spm=a2c4g.163765.0.0.25955181PLLKpF)

2)用户名和密码的生成说明:

2.1)用户名的格式为:$(deviceName)&$(productKey)。示例:mqtt_1&im1sOncvBpV或者mqtt_2_paho&im1sOncvBpV

2.2)密码需要借助工具生成 (链接: https://files.alicdn.com/tpsservice/88413c66e471bec826257781969d1bc7.zip)

3)服务器的端口为1883

4)mqttclientId的格式:$(clientId)|securemode=3,signmethod=hmacsha1| 。示例:00001|securemode=3,signmethod=hmacsha1|

其中:clientId为设备的Id信息,可随意。建议使用mac或sn。securemode为安全模式,tcp直连则设置为securemode=3,tls连接则为securemode=2。signmethod为算法类型,支持hmacmd5和hmacsha1。

二、客户端部分说明

首先当然是下载mqttx,并且安装。

mqttx下载的地址:MQTTX: Cross-platform MQTT 5.0 Desktop Client

 1、连接配置说明

配置说明:

1)名称 可随意

2clientId 对应着服务器上的mqttclientId,可见上面的说明

3)服务器地址 见服务器部分的说明

4)端口 1883

5)用户名 见服务器部分的说明

6)密码 是通过工具生成的,见服务器部分的说明

7 直接tcp直连,无tls/ssl的加密

2、订阅配置说明

注:topic为服务器上的"产品"--->"topic"类列表中(可自定义)

注:其中的deviceName需要改为相应的设备名

3、发布消息说明

服务器上"设备"-->"topic列表"-->"发布消息"

  

4、广播说明

可通过订阅/broadcast/im1sOncvBpV/all_device 来实现客户端1发布,客户端2接受订阅

对应的是"产品"-->"基础通信topic"-->"广播"


http://www.ppmy.cn/news/78698.html

相关文章

spring笔记

spring 和 springboot的区别 自动配置原理 beanFactory接口和ApplicationContext接口 两个都是 IOC 容器 ApplicationContext接口是BeanFactory接口实现类的子类 功能: ApplicationContext扩展BeanFactory BeanFactoryApplicationContext控制反转国际化支持 …

和月薪5W的京东程序员聊过后,才知道自己一直在打杂...

前几天和一个朋友聊面试,他说上个月同时拿到了腾讯和京东的offer,最后选择了京东。 京东内部将员工一共分为了14个等级,P6是资深工程师,P7是技术专家。 其中P6和P7就是一个分水岭了,P6是最接近P7的不持股员工&#x…

特瑞仕|关于无线射频

无线射频(Radio Frequency, RF)是指在一定频率范围内,通过无线电波进行通信和传输信息的技术。随着移动通信、物联网、智能家居等领域的不断发展,无线射频技术已经成为现代社会中不可或缺的一部分。本文将从以下几个方面对无线射频…

RPG游戏自动打怪之朝向判断

RPG游戏辅助想要做到自动打怪 获得到最近怪物信息以后 还需要面向怪物 否则背对怪物等等情况是没有办法攻击以及释放技能的 游戏设计的时候朝向是有很多种情况的 第一种 2D,2.5D老游戏,例如传奇 他的朝向一般是极为固定的4朝向或则8朝向 也就是不…

就业内推 | 国企招运维、网安,五险一金全额缴,最高15k

01 北京安信创业信息科技发展有限公司 🔷招聘岗位:网络运维岗 🔷职责描述: 1、负责北区数据中心、总部数据中心、部本部、21家在京直属事业单位内网网络系统的日常运行维护工作。 2、负责网络故障的应急处置。 3、负责网络系统…

JDBC入门

JDBC,Java数据库连接,是Java语言中与关系型数据库连接的一种API规范。它可以让Java程序通过标准的SQL语句来与数据库进行交互、操作数据。 本篇文章将带您进入JDBC的世界,让您了解JDBC的一些基本概念和操作。我们将以MySQL数据库为例进行操作…

又到520了,来画一朵抽搐的玫瑰花吧

文章目录 静态的玫瑰 敲了这么多年代码,每年都得画一些心啊花啊什么的,所以现在常规的已经有些倦怠了,至少也得来个三维图形才看着比较合理,而且光是三维的也没啥意思,最好再加上能动起来。 静态的玫瑰 网上有很多生…

Chapter5: SpringBoot与Web开发2

接上一篇 Chapter4: SpringBoot与Web开发1 10. 配置嵌入式Servlet容器 SpringBoot默认采用Tomcat作为嵌入的Servlet容器;查看pom.xml的Diagram依赖图: 那么如何定制和修改Servlet容器的相关配置? 下面给出实操方案。 10.1 application.properties配…