STM32使用ESP-01S连接WiFi通过云平台与手机APP联动

ESP-01S测试

我们买回来ESP-01S模块之后,首先要对模块的好坏进行测试,是否能正常通过串口通信,是否能正常连接手机热点或WiFi,一般模块买回来默认出厂烧录了AT固件,如果我们需要使用一些特殊的协议(如MQTT协议)需要找到对应的固件进行烧录,这里要讲到的是通过AT指令连接巴法云,默认的固件满足需求,不需要重新烧录固件,如果需要烧录其他固件的操作可参考其他博客:

ESP8266-01s MQTT固件烧录_esp8266-01s烧录-CSDN博客

ESP-01S接线

这里我们可以通过使用USB转TTL跟ESP-01S进行连接,接线如下:

USB ESP
RX TX
TX RX
GND GND
3V3 VCC

正常只需要连接这四根线就能进行测试模块的好坏,其他接口用于下载模式的连接使用。

巴法云注册

巴法云的重要参数

什么是订阅和发布?

订阅和发布是一种消息通信模式。在该模式中,有两类参与者:发布者和订阅者。

发布者负责产生和发布消息,它们不关心消息是谁接收和处理的。发布者将消息发送到一个中心位置,通常称为消息队列或主题。它们有时也被称为发布/订阅中心。

订阅者负责订阅感兴趣的消息。它们告诉发布/订阅中心它们希望接收哪些类型的消息。一旦有消息与其订阅条件匹配,订阅者将接收到该消息。

订阅和发布模式的一个重要特点是解耦。发布者和订阅者之间没有直接的联系,它们之间通过发布/订阅中心进行通信。这种解耦使得发布者和订阅者可以独立进行扩展和改变,而不会影响彼此的功能。

订阅和发布模式在实践中广泛应用于各种场景,例如事件驱动系统、消息传递系统和分布式系统等。它提供了一种灵活和可扩展的方式来处理消息通信。

简单来说,单片机可以做订阅者也可以做发布者,单片机可以订阅云平台上的topic主题,如果其他订阅者(例如手机APP)有发布消息到云平台,云平台接收到消息之后,会将这个消息下发到所有的订阅者那里,这时单片机就会收到消息或者指令,单片机也可以是发布者,例如单片机采集一些传感器数据,然后通过ESP-01S联网上云,将采集到的数据发布(推送)到云平台,云平台收到数据之后就可以下发到所有订阅者那里,如果手机APP订阅了这个topic主题,APP上就会显示单片机采集到的数据。

ESP-01S联网上云

esp8266连接到usb调试工具,通过串口可以进行调试,以下步骤请顺序执行。

1、测试esp8266是否正常

复制代码
AT

正常返回:

复制代码
OK

2、 设置路由器模式 1 station模式 2 AP路由器模式 3 station+AP混合模式

复制代码
AT+CWMODE=3

正常返回:

复制代码
OK

3、 设置模块WIFI名称,WIFI密码(可以设置成自己的手机热点名称和密码)

复制代码
AT+CWJAP="newhtc","qq123456"

正常返回:

复制代码
OK

4、 开启透明传输模式

复制代码
AT+CIPMODE=1

正常返回:

复制代码
OK

5 、连接服务器和端口(固定的服务器网址和端口,不需要修改)

复制代码
AT+CIPSTART="TCP","bemfa.com",8344

正常返回:

复制代码
OK

6 、进入透传模式,下面发的都会无条件传输

复制代码
AT+CIPSEND

正常返回:

复制代码
>

7、 如果需要订阅主题,发送这个订阅指令,发送完订阅,控制台推送的话,8266就可以收到推送消息了(将私钥修改成自己注册的巴法云私钥,topic主题修改成自己创建的主题名称)

复制代码
cmd=1&uid=4d9ec352e0376f2110a0c601a2857225&topic=data

正常返回:

复制代码
cmd=1&res=1

8 如果需要推送指令,发布数据指令(这里同样修改uid私钥和topic主题)

复制代码
cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002&msg=#32#27.80#ON#

正常返回:

复制代码
cmd=2&res=1

9 发送心跳 ,发任意数据都相当于心跳,随意发点啥就行,60s内不发,连接就会断开,就收不到订阅消息了

复制代码
cmd=0&msg=ping

正常返回:

复制代码
cmd=0&res=1

10如果真的断开连接了,重新开始第五步连接就行

说明:支持发布订阅模式,第7条cmd=1为订阅,uid是用户私钥,控制台获取,topic是需要订阅的主题名称,控制台可以任意创建,字母/数字。

第八条cmd=2是发布消息指令,msg是需要发布的消息,发什么消息随意自定义即可。

手机APP制作

这里推荐这个up主的APP教学视频

我们通过网址在线设计:http://ai2.17coding.net/?locale=zh_CN#4846647255236608

进行APP设计,视频内容较多,按需学习。或者我们也可以通过下载一些软件进行离线设计,操作如下:app inventor离线版2021_巴法云 (bemfa.com)

注意:我们下载的手机AI伴侣和电脑的设计界面的版本要对应,不然可能调试不了

STM32通过ESP-01S联网上云

打开例程,修改一些参数(热点名称密码、用户私钥、订阅主题等)

STM32单片机通过ESP用TCP协议将采集到的传感器数据发布到云平台

采集到的手机如下:

云平台接收到数据后,会推送订阅了该主题的设备收到的数据,如果设计的手机APP上订阅了该主题,就可以接收到数据并显示,如下:

相关推荐
sramdram5 小时前
基于32位微控制器的FOC汽车水泵方案
单片机·嵌入式硬件·汽车·微控制器·32位微控制器
十月的皮皮8 小时前
stm20260720-从新手 C 到量产 STM32 工程:程序设计推导指南
c语言·开发语言·stm32·stm32cubemx·hal库
开发笔记-阿牛8 小时前
解析一款有意思的产品||CK6159A语音芯片设计的儿童专注力训练机-舒尔特玩具
stm32·单片机·嵌入式硬件·音频
玩转4G物联网9 小时前
FS800DTU 新品上线|免费使用 DMP 设备管理平台,支持远程批量配置 & OTA 升级
物联网·网络协议·tcp/ip·云平台·核心板·fs800dtu·iot管理平台
残影飞雪9 小时前
ESP32-C5下载烧录固件失败报错的原因
单片机·嵌入式硬件
鉴生Eric10 小时前
IoT基础设施产品商的未来:回归本质的三层能力
物联网
搞全栈小苏10 小时前
SIMetrix_simplis8.4安装教程——附安装包
stm32·单片机·嵌入式硬件·电力电子
MetrixAeroCore10 小时前
畜牧牛羊定位耳标物联网卡纽扣电池供电与休眠唤醒策略优化
物联网
智圣新创0111 小时前
存量团学系统效能跃升:智圣新创“青春科大”智慧团学平台二期升级的全周期建设参考
大数据·人工智能·物联网
qq_5739678211 小时前
STM32控制器
stm32·单片机·嵌入式硬件