1、直接把账号密码写到程序中,每次上电都从程序中定义好的账号密码进行配对连接。
#include <ESP8266WiFi.h>
#define AP_SSID "xxx" //这里改成你的wifi名字
#define AP_PSW "xxxxxxxx"//这里改成你的wifi密码
void setup(){
//设置串口波特率,以便打印信息
Serial.begin(115200);
//延时2s 为了演示效果
delay(2000);
Serial.println("Setup start");
//启动STA模式,并连接到wifi网络
WiFi.begin(AP_SSID, AP_PSW);
Serial.println(String("Connecting to ")+AP_SSID);
//判断网络状态是否连接上,没连接上就延时500ms,并且打出一个点,模拟正在连接
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.println(".");
}
Serial.println("");
Serial.println("Connected, IP address: ");
//输出station IP地址,这里的IP地址由DHCP分配
Serial.println(WiFi.localIP());
Serial.println("Setup End");
}
void loop() {
}
2、一键配网(大家都叫airkiss)
将以下代码烧录到开发版中,会先进行配网,如果没有配网就会进入airkiss配网模式,这时候可以打开乐鑫信息科技公众号提供的一件配网工具,我的airkiss设备将自己手机连接的网络共享给开发板。
#include <ESP8266WiFi.h>
bool AutoConfig()//断电重连
{
WiFi.begin();
//如果觉得时间太长可改
for (int i = 0; i < 20; i++)
{
int wstatus = WiFi.status();
if (wstatus == WL_CONNECTED)
{
Serial.println("WIFI SmartConfig Success");
Serial.printf("SSID:%s", WiFi.SSID().c_str());
Serial.printf(", PSW:%s\r\n", WiFi.psk().c_str());
Serial.print("LocalIP:");
Serial.print(WiFi.localIP());
Serial.print(" ,GateIP:");
Serial.println(WiFi.gatewayIP());
return true;
}
else
{
Serial.print("WIFI AutoConfig Waiting......");
Serial.println(wstatus);//返回值一般为6说明未连接
delay(1000);
}
}
Serial.println("WIFI AutoConfig Faild!" );
return false;
}
void SmartConfig()//一键配网
{
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig...");
WiFi.beginSmartConfig();
while (1)
{
Serial.print(".");
delay(500); // wait for a second
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());
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
break;
}
}
}
void setup()
{
Serial.begin(115200);
if(!AutoConfig)
{
SmartConfig();
}
}
void loop(){
}
3、Wi-FiManager配网,此种配网方式会先将自己制为AP模式,此时手机或者电脑作为sta接入该ap,然后登陆指定的IP进行配网,此外还可以查看开发板的flash剩余空间等信息。
#include <WiFiManager.h>
//程序进入ap模式后串口会打印ip地址,进入即可
void setup() {
WiFi.mode(WIFI_STA); // 设置模式,esp默认为STA+AP
Serial.begin(115200);
WiFiManager wm; //定义manager对象
bool res;
res = wm.autoConnect("AutoConnectAP","password"); //定义ap名称和密码
if(!res) {
Serial.println("Failed to connect");
// ESP.restart();
}
else {
//if you get here you have connected to the WiFi
Serial.println("connected...yeey :)");
}
}
void loop() {
// put your main code here, to run repeatedly:
}