新手小白必看——基于STM32+ESP8266模块连接阿里云平台读取传感器数据(从0到1,包教包会)

这篇具有很好参考价值的文章主要介绍了新手小白必看——基于STM32+ESP8266模块连接阿里云平台读取传感器数据(从0到1,包教包会)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言             本次我们学习一下STM32F103驱动ESP8266去连接阿里云的实操过程,在次过程中我会详细讲解开发过程中遇到的问题以及面对问题的解决,希望大家在这篇博客里面也有所收获。

一、ESP8266WIFI模块的固件库刷新(MQTT)

1.固件库刷新

1.1 固件库烧录下载

1.2 固件烧录工具下载:

1.3 固件库下载

1.4 刷新ESP8266的固件库

2.固件库AT-MQTT指令测试(串口)

二、单步手动连接到云平台

1.阿里云平台设备产品的创建

2. 使用MQTT指令连接到云平台

3. 订阅平台消息(设备上传/接收,平台接收/下发)

总结:以上就是这篇博客的全部内容了,内容比较多,感谢大家耐心看完,关于云平台和设备交互的操作还有很多,比如OTA远程升级,远程配置等,这些我后面都会一一更新,希望大家能在这篇博客中有所收获,学会初步的去使用物联网平台,后面的章节我会讲蓝牙的基本流程(大致与wifi大同小异),欢迎大家问题留言讨论,谢谢!

点赞关注收藏三连,一起学习物联网单片机开发,互相学习交流。


前言     
        本次我们学习一下STM32F103驱动ESP8266去连接阿里云的实操过程,在次过程中我会详细讲解开发过程中遇到的问题以及面对问题的解决,希望大家在这篇博客里面也有所收获。

        本章会从以下的几个方面去进行实操

  1. ESP8266WIFI模块的固件库刷新(MQTT)
  2. ESP8266的AT指令测试、MQTT指令测试
  3. 阿里云设备的创建以及MQTT相关的连接参数的指令测试
  4. 获取传感器的数据到云平台,实现设备与云平台的交互

本次实验板子使用的是野火霸道V2(STM32F103ZET6),stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

我这有全套资料,需要资料的小伙伴可以@我分享给你们。

本博客内容原创,创作不易,转载请注明


一、ESP8266WIFI模块的固件库刷新(MQTT)

1.固件库刷新

        本次使用的模块是ESP8266(-01,-01s型号都适用),接线不用多说,接下来我们来讲解下固件库的刷新,出厂自带MQTT固件库的小伙伴可以跳过去看后面了,出厂没有MQTT库的小伙伴则需要下载自己flash大小的固件库,这样才可以使用MQTT指令去完成后面的操作。

1.1 固件库烧录下载

        在对固件库进行刷新下载的时候,同学们应该去弄清楚自己的模块Flash究竟是多大的,1M还是4M(可以找厂家去询问,个别的模块可以使用AT+RST的指令去查看)

        弄清楚了Flash大小,我们接下来就可以对模块进行一个MQTT固件库的更新了,具体操作如下:

1.2 固件烧录工具下载:

这里提供两种烧录工具的下载方式:

①:安信可科技官网的烧录工具

开发工具清单 | 安信可科技 (ai-thinker.com)https://docs.ai-thinker.com/tools

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

②:ESP一键烧写工具(需要这个方法的同学评论区@我,找我拿。我在这里不多赘述)

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

1.3 固件库下载

安信可科技官网的固件库(1M和4M都有)

AT固件汇总 | 安信可科技 (ai-thinker.com)https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

1.4 刷新ESP8266的固件库

1)打开下载好的烧录工具,按照一下步骤进行操作

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

提示:如果按下START,一直显示正在等待,那么将你WIFI模块的RST引脚先接上GND再接上3.3V做一个复位操作即可成功烧录

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

至此,我们以及完成了MQTT固件库的更新,下面我们去进行AT指令的测试

2.固件库AT-MQTT指令测试(串口)

更新好固件库后,我们编写一个简单的程序来测试AT指令,讲串口1和串口2(wifi的串口)进行一个数据的交互即可。(需要的@我拿)

1)重置wifi模块

AT+RST
模块因回复OK,否则需检查

2)设置模块为STA模式

AT+CWMODE=1

3)使模块连接上wifi

