这里小飞鱼按照ESP32的示例代码,实验一下wifi的自动配置功能。所谓的自动配置,就是不用提前将wifi的名称和密码写到程序里,这样可以保证程序在烧录上传后,可以通过手机端的软件来进行配置,可以避免反复修改代码,保证了程序的可移植性。
这里是自动配置wifi的代码例子:
#include "WiFi.h"
void setup() {
Serial.begin(9600);
WiFi.mode(WIFI_AP_STA);
WiFi.beginSmartConfig();
Serial.println("Waiting for SmartConfig.");
while (!WiFi.smartConfigDone()) {
delay(500);
Serial.print(".");
}
Serial.println("SmartConfig received.");
Serial.println("Waiting for WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("WiFi Connected.");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
}
void loop() {
}
将以上程序编译后连接单片机上传到ESP32中。打开串口监视器,端口9600。
在应用商店搜索下面这个软件Espressif Esptouch,安装后选择EspTouch,输入wifi的密码(默认连接的应该就是手机当前连接的wifi),点击确定后过几秒钟就会弹出连接成功的结果,并且会显示ESP32连接wifi后的ip地址。
在手机app显示连接成功后,在串口监视器中也可以看到连接wifi成功的消息,并且可以看到wifi连接的ip地址与刚才提示的ip一致,说明实验成功。
在实验中,手机app将填入的wifi密码通过UDP广播的形式进行广播,单片机在接收到密码后自动使用给出的密码和SSID进行网络连接。