ESP8266自动配网 – WiFiManager库使用说明

位置导航: 首页 / 物联网教程 / 第3章 – 用C/C++开发物联网 / ESP8266应用技巧 / 本页

在我们开发物联网项目时,经常需要为ESP8266设置WiFi。在以往的课程内容里,我们的设置WiFi的方法是通过修改程序中的内容来实现的。

但是假如我们做好了物联网制作后送给朋友,而朋友不知道如何写ESP8266程序.这种情况下该如何来让不懂编程的朋友也能设置ESP8266的WiFi连接呢?

我们可以利用一款非常好用的ESP8266第三方库:WiFiManager库。以下是该库的基本信息:
作者:tzapu,tablatronix
GitHub:https://github.com/tzapu/WiFiManager
网盘下载:https://wwa.lanzous.com/ibBlTe9jaif
太极创客汉化版:https://github.com/taichi-maker/WiFiManager

WiFiManager库使用说明

1 WiFi配置流程

ESP8266-WiFiManager-工作流程
ESP8266-WiFiManager-工作流程

2 WiFi配置示例程序

预备程序 – 清理ESP8266储存的WiFi连接信息
ESP8266的WiFi设置是储存在它的闪存系统中的。因此在启动ESP8266并连接WiFi时,它都会尝试使用闪存系统中储存的信息来进行WiFi连接。

在开始讲解如何使用WiFiManager库来配置ESP8266的WiFi设置前,我们需要首先清除ESP8266的WiFi连接信息,这样才能看到WiFiManager库的工作效果。(如果ESP8266刚一启动就自动成功连接WiFi了,那么WiFiManager库是不会发挥作用的。)

我们可以使用以下示例程序清除ESP8266的闪存中所存储的WiFi连接信息。

在此程序的第27行位置,使用了wifiManager.resetSettings()来实现清除ESP8266的闪存中所存储的WiFi连接信息这一操作。

WiFiManager网络配置示例程序

以下示例程序使用了WiFiManager来实现WiFi网络配置。

WiFiManager网络配置测试

以下示例程序再《零基础入门学用物联网教程》的3-4-1 ESP8266网络客户端基本操作这节课中的第一段示例程序基础上,添加了WiFiManager库配置WiFi网络功能。其目的是为了测试WiFiManager库所配置的ESP8266的确可以连接到互联网,并从互联网上的网络服务器获取信息。

WiFiManager库汉化和定制说明

1 WiFiManager库的汉化说明

WiFiManager库的WiFi设置页面是英文的,这对于很多对英语不熟悉的人不是很友好。为了解决这一问题,我们团队的CYNO朔将该WiFi配置页面进行了汉化。假如您想要使用此汉化后的WiFiManager库,可以通过以下链接进行下载:

WiFiManager库(太极创客汉化版):https://github.com/taichi-maker/WiFiManager

以下是WiFiManager库汉化后的界面效果:

ESP8266-wifimanager-汉化界面
ESP8266-wifimanager-汉化界面

2 定制修改WiFiManager库的WiFi设置页面

假如您想要自己定制WiFiManager库的WiFi设置页面,可以修改库文件中的“WiFiManager.h”。该文件开始部分,有一系列字符串数组,如下所示:

以上这一系列文字信息定义了WiFi配置页面的内容。通过调整以上内容,我们可以修改Wifi配置页面的外观样式和信息。举例来说,假如您希望修改连接页面的按钮文字,那么可以将以上程序中const char HTTP_PORTAL_OPTIONS[]修改为以下内容:

这一修改将会把WiFi配置页面的按键内容改为中文。也就是在这届内容前面部分您所看到的WiFi配置页面效果。