如何在 Arduino ESP32 /ESP8266上使用 SmartConfig

释放双眼,带上耳机,听听看~!

一、简介

在之前的演示中,我们使用 WiFi 类连接到 WiFi 网络“WiFi.begin(ssid, password)”。这里我们使用“硬编码”的 ssid 和密码。
当我们将ESP32带到另一个WiFi网络时真的很不方便,我们必须根据新网络修改ssid和密码,重新编译和刷新代码。因此,TI 发明了一种称为“SmartConfig”的技术来克服这个问题。你可以在这里参考:
https ://community.particle.io/t/smart-config-the-missing-manual-now-available/442
现在这项技术也应用于 ESP32。为了进行 SmartConfig,需要智能手机或平板电脑(Android 或 iOS)连接到 WiFi 网络(你希望 你的ESP32 连接到该网络)并安装特殊应用程序。在此应用程序中,您只需提供 WiFi 网络的 ssid 和密码,以便应用程序可以使用、对其进行编码,然后通过空中广播(通过 UDP)编码的 ssid 和密码(在数据包格式下)。此时,ESP32 内置了一个特殊的软件,将捕获这些数据包,解码 ssid 和密码,并使用它们连接到 Wifi 网络。连接到 WiFi 后,ESP32 将使用 mDNS 向应用程序多播一条消息,以通知它已连接到 WiFi。
应用程序的源代码由乐鑫提供。手机APP可以在以下位置下载:

此应用程序也可在 App Store 上找到。您可以使用它来测试 SmartConfig 功能。
– 对于 Android,此应用程序可在名称“I OT_Espressif ”或其它应用程序“ ESP8266 SmartConfig ”下使用(适用于 ESP8266,但您可以将其用于 ESP32):

– 对于 iOS,此应用程序可在名称“ Espressif Esptouch”下使用:

二、硬件

除了ESP8266或ESP32开发板,不需要任何额外的硬件

三、软件

一些与 SmartConfig 功能相关的函数,也在 WiFi 类中:
– WiFi.mode(WIFI_AP_STA):将 ESP32 设置为 Station 模式(要运行 SmartConfig,必须将其设置为 Station 模式)
– WiFi.beginSmartConfig():启动 SmartConfig
– WiFi .smartConfigDone():检查 SmartConfig 是否完成
– 让我们为这个功能做一个简单的演示。我们使用安装了“ESP8266 SmartConfig”的Android智能手机和带有SmartConfig代码的ESP32。
从智能手机(连接到 WiFi)执行:
打开应用程序 ->填写 ssid 和密码,然后按 CONFIRM 按钮。
如何在 Arduino ESP32 /ESP8266上使用 SmartConfig
图:带有菜单的 ESP8266 SmartConfig 应用程序

四、Arduino代码

创建一个 Arduino 项目,另存为esp32smartconfig代码:
void setup() {
  Serial.begin(115200);
  /* Set ESP32 to WiFi Station mode */
  WiFi.mode(WIFI_AP_STA);
  /* start SmartConfig */
  WiFi.beginSmartConfig();

  /* Wait for SmartConfig packet from mobile */
  Serial.println("Waiting for SmartConfig.");
  while (!WiFi.smartConfigDone()) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("SmartConfig done.");

  /* Wait for WiFi to connect to AP */
  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() {
}
如何在 Arduino ESP32 /ESP8266上使用 SmartConfig
图:终端 SmartConfig 完成后,ESP32 通过 IP 地址加入 WIFI 网络
如何在 Arduino ESP32 /ESP8266上使用 SmartConfig
 图:从智能手机,ESP 连接到 WiFi 网络

给TA打赏
共{{data.count}}人
人已打赏
免费项目

ESP8266 数字收音机

2022-9-3 22:03:00

免费项目动态

(十八)ESP32:HTTP POST 请求

2022-9-3 23:19:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();