完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、SmartConfig
2、连接固定的路由 在程序中写死; 例如: void ESP8266_Init_Fixed_WiFi(void) { ESP8266_Clear(); /* AT测试 */ printf("0. ATrn"); ESP8266_SendCmd("ATrn", ""); delay_ms(500); /* 重启 */ printf("1. RSTrn"); ESP8266_SendCmd("AT+RSTrn", ""); delay_ms(500); /* 设置WiFi模式 * 1:Station 模式 * 2:SoftAP 模式 * 3:SoftAP+Station 模式 */ printf("2. CWMODErn"); while(ESP8266_SendCmd("AT+CWMODE=1rn", "OK")) delay_ms(500); /* 连接路由 */ printf("3. CWJAPrn"); while(ESP8266_SendCmd(ESP8266_WIFI_INFO, "OK")) delay_ms(500); /* 建立TCP连接 */ printf("4. CIPSTARTrn"); while(ESP8266_SendCmd(ESP8266_TCP_INFO, "CONNECT")) delay_ms(500); printf("5. ESP8266 Init OKrn"); } #define ESP8266_WIFI_INFO "AT+CWJAP="FAST_E162","12345678"rn" #define ESP8266_TCP_INFO "AT+CIPSTART="TCP","www.bilibili.com",80rn" 例子中: 第三步实际发送的指令是 AT+CWJA,"12345678"rn 在一对双引号内要表示双引号要加转义字符; WiFi名称及密码,连接的服务器及端口需要修改,这里只是作为例子; 3、自动连接上一次配置的路由 void ESP8266_Init_Disconnected(void) { ESP8266_Clear(); printf("1. RSTrn"); ESP8266_SendCmd("AT+RSTrn", ""); delay_ms(500); ESP8266_Clear(); while(1) { if(strstr((char *)esp8266_buf, "GOT IP")) break; delay_ms(500); } /* 建立TCP连接 */ printf("2. CIPSTARTrn"); while(ESP8266_SendCmd(ESP8266_TCP_INFO, "CONNECT")) delay_ms(500); } 发送完命令后的延时不可少,可以适当调小,自行调试; 重启后会自动连接上次配置过的WiFi,如果该WiFi可用; 连接成功后ESP-01S会通过串口发送包含 GOT IP 字符串; STM32通过检测串口接收到的数据有无包含该字符串来判断有无连上WiFi; 使用时可以注释掉 printf(); 语句,这里只是方便串口调试。 |
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
416 浏览 1 评论
273 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
243 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
607 浏览 2 评论
631 浏览 2 评论
1359浏览 9评论
36浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
42浏览 3评论
38浏览 3评论
KEIL MDK为什么无法debug library中的代码?
77浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-25 22:36 , Processed in 0.702403 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号