【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

这篇具有很好参考价值的文章主要介绍了【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

具体如何在阿里云创建一个 MQTT 服务器我就不写出来了,可以去百度一下(主要是我忘了,不好演示)。
有关 MQTT 报文的一些标识在我前面的一篇文章中讲过,感兴趣的可以去看看(有关代码部分讲解的内容也在那里,这里就不细讲了,主要讲如何连接的)
插一嘴,如果有同学找不到可以创建阿里云 MQTT 服务器的地方,检查一下是不是地区没选到华东2(上海)

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

一、获取阿里云 MQTT 服务器连接参数

下面的连接方法是参照阿里云的手册进行连接的,有兴趣的同学可以同时看看。

1、创建好一个产品后在创建两个设备(后面演示要用到)

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

2、先随便进入一个设备中,这里选择的是 test 设备。点击查看DeviceSecret。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

3、将三元组的内容分别复制到 mqtt_config.h 文件的这个位置下。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

4、点击查看 MQTT 连接参数,只需复制 mqttHostUrl 即可

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

5、密码使用阿里云提供的密码生成工具。下载解压完成后,点击 sign.html,填写对应设备信息,点击生成即可。将生成的密码复制到 Password 中。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

至此,该示例代码就可以连接上阿里云 MQTT 服务器了。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

二、认识阿里云 MQTT 服务器上的主题

有关阿里云的主题介绍在阿里云官方手册中有介绍,感兴趣的同学可以去了解一下。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

这些主题可以在产品的 Topic 类列表中查看。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

三、如何在阿里云 MQTT 服务器上显示数据

1、点击产品的功能定义。点击编辑草稿。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

2、点击添加自定义功能。这里是打算显示温度的一个变化情况。添加完成之后记得点击发布上线!

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

3、通过查阅官方手册,得知需要向 Topic:/sys/${productKey}/${deviceName}/thing/event/property/post 发送 JSON 格式的数据。该手册中有说明 JSON 格式数据有哪些内容可以添加。还举出了一个例子,其中最重要的就是 params 参数了,该字段中的子参数名字就是前面填写的标识符 temp

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

4、在示例代码中,向服务器发送了一个温度值为 6 的消息。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

5、运行代码后,在 test 设备的物模型数据中即可观察到温度的值。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

四、如何做到两个设备之间的通信

在通常情况下,我们比较常用的需求还是像其他 MQTT 服务器那样一个设备发布了一个携带信息的主题 A 后,订阅该主题 A 的另一个设备就能收到该消息,但在阿里云 MQTT 服务器中却不能这样子,往往是发送给主题 A 的消息却没有发送给订阅了 A 的设备
如果要实现此功能,就要借助阿里云的另一个功能:云产品流转。

1、要实现该功能,首先要准备两个设备,前面已经创建了一个 test 设备,现在再创建一个 mqtt 设备。并自定义两个主题。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

2、在规则引擎中点击云产品流转,切换到旧版。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

3、点击创建规则。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

4、进入到刚创建好的规则下。点击编写 SQL。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
该 SQL 语句的作用是:监控产品 阿里mqtt 中名字为 mqtt 这台设备的发布的主题 /h18lpJMiSVO/mqtt/user/123然后把里面发布的消息全部提取出来
① *代表提取所有消息
② 选择自定义的主题
③ 选择 阿里mqtt 产品中设备
④ 选择名字为 mqtt 的这台设备
⑤ 选择这台设备发布的主题(/h18lpJMiSVO/mqtt/user/123)

大白话:
监控名字为 mqtt 的设备发布的主题 /h18lpJMiSVO/mqtt/user/123
假设设备发布的消息是:{"data": 123}
执行上面的配置就把这个 {"data": 123} 提取了出来(注:发送的格式一定要是 JSON 格式的数据,并且格式要正确)

5、现在将消息提取出来了,还需要让服务器再转发到另一个设备:test 中。在转发数据中点击添加操作。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
就是把上面配置 SQL 以后提取的数据 {"data": 123} 转发到/h18lpJMiSVO/test/user/abc 这个主题上
① 选择自定义
② 选择自己创建的一个产品
③ 选择名字为 test 的这台设备
④ 选择要转发到这台设备订阅的某个主题

6、启动规则

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

7、使用 MQTT.fx 登录 mqtt 设备(MQTT.fx连接文档)

这里我用的是阿里云比较新版本的计算密码的网页,对于连接 MQTT.fx 来说会更快一些。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

8、在 MQTT.fx 上向 /h18lpJMiSVO/mqtt/user/123 主题发送数据 {"data":123},在板子上订阅 /h18lpJMiSVO/test/user/abc 主题。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)
【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

9、关于这个数据转发的内容还有其他好玩的,感兴趣的可以去观摩一下这位大佬写的文章,数据转发部分在文章的后半部分。

