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

相关推荐
lantiandianzi1 小时前
基于单片机的无线宠物自动喂食系统设计
单片机·嵌入式硬件·宠物
电子设计师1 小时前
【Proteus仿真】基于51单片机的宠物喂食系统设计
嵌入式硬件·51单片机·proteus
OH五星上将1 小时前
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【用户态内存调测】
嵌入式硬件·移动开发·harmonyos·内存管理·openharmony·鸿蒙开发·liteos-a
成都古河云2 小时前
智慧交通,智能消防系统助力高铁站安全
大数据·人工智能·物联网·安全·信息可视化·区块链
辰哥单片机设计2 小时前
FSR402薄膜压力传感器详解(STM32)
stm32·单片机·嵌入式硬件·传感器
合宙LuatOS4 小时前
开机容易关机难?合宙Air201资产定位模组LuatOS的PWRKEY控制来实现!
嵌入式硬件·物联网·硬件工程·pcb工艺
黄油味椭圆4 小时前
基于STM32的智能花盆控制系统设计-设计说明书设计
stm32·单片机·嵌入式硬件
lantiandianzi5 小时前
基于单片机的智能家居控制系统设计
单片机·嵌入式硬件·智能家居
QQ19284999066 小时前
单片机毕业设计基于单片机寻迹巡线避障智能小车系统设计
单片机·嵌入式硬件·课程设计