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上订阅了该主题,就可以接收到数据并显示,如下:

相关推荐
楼台的春风5 小时前
【MCU驱动开发概述】
c语言·驱动开发·单片机·嵌入式硬件·mcu·自动驾驶·嵌入式
Moonnnn.5 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
日记成书6 小时前
物联网智能项目
物联网·学习
LS_learner6 小时前
小智机器人CMakeLists编译文件解析
嵌入式硬件·机器人
人类群星闪耀时7 小时前
物联网与大数据:揭秘万物互联的新纪元
大数据·物联网·struts
小鸡岛保安7 小时前
学习笔记-8MQTT-韦东山
stm32·物联网
暗碳7 小时前
stm32 74hc238流水灯
stm32·单片机·嵌入式硬件
1101 11018 小时前
STM32-温湿度上传OneNET项目
stm32·单片机·嵌入式硬件
余衫马8 小时前
ESP32-S3 实战指南:BOOT-KEY 按键驱动开发全解析
驱动开发·单片机·嵌入式硬件
文军的烹饪实验室11 小时前
处理器架构、单片机、芯片、光刻机之间的关系
单片机·嵌入式硬件·架构