了解SmartConfig与Airkiss一键配网,给8266一键配网上云端,当你拿到一块WiFi模块,如果需要连上网络,则需要将SSID名称、密码设置到模块当中。一般有几种方式:
一种就是通过串口接到输入设备,通过串口输入AT指令(SSID名称和密码);
一种就是设备提供一个AP热点,手机连上这个热点,然后通过手机把家里的WiFi的SSID和密码配置到设备上,最后手机再切换回家里的WiFi,这种配网成功率可以说是100%。
通过SmartConfig技术配置,微信的AirKiss、ESP8266的esptouch,这是最智能的配网方式。但是缺点也很明显,那就是配网成功率未达到100%,同时SmartConfig还得另外安装一个app。SmartConfig最佳的应用场景就是你开发的产品需要搭配App来使用。
接下来我们通过实例来做一个小DEMO
打开零知开发工具,界面如下:
电脑连接8266WiFi模块
/**
* by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
* -- 零知开源,让电子制作变得更简单! --
* 作者:云上上云
* 时间: 2019/06/01 13:39
* 说明: 一键配网
**/
#include <ESP8266WiFi.h>
void smartConfig()
{
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig等待连接");
delay(2000);
// 等待配网
WiFi.beginSmartConfig();
while (1)
{
Serial.print(".");
delay(500);
if (WiFi.smartConfigDone())
{
Serial.println("SmartConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.setAutoConnect(true); // 设置自动连接
break;
}
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void setup()
{
Serial.begin(115200);
smartConfig();
}
void loop()
{
delay(100);
Serial.println("配置成功");
}
2.验证代码,连接esp8266,上传程序,打开调试,串口选择1152000,窗口会不断打印一个一个的点,等待连接
3.然后使用ESP8266提供的App ESPTouch 或者 SmartConfigAPP。(在Github下载,也可以点击本文最后下载),进行如下操作
4.验证成果,当手机端配置成功,出现如下结果
app下载
一键配置8266.zip(点击下载)