0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RT-Thread和ESP8266在实战实现MQTT应用

RTThread物联网操作系统 来源:RTThread物联网操作系统 作者:RTThread物联网操作 2021-05-24 09:18 次阅读

概述

本来MQTT的协议解析系列,只写两篇-实践+解析。

不过,有个网友(Terry Hao)看了我的文章之后打电话给我,说最近刚好要使用MQTT到项目中,但是刚接触不是很熟悉,期望提供一个实际应用出来。

在上述的诉求,所以我决定写MQTT的第三篇文章--MQTT的实战。

本次实战,我分别进行两种实战:

MQTT.fx客户端 + 腾讯云

利用小熊派 + RT-Thread + ESP8266 + 腾讯云

腾讯云配置

登录腾讯云:https://console.cloud.tencent.com/iothub/product,如果你没有注册,先注册。

创建一个新产品,:

选择创建产品

e0fa723a-bc28-11eb-bf61-12bb97331649.png

输入产品名称,选择密钥认证

e109688a-bc28-11eb-bf61-12bb97331649.png

添加新设备:

进入刚刚创建的产品中:

e15743ac-bc28-11eb-bf61-12bb97331649.png

在设备列表中添加新设备:

e16b2246-bc28-11eb-bf61-12bb97331649.png

输入对应的设备名称即可:

e17561fc-bc28-11eb-bf61-12bb97331649.png

点击开始管理设备:

e1a52e6e-bc28-11eb-bf61-12bb97331649.png

设备创建成功:

e1d43966-bc28-11eb-bf61-12bb97331649.png

完成大部分的设置;点击进入刚刚创建的设备:

e202bf02-bc28-11eb-bf61-12bb97331649.png

我们使用默认的权限列表来进行实验,默认有3个Topic:

e235fe76-bc28-11eb-bf61-12bb97331649.png

MQTT.fx客户端 + 腾讯云实战

打开MQTT.fx客户端,进入设置:

e2411e28-bc28-11eb-bf61-12bb97331649.png

创建一个profile:

填写Connection Profile相关信息和General信息:

e24ea5e8-bc28-11eb-bf61-12bb97331649.png

参数说明:

参数 说明
Profile Name 配置文件保存为的名称。
Broker Address MQTT 服务器连接地址,广州域设备填入:PRODUCT_ID.iotcloud.tencentdevices.com,这里 PRODUCT_ID 为变量参数,用户需填入创建产品时自动生成的产品 ID,例如 9****ZW2EZ.iotcloud.tencentdevices.com
Broker Port MQTT 服务器连接端口,证书认证型端口:8883;密钥认证型:1883
Client ID MQTT 协议字段,按照物联网通信约束填入:产品 ID + 设备名,例如:"9「「ZW2EZgate_dev01 ",9」」ZW2EZ 是产品 ID,gate_dev01 是设备名。
Connection Timeout 连接超时时间秒。
Keep Alive Interval 心跳间隔时间秒。
Auto Reconnect 断网自动重连。

填写User Credentials信息:

e27e19b8-bc28-11eb-bf61-12bb97331649.png

参数说明

User Name :MQTT 协议字段,按照物联网通信约束填入:产品 ID + 设备名 + SDKAppID + connid。(创建完产品即可在产品列表页和产品详情页查看 ProductID)如:"9****ZW2EZgate_dev01;12010126;12345",仅替换示例中的产品 ID + 设备名即可,后面的两个参数本身由物联网通信接入 SDK 自动生成,所以这里填写固定测试值。

Password :Password 必须填写。用户可进入 Hub 相应设备列表查看获取。

关于这部分的填写,可以参考腾讯云的文档:https://cloud.tencent.com/document/product/634/14630?from=information.detail.腾讯云可以用mqtt

而上面的信息全部都可以从云端获取:

PRODUCT_ID获取:

e28b1c1c-bc28-11eb-bf61-12bb97331649.png

设备密钥,Client id,mqtt username,mqtt password的获取:

e2a82d8e-bc28-11eb-bf61-12bb97331649.png

填写完上面的信息,便可以连接上服务器:

e2b53132-bc28-11eb-bf61-12bb97331649.png

MQTT.fx客户端订阅主题:PRODUCT_ID/mqtt_rice/control,然后服务器往主题:PRODUCT_ID/mqtt_rice/control,发布消息。可以在客户端看到服务器发布的消息:

e2c664e8-bc28-11eb-bf61-12bb97331649.png

小熊派 + RT-Thread + ESP8266 + 腾讯云实战

