51系列单片机---ESP-01S无线WiFi模块的开发(路由服务器模式)

avatar
作者
猴君
阅读量:4

记录一下基于STC89C52RC单片机对ESP-01S无线WiFi模块的开发(路由服务器模式)。

ESP-01S模块的路由服务器模式和设备模式开发思路相似,开发之前对ESP-01S模块的测试和波特率修改是一样的,差别只在于AT指令的不同。

记录一下代码编写的逻辑和过程:

1、用到的AT指令(发送AT指令时需新行发送):

AT+CWMODE=3------设置ESP-01S模块为设备和路由双模模式。(本章内容的开发是基于ESP-01S模块作为路由和服务器的开发)。指令执行成功反馈“OK”。

AT+CIPMUX=1------设置ESP-01S模块可以被多个设备连接。指令执行成功反馈“OK”。

AT+CIPSERVER=1------设置ESP-01S模块建立服务器。指令执行成功反馈“OK”。

AT+CIPSEND=0,48------设置ESP-01S模块向0通道发送48个字节。指令执行成功反馈“OK”。

2、代码逻辑:

单片机发送“AT+CWMODE=3”指令。

等待“OK”反馈。

收到“OK反馈”后,LED1闪烁,发送“AT+CIPMUX=1”指令。

等待“OK”反馈。

收到“OK反馈”后,LED1闪烁,发送“AT+CIPSERVER=1”指令。

等待“OK”反馈。

收到“OK反馈”后,LED1闪烁。

等待“0,CONNECT”反馈。

(将电脑连接ESP-01S模块发出的WiFi信号,WiFi名字为“AI-THINKER_XXXXXX”,打开网络调试助手将PC机设置为TCP设备,输入本地主机地址(经过多次测试一般是192.168.4.2)和远程主机地址(经过多次测试一般是192.168.4.2:333)后,连接ESP-01S模块服务器,连接成功后,会向单片机反馈“0,CONNECT”。)

收到“0,CONNECT”反馈后,LED1常亮。

循环发送“AT+CIPSEND=0,48”指令和向PC机(网络调试助手)发送“I am sending you a string every three seconds.\r\n”字符串。

在循环发送字符串的过程中接收PC机(网络调试助手)发送到单片机的“open”和“clos”字符串以控制LED2的亮灭。

3、代码Gitee

在ESP-01S模块的路由服务器模式开发中,“AI-THINKER_XXXXXX”WiFi信号会时常中断和消失,或者PC机检测不到这个WiFi,遇到这种情况只能将单片机重新上电,重新测试一次。

代码和网络调试助手的Gitee:51系列单片机项目: 基于STC89C52RC开发的项目 - Gitee.comicon-default.png?t=N7T8https://gitee.com/kiteleezz/51/tree/master/ESP-01S%E6%97%A0%E7%BA%BFWiFi%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BC%80%E5%8F%91%EF%BC%88%E8%B7%AF%E7%94%B1%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%A8%A1%E5%BC%8F%EF%BC%89

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!