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

记录:ESP8266使用AT指令连接阿里云实现数据的上传和下发以及温湿度功能全部过程。

一、ESP8266配置MQTT固件

1. ESP8266-01模块与USB-TTL模块的连接方法

ESP8266-01模块与USB-TTL模块的连接方法
ESP8266-01USB-TTL CH340
3V3(要求高,稳定,否则AT无反应等)3V3
RST悬空(不接)
EN3V3(可以串个电阻)
TXRX
RXTX
IO0GND(为了烧写固件)
IO2悬空(不接)
GNDGND

2.到官网下载固件包和烧写软件

(1)、 AT固件包:AT固件汇总 | 安信可科技 (ai-thinker.com)

官网:docs.ai-thinker.com/esp8266/

根据需求自己选择,我选的AT包如下图:

(2)、AT固件包烧写软件:开发工具清单 | 安信可科技 (ai-thinker.com)

找到烧写软件,如下图:

3.烧写AT固件

(1)、打开烧写软件,找到AT固件,软件配置,下载。

在此之前,可能有的ESP8266的波特率不是115200,而是9600,但烧录软件最低就是115200。可以通过下面这条AT指令设置为115200。(注意有的固件他的命令可能不一样,找到自己对应的即可。本文大部分AT指令可以在乐鑫官网找到,AT 命令集 — ESP-AT 用户指南 文档 (readthedocs-hosted.com))

AT+CIOBAUD=115200

具体烧写操作如下图所示:

(2)、点击start开始下载,出现等待上电复位字样,此处将3V3电源进行拔插即可下载,如下图。

开始下载​​​​​

将电源拔掉又插上。

下载中

下载完成

固件烧录完毕,这样就可以用AT固件中的MQTT指令连接阿里云了,不必在去考虑什么解析库、MQTT-API等等,使项目变得简单。一条AT命令就可以完成服务器的连接、消息的订阅、消息的发布等等(这是MQTT协议,举个栗子:客户端A订阅了“王者农药”这样的主题(topic),另一个客户端B发布了一条以“王者农药”为主题,内容为“国服关羽请战”的消息,那么服务器会将这条消息转发给客户端A) 。

二、配置阿里云平台

1.创建产品和设备

先说一下:产品和设备的关系。产品是设备的种类。例如小汽车与特斯啦汽车,小汽车就是产品,特斯啦汽车就是设备。一个产品可以有多个设备。

(1)、配置产品和设备

具体步骤如下图:

1.找到阿里云物联网平台。找不到就搜索。

2.点击管理控制台。

3.点击公共实例。

4.创建产品。

5.编辑产品详细信息。

6.添加设备。

7.点击完成。

8.产品与设备创建完成。

三、ESP8266-01利用AT指令连接该设备。

1.拔掉IO0,现在烧写完就不用了,3V3电源拔掉在接上,相当于重启,其他不要动。

2.AT命令连接手机热点(2.4GHz)。

AT+CWMODE=1 //设置ESP8266为station模式,用来连接热点 AT+CWJAP="tcy","1878127692" //“热点名”,“热点密码”

3.AT命令配置MQTT相关信息。

打开阿里云设备页面,点击查看。

再点击MQTT连接参数的查看。

4.AT命令配置ESP8266的MQTT的用户参数。

AT+MQTTUSERCFG=0,1,“NULL”,“username”,“passwd”,0,0,“”;这个用户名和密码来自上一步阿里云的MQTT连接参数中。NULL的位置用来写客户ID,但这个AT有长短限制,写不了,下一条AT指令解决这个问题。

AT+MQTTUSERCFG=0,1,"NULL","ESP8266&k0sk8St9rwZ","9ea7df469b808007366afcb398f253b85fa462cf7d94ae43989771b373497a12",0,0,"" //0,1,“NULL”,“username”,“passwd”,0,0,“”

AT+MQTTCLIENTID=0,"clientId" ;将客户ID配置上,客户ID来自上一步阿里云的MQTT连接参数中。(注意,其中的逗号要加反斜杠)。

AT+MQTTCLIENTID=0,"k0sk8St9rwZ.ESP8266|securemode=2\,signmethod=hmacsha256\,timestamp=1706516241727|"

总体效果如下:

出现OK即可,这样MQTT的用户信息(三元组)就配置好了 。

5.AT命令连接阿里云服务器

AT+MQTTCONN=0,"mqttHostUrl",1883,1;这个mqttHostUrl来自上上一步阿里云的MQTT连接参数中,1883是MQTT的端口号,来自上上一步阿里云的MQTT连接参数中。

AT+MQTTCONN=0,"iot-06z00fn96hud09a.mqtt.iothub.aliyuncs.com",1883,1

这一步执行成功后,就连接上设备了,阿里云会显示设备在线(之前是未激活)。

四、发布和订阅数据

1、阿里云发布数据到ESP8266