通过RT-Thread连接腾讯云,其实还是很方便的,有现成的软件包。本次实验主要用到两个软件包:at_device 和 tencent_iot_sdk:

e2d16168-bc28-11eb-bf61-12bb97331649.png

配置at_device组件,配置AP的ssid和password,已经对应的串口:

e327ff96-bc28-11eb-bf61-12bb97331649.png

配置tencent_iot_sdk组件,主要配置三元组:产品ID,设备名字,设备密钥:

e337117a-bc28-11eb-bf61-12bb97331649.png

配置完上述内容,编译烧录就可以。烧录完板子会自动连接网络,然后再串口终端输入:"tc_data_template_example start"。便可以连接上腾讯云:

e343e12a-bc28-11eb-bf61-12bb97331649.png

很方便的就可以连上腾讯云:

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1026

    浏览量

    45772
  • 腾讯云
    +关注

    关注

    0

    文章

    208

    浏览量

    16766
  • MQTT
    +关注

    关注

    5

    文章

    649

    浏览量

    22425

原文标题:基于RT-Thread和ESP8266,实战实现MQTT应用

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    开源共生 商业共赢 | RT-Thread 2024开发者大会报名启动!

    开发者大会将以“开源共生,商业共赢”为主题,将于2024年12月21日全天在上海临港中心举行。开源RT-Thread如何实现商业化?这一直是外界对RT-Thread
    的头像 发表于 10-29 08:06 212次阅读
    开源共生 商业共赢 | <b class='flag-5'>RT-Thread</b> 2024开发者大会报名启动!

    ESP8266 通过 MQTT 协议实现 LED 的远程控制

    本文简要介绍了搭建 EMQX 服务器实现基于 MQTT 协议远程控制 NodeMCU ESP8266 板载 LED 的解决方案。
    的头像 发表于 09-25 09:11 1772次阅读
    <b class='flag-5'>ESP8266</b> 通过 <b class='flag-5'>MQTT</b> 协议<b class='flag-5'>实现</b> LED 的远程控制

    【南京】9月21日RT-Thread巡回线下培训-智慧家居视频监测系统实战

    亲爱的RT-Thread社区成员们:RT-Thread24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-Thread嵌入式开发的绝佳机会。2024年RT-Thread
    的头像 发表于 09-11 08:07 335次阅读
    【南京】9月21日<b class='flag-5'>RT-Thread</b>巡回线下培训-智慧家居视频监测系统<b class='flag-5'>实战</b>

    esp8266esp32区别是什么

    的内存选项,包括最小512KB的RAM和最大16MB的闪存。 Wi-Fi和蓝牙 : ESP8266 :支持2.4GHz Wi-Fi。 ESP32 :支持2.4GHz Wi-Fi和蓝牙5.0,这使得ESP32
    的头像 发表于 08-19 18:16 4322次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266将无法正常工作。 1. ESP8266简介 ESP8266是一款由Espres
    的头像 发表于 08-19 17:28 621次阅读

    如何在RT-Thread系统下用ESP8266连上EMQX的公用服务器并完成数据收发?

    怎么RT-Thread系统下用ESP8266连上EMQX的公用服务器并完成数据收发?emmmmm,最好能提供一下构建过程之类的
    发表于 07-16 08:30

    求助,请问如何在RTOS SDK 1.5的PlatformIO IDE ESP8266实现MQTT

    ESP8266设备连接到 mqtt 代理。但 PlatformIO IDE 内置的 RTOS SDK 1.5 版本不支持 mqtt。此 SDK 没有 mqtt 示例。所以你能不能让我知
    发表于 07-08 06:22

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 981次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    6月6日杭州站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我们将在杭州举办RT-Thread混合部署线下workshop,瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到
    的头像 发表于 05-28 08:35 408次阅读
    6月6日杭州站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    5月16日南京站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    5月16日下午我们将在南京举办RT-Thread混合部署线下workshop,瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到
    的头像 发表于 05-01 08:35 326次阅读
    5月16日南京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    STM32、ESP8266MQTT连接阿里云物联网的串口通信异常解析

    STM32、ESP8266MQTT协议连接阿里云物联网平台时常见的串口通信异常介绍 构建物联网应用时,STM32、ESP8266MQTT
    的头像 发表于 04-19 17:19 1366次阅读

    RT-Thread混合部署Workshop北京站来啦!

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到
    的头像 发表于 04-19 08:34 413次阅读
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站来啦!

    4月25日北京站RT-Thread线下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到
    的头像 发表于 04-16 08:35 392次阅读
    4月25日北京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到
    的头像 发表于 03-27 11:36 775次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到
    的头像 发表于 03-27 08:34 485次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!