记录一下基于STC89C52RC单片机对ESP-01S无线WiFi模块的开发。
一、对ESP-01S模块的测试
1、首先利用CH340(USB转TTL)模块实现ESP-01S模块与PC机的通信,这样就可以通过串口调试助手对ESP-01S模块发送AT指令进行测试。
2、ESP-01S模块的默认波特率一般是115200,打开串口,依次发送以下AT指令对ESP-01S模块进行测试(AT指令需新行发送):
AT+UART=9600,8,1,0,0------设置ESP-01S模块的波特率与单片机保持一致,方便后续开发。
AT+RST------设置好波特率后重启,可能需要修改波特率重新打开串口,这样波特率后面就不用再次设置了。
AT+CWMODE=3------设置ESP-01S模块为设备和路由双模模式。(本章内容的开发是基于ESP-01S模块作为设备的开发)
AT+CWJAP="iQOO Neo8 Pro","iqooneo8pro"------设置ESP-01S模块连接WiFi(内容换成实际的WiFi名和密码)
以上AT指令发送成功之后,将PC机连接同一个WiFi,并通过网络调试助手,将PC机设置为TCP服务器,然后再发送以下AT指令:
AT+CIPSTART="TCP","192.168.127.23",8880------设置ESP-01S模块连接服务器(内容换成实际的PC机IP地址和本地端口号)
AT+CIPMODE=1------设置ESP-01S模块通过WiFi与PC机的数据传输方式为透传模式。
AT+CIPSEND------设置ESP-01S模块为数据发送模式,设置成功后就可以实现ESP-01S模块通过WiFi与PC机进行数据传输。
发送“+++”(不需要发送新行)则可以退出数据发送模式,进入AT指令模式,实测需要发送两次“+++”。
(根据测试,后面利用单片机对ESP-01S模块进行开发时用到的AT指令执行成功后,ESP-01S模块会返回“OK”,可以作为AT指令执行成功的反馈)
二、将ESP-01S模块接入STC89C52RC单片机进行开发
开发功能:利用ESP-01S模块,实现STC89C52RC单片机通过WiFi网络与PC机(网络调试助手)进行数据传输。
功能实现:
1、将PC机连接同一个WiFi,并通过网络调试助手,将PC机设置为TCP服务器。
2、将ESP-01S模块接入STC89C52RC单片机,上电。
3、利用网络调试助手接收或发送数据,实现与单片机与PC机的数据传输,控制LED等的亮灭。
三、代码分享
写代码的过程中可以利用白盒测试进行调试。