之前说过,发布需要主题(topic),这个主题的位置如下图:

点击产品,再点击查看。

找到发布主题(topic),如下图:

使用AT命令让ESP8266订阅该主题,这样阿里云发布的数据ESP8266就可以收到。

AT+MQTTSUB=0,"topic",0; //订阅主题(topic)。其中的topic : /k0sk8y5eJp1/${deviceName}/user/get 中的${deviceName}是你的设备名称。

AT+MQTTSUB=0,"/k0sk8y5eJp1/ESP8266_No.1/user/get",0

发送成功后,在阿里云设备 ESP8266_No.1处点击查看。

在点击topic列表,可以看到已经订阅的topic,如下图。

点击右边的发送消息,编辑好信息,发送即可,如下图所示。

ESP8266会收到信息,如下图所示。

2.ESP8266上传数据到阿里云

找到刚刚的topic位置,上面找过,这里不再找了,如下图所示。

这个是上传数据到阿里云的发布topic。

使用AT指令发布数据到阿里云。

AT+MQTTPUB=0,"topic","data",0,0 //发布信息。topic: /k0sk8y5eJp1/${deviceName}/user/update/error 中的${deviceName}是你的设备名称。data :要发的数据 ,例如 :粤嵌--帖工--123456789。

AT+MQTTPUB=0,"/k0sk8y5eJp1/ESP8266_No.1/user/update/error","粤嵌--帖工--123456789",0,0

在阿里云查看信息。

五、温湿度功能

1.添加功能,具体步骤如下图所示。

下图有个标识符“temperature”,后面会用到。功能类型是属性。

2.找到上传属性的topic,刚刚创建的功能属于属性行列。如下图所示。

3.利用AT指令上传温湿度到阿里云:

AT+MQTTPUB=0,"topic","报文",0,0//topic : /sys/k0sk8y5eJp1/${deviceName}/thing/event/property/post,其中的${deviceName}是你的设备名称 , 报文:{params:{\"temperature\":66.6}} ,其中的temperature是你刚刚创建功能中的标识符,66.6是温度。

AT+MQTTPUB=0,"/sys/k0sk8y5eJp1/ESP8266_No.1/thing/event/property/post","{params:{\"temperature\":66.6}}",0,0

4.上传成功。

帮到你的话记得点赞哦。

http://www.jsqmd.com/news/581602/

相关文章:

  • 快速构建开源项目登录页:用快马平台十分钟生成openclaw101官网登录入口原型
  • 小象超市卡回收方法汇总与操作示范 - 淘淘收小程序
  • Windows 10终极清理:一键彻底卸载OneDrive完整指南
  • webgl-noise未来路线图展望:探索噪声算法的最新发展趋势
  • 4大维度全面掌控Cyber Engine Tweaks:打造专属赛博朋克2077体验
  • 终极指南:如何使用web3.py构建强大的DAO治理系统
  • 基于Qt与Windows HID输入重定向的实时按键映射引擎:QKeyMapper技术深度解析
  • 拓朋N56对讲机:边防哨所全天候通讯守护者
  • VOICEVOX未来展望:语音合成技术的发展趋势与路线图
  • React Native Boilerplate终极指南:如何快速配置Ky HTTP客户端实现后端API集成
  • 2026年幻彩超薄灯箱专业厂商实力分享,广州亮欣光电广告器材为何获行业认可 - 资讯焦点
  • Beautiful Jekyll图片管理终极指南:打造视觉吸引力网站的最佳实践
  • deepseek怎么导出成图片
  • Netbird iOS客户端连接问题分析与解决方案
  • Rust开发工具链:Awesome Rust中的生产力提升利器
  • 一键定位手机号码:免费开源的地理位置查询神器
  • NVIDIA Profile Inspector 终极法律合规指南:开源许可与知识产权深度解析
  • 告别复杂设置!这款开源IPTV播放器让家庭观影回归简单
  • 终极Weblate用户管理指南:团队协作与权限分配的完整解决方案
  • 使用conda安装配置cuda的编译环境 —— conda安装nvcc
  • BK3432芯片SPI方式烧录固件方法
  • 平价洗护产品外卖哪里买?美团松鼠便利藏着高性价比洗护好物 - 资讯焦点
  • Qwen3-VL-8B优化技巧:BF16精度优化,4090显卡性能提升
  • 功能测试知识总结
  • 3步告别数据丢失烦恼:GetQzonehistory数据备份新方式
  • 终极语音控制集成:让NVIDIA Profile Inspector听懂你的命令
  • 轰动全国的“327国债期货事件”的四大赢家后来都怎么样了?
  • 突破Mac网络限制:Android USB共享驱动HoRNDIS全攻略
  • LoRA训练助手在机器学习竞赛中的应用策略
  • 白银希望职业技术学院招生网站情况如何,学院实力及教师科研奖励揭晓 - 工业推荐榜