AT+CWJAP="WIFI名称","WIFI密码"

注意:若你的模块连接不上wifi,回复EEROR,首先先判断你的wifi是否是2.4G的频段,5G频道ESP8266不可用

4)检查IP地址,看看是否正确连上wifi

AT+CIFSR

应回复:+CIFSR:STAIP,"192.168.1.xxx"
+CIFSR:STAMAC,"48:xx:xx:xx:xx:xx" 
 xx:是自己的wifi属性

OK

5)设置时区为:中国早上八点

AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"

到此,ESP8266的基本配置以及完成,下面就是MQTT协议连接上云平台的操作。

二、单步手动连接到云平台

1.阿里云平台设备产品的创建

具体的查看

创建阿里云设备(实操超详细)_阿里云设备激活_小阳先生的宝库的博客-CSDN博客

这里有详细的设备创建流程。

2. 使用MQTT指令连接到云平台

在操作前点开自己的云平台——产品——选择设备——查看MQTT连接参数

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

1) 设置MQTT的登陆用户名与密码

AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,""

2) 设置MQTT的ClientID

AT+MQTTCLIENTID=0,"clientId"

注意:在自己的clientId中,需要在每个逗号前面加一个\符号,串口数据才能正确发送识别,否则会一直回复EEROR

3)设置MQTT接入地址

AT+MQTTCONN=0,"mqttHostUrl",port,1

完成以上三步,设备就连接到了云平台(设备更新为在线)

3. 订阅平台消息(设备上传/接收,平台接收/下发)

订阅Topic是指在一个订阅服务中,用户可以选择关注或订阅感兴趣的话题或主题。
通过订阅Topic,用户可以更加精准地获取自己的内容,提高信息的质量和效率。

订阅Topic(类似于公众号)我发的他收得到  他发的我也收得到

1)订阅平台消息

AT+MQTTSUB=0,"/ProductKey/DeviceName/user/get",1

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

完成订阅后,点击Topic列表,会显示已经订阅的

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

点击发送消息,串口会收到你发的消息

2)设备上报数据

AT+MQTTPUB=0,"/sys/ProductKey/DeviceName/thing/event/property/post","{params:{\"标识符\":你想要设置的数值}}",0,0

 这里的标识符和你自己的设置数值,是你自己创建的,在产品的功能定义板块:

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

发送指令成功,返回OK后,可以去云平台查看数值是否上传成功:

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机数据更新成功,如果想看发了多少条数据,可以点击在线调试中的日志去观察

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

3)云平台对设备的数据的修改(这里我们用LED灯为例子)

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

这里点击设置:红灯亮,蓝灯灭,STM32串口接收如下:


+MQTTSUBRECV:0,"/sys/ProductKey/DeveiceName/thing/service/property/set",110,{"method":"thing.service.property.set","id":"129111869","params":{"LED_BLUE":0,"LED_RED":1},"version":"1.0.0"}

 随后STM32通过ESP8266接收到云平台的命令并响应,红灯亮,蓝灯灭。

串口测试没问题,下载代码到STM32,打开串口调试助手:

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机

对数据进行解析处理(代码太多,需要的@我找我拿源码即可,评论区@我)

也可以GIT下载代码

总结: 以上就是这篇博客的全部内容了,内容比较多,感谢大家耐心看完,关于云平台和设备交互的操作还有很多,比如OTA远程升级,远程配置等,这些我后面都会一一更新,希望大家能在这篇博客中有所收获,学会初步的去使用物联网平台,后面的章节我会讲蓝牙的基本流程(大致与wifi大同小异),欢迎大家问题留言讨论,谢谢!

stm32使用esp8266,STM32,stm32,嵌入式硬件,单片机文章来源地址https://www.toymoban.com/news/detail-858649.html

点赞关注收藏三连,一起学习物联网单片机开发,互相学习交流。  

