ESP8266 - WiFi
ESP8266 - WiFi
当我们拿到Esp8266开发板的时候,既然具有wifi能功能的,那么我们肯定首先是需要来连接一下wifi啦。首先Esp8266可以工作在2种模式下,分别是AP接入点模式和STA无线终端模式下。
一. 接入点模式
我们搭建好开发环境后,我们需要开发wifi的功能,那么我们就需要wifi相关的库函数,因此我们使用WiFiManager
来开发。可是我们该如何导入库函数呢?接着往下看
1. 导入库函数
收到点击platFormIo主页
然后在libraries中输入WifiManager,选择第一个wifimanger by tzapu,然后双击进入
然后双击进入,再添加到工程,然后再代码中引入wifimanager库函数就好了
如果需要导入其他库函数也是使用上述方法进行
2.代码示例
以下代码演示如何将Esp8266设置成AP工作模式
#include <Arduino.h>
#include <WiFiManager.h>
const char* ssid = "esp8266_Wifi";
const char* password = "123456";
void setup() {
//打开串口通讯
Serial.begin(9600);
//设置wifi为AP接入点模式,并设置wifi名称为esp8266-wifi ,密码为123456
WiFi.softAP(ssid,password);
//通过串口监视器输出信息
Serial.print("Access Point:");
Serial.println(ssid);
Serial.print("IP地址:");
Serial.println(WiFi.softAPIP());
}
void loop() {
}
二.无线终端模式
以下代码演示如何将Esp8266设置成AP工作模式
#include <Arduino.h>
#include <WiFiManager.h>
const char* ssid = "2002";
const char* password = "1234567890";
void setup() {
//开启串口
Serial.begin(115200);
//开启wifi
WiFi.begin(ssid,password);
Serial.print("connecting to ");
Serial.println(ssid);
int i = 0;
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.print(i++);Serial.print(" ");
}
Serial.println("");
Serial.println("connected!");
Serial.print("IP address:");
Serial.println(WiFi.localIP());
}
void loop() {
// put your main code here, to run repeatedly:
}
三.自动配网
发现如上代码有一个问题,就是我们把wifi的连接信息都是写死在代码中的,如果我们离开家或离开指定的wifi网络的话,那么我们的开发的功能也就没有用了。那么我们就需要使用一种可以手动配置输入wifi密码的,即wifi自动配网功能
#include <Arduino.h>
#include <WiFiManager.h>
void setup() {
//开启串口
Serial.begin(9600);
WiFi.begin();
//wifiManager
WiFiManager wifiManger;
//自动连接网络,连接的wifi名称是Esp8266-wifi;
wifiManger.autoConnect("Esp8266-wifi");
//如果需要设置wifi密码的话可以设置
// wifiManager.autoConnect("AutoConnectAP", "12345678");
Serial.println("wifi连接成功");
}
void loop() {
// put your main code here, to run repeatedly:
}
然后就可以手机上找到刚刚将来的wifi网络Esp8266-wifi
,使用手机连接到该wifi网络
然后再进行网络配置
输入正确的密码后,打开串口助手,可以看到上面也打印出了wifi连接成功