【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)文章来源地址https://www.toymoban.com/news/detail-455154.html

到了这里,关于【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP8266-01 MQTT固件烧录并连接阿里云服务器

    1、烧录工具:flash_download_tool :   链接:https://pan.baidu.com/s/1jJJ07G56jNJ3SrOwstPzVA?pwd=8i93  提取码:8i93 2、串口调试助手:串口调试助手 3、阿里云配置生成工具: 链接:https://pan.baidu.com/s/13tjpFwGMeR0juS5OSEBiJQ?pwd=61me  提取码:61me 4、USB TO TTL 5、esp8266 01s 6、AT固件:下载   向esp8266烧

    2024年02月06日
    浏览(70)
  • 基于STM32+FreeRtos+ESP8266+MQTT连接阿里云

    实现通过stm32f103c8t6+操作系统(freertos)读取dht12温湿度传感器的数据,采用ESP8266连接网络,经过MQTT协议连接阿里云IOT,进行数据的传输,以及服务器发送数据控制LED的亮灭,包括消息的发布和订阅等操作,完成云端和设备端的通讯。 首先,我们使用MQTT.fx模拟器,通过模拟的

    2024年02月06日
    浏览(51)
  • 从零开始用Nodejs搭建一个MQTT服务器,并且用stm32通过esp8266进行消息订阅和发布

    最近在做一个物联网项目,需要用到服务器进行数据的存储和数据的请求和发送,之前我用过onenet平台上的http服务,虽然能通过get和post请求进行数据的提交和发送,但是平台上的数据发生改变却不能主动推送给esp8266,与我此次的项目不符合,所以pass。然后我了解了下mqtt协

    2024年02月04日
    浏览(52)
  • 13-ESP8266连接MQTT服务器发送数据

    Author:teacherXue MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号

    2024年02月03日
    浏览(63)
  • STM32、ESP8266与MQTT连接阿里云物联网的串口通信异常解析

    STM32、ESP8266与MQTT协议连接阿里云物联网平台时常见的串口通信异常介绍 在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是实现设备与网络间稳定通信的关键。然而,在连接阿里云物联网平台的过程中,串口通信异常成为了一个常见的挑战。本文将探讨这些异常现象及其可

    2024年04月22日
    浏览(46)
  • ESP8266入门教程11:连接MQTT服务器

    将第三方库PubSubClient下载到lib文件夹 git clone https://github.com/knolleary/pubsubclient.git 1、打开阿里云IOT官网,登录阿里云账号 https://iot.console.aliyun.com 2、创建实例 3、新建产品 4、自定义主题  5、添加设备  6、查看设备配置   1、修改PubSubClient.h头文件,否则无法连接阿里云MQTT服务

    2023年04月24日
    浏览(60)
  • esp8266模块--MQTT协议连接服务器实现数据接收和发送+源码

    首先推荐中国移动的代码,我觉得中国移动的代码更为合理:(但是有一些其他的模块在里面) OneNET开发板代码、资料--2020-09-27--标准板、Mini板bug修复 - 开发板专区 - OneNET设备云论坛 (10086.cn) 以及这位b站up做的视频:(wifi模块在p9节) 【挽救小白第一季】STM32+8266+小程序智能

    2024年02月08日
    浏览(63)
  • ESP32的MQTT AT固件烧录+STM32以ESP32的MQTT AT固件的AT指令连接EMQX下mqtt服务器实现消息订阅和发布

    目录 写在前面 三种方案(利用ESP32连接EMQX下的MQTT) 步骤 ESP32烧录固件并AT指令进行测试。 下载固件  烧录工具下载 烧录固件(选择ESP32)  关于AT 指令与MQTT服务器断开后自动重连MQTT服务器 关于AT指令设置上电自动连接WIFI 关于AT指令设置断开后自动重新连接WIFI STM32对接E

    2023年04月12日
    浏览(49)
  • ESP8266+STM32+阿里云保姆级教程(AT指令+MQTT)

    前言:在开发过程中,几乎踩便了所有大坑小坑总结出的文章,我是把坑踩满了,帮助更过小白快速上手,如有错误之处,还麻烦各位大佬帮忙指正、 目录 一、ESP-01s介绍         1、ESP-01s管脚功能:                 模组启动模式说明:         2、初始配置和

    2024年02月19日
    浏览(44)
  • esp8266(MQTT固件)+串口助手连接阿里云服务测试

    esp8266烧录MQTT固件 阿里云创建产品步骤 登录阿里云,没有阿里云账号的需自行注册。 创建产品 在物联网平台下,点击 设备管理 - 产品 -创建产品 产品名称根据自身需求填写,选择自定义品类,选择直连设备,连网方式选wifi,数据格式选JSON格式(配置可根据自己需求选择)

    2023年04月08日
    浏览(94)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包