到了这里,关于新手小白必看——基于STM32+ESP8266模块连接阿里云平台读取传感器数据(从0到1,包教包会)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • STM32使用ESP8266模块AT指令连接心知天气API获取天气信息

    由于之前使用STM32单片机来开发一些物联网的小项目,接触到了WIFI模块ESP8266,所以写下来记录一下。 本文主要介绍的是STM32通过发送AT指令集来控制ESP8266 WIFI模块连接WiFi并与心知天气API建立TCP连接获取天气信息。 ESP8266我使用的是正点原子的ATK-ESP8266,已经提前烧录好AT指令集

    2023年04月08日
    浏览(58)
  • 基于STM32+FreeRtos+ESP8266+MQTT连接阿里云

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

    2024年02月06日
    浏览(38)
  • STM32F103C8T6+ESP8266WIFI+DHT11模块连接巴法云

    1.MCU:STM32F103C8T6 2.ESP8266:正点原子WIFI模块 3.串口模块:正点原子串口模块 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: ESP8266固件刷写 我用的是安信可的固件,可以在官网上下载。正点

    2023年04月27日
    浏览(61)
  • 从零开始制作一个基于STM32和ESP8266-01S的智能时钟(3)ESP8266-01S模块(上)

    提示:这里可以添加本文要记录的大概内容:之前在忙着,现在继续补充完整,然后这次的ESP-01S的典型应用图是没有连接RST引脚的,但是我的项目是用到了RST引脚的,所以需要使用跳线连接一下RST引脚。 本项目需要基础的stm32单片机知识,这里我推荐 链接:https://www.bilibil

    2024年02月03日
    浏览(43)
  • ESP8266 模块简易驱动程序 -- 基于 STM32F103 及原子云固件实现云功能

    本简易驱动程序是基于 正点原子 的ESP8266模块,主要用于实现连接 原子云 的功能。MCU选用的是 STM32F103ZET6 注:原子云固件添加了 AT+ATKCLDSTA 和 AT+ATKCLDCLS 两条指令 用于连接正点原子自家的原子云平台,原厂的AT指令不受任何影响 本程序主要实现了如下功能: 设定工作模式 连

    2023年04月23日
    浏览(40)
  • STM32系列(HAL库)——使用ESP8266-01S物联网模块连接Onenet云平台上报DHT11温湿度

    本篇主要讲解如何使用ESP8266-01S物联网模块连接Onenet云平台,并上报DHT11模块的温湿度数据。本文单片机主控采用STM32F405RGT6,使用其他主控的话基本要求有2个串口,一个串口用于调试使用,另一个用于ESP模块通讯。 1.软件 CubeMX Keil5 串口调试助手 Onenet云平台账户 2.硬件 STM32开

    2024年02月02日
    浏览(61)
  • STM32+esp8266,让你的STM32开发板连接网络-----esp8266

    分享一下,STM32开发板连接网络的第一种方法:连接esp8266。 esp8266与STM32利用串口通信连接,esp8266连接网络,把收到的数据通过串口的方式传输给STM32,之后STM32接收到消息做出对应的反应。 使用到的开发板如图:esp-12和正点原子stm32f103zet6. 首先,我们先掌握一下什么事串口通

    2024年02月02日
    浏览(38)
  • STM32+ESP8266上传温湿度到onenet(HTTP)新手易懂指南

    哎,上云很简单的,但是我花了好几天因为各种莫名其妙的错误耽误了大量时间。所有很有必要总结一下 咳咳。但是我也比新手好不了多少, 以免误导新人,只教操作,理由核心不阐述,自己csdn找。 一、首先创建个HTTP协议onenet云平台(不会,就csdn里找,一堆堆) 对于初学

    2024年02月05日
    浏览(40)
  • STM32---WIFI模块ESP8266

    模块连接时基于串口方式连接,其模块与电脑(服务器)之间数据的发送与接收也是基于串口。 mode=1 :Station模式(连接到WIFI) mode=2:AP模式(自己作为WIFI源供其他连接) mode=3:AP+Station模式(以上两者模式的合并) 透传模式就是单片机通过串口形式与模块连接,而模块与上位

    2024年02月03日
    浏览(51)
  • 入门小白:STM32hal库实现ESP8266与手机通信(不定长数据收发和ESP8266使用的一些问题)

    目录 前言 一、stm32cubeMX的串口配置 二、空闲中断+dma接收 三、ESP8266.c和ESP8266.h ESP8266.h ESP8266.c 注意事项 四、与手机通信例程 步骤:  例程代码main.c 运行结果 五、相关问题 总结 相关的app和源码         前提: 1.掌握串口通信和ESP8266的使用方法 串口通信:单片机串口通信

    2024年02月07日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包