七、esp8266无线终端模式
1、连接WiFi
ESP8266可通过WiFi连接无线路由器。这与我们用手机通过WiFi连接无线路由器的模式相同。
2、连接WiFi示例程序
#include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库
const char *ssid = "zjd"; /*即将连接的WiFi名称*/
const char *password = "1233211234567"; /*即将连接的WiFi密码*/
void setup()
{
Serial.begin(115200); // 启动串口通讯
WiFi.begin(ssid, password); // 启动网络连接
Serial.print("Connecting to "); // 串口监视器输出网络连接信息
Serial.print(ssid);
Serial.println(" ...");
int i = 0; // 这一段程序语句用于检查WiFi是否连接成功
while (WiFi.status() != WL_CONNECTED) // WiFi.status()函数的返回值是由esp8266的WiFi连接状态所决定的。
{
delay(1000); // 如果WiFi连接成功则返回值为WL_CONNECTED
Serial.print(i++); // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
Serial.print( );
}
Serial.println(""); // WiFi连接成功后
Serial.println("Connection established!"); // esp8266将通过串口监视器输出"连接成功"信息。
Serial.print("IP address: "); // 同时还将输出esp8266的IP地址。这一功能是通过调用
Serial.println(WiFi.localIP()); // WiFi.localIP()函数来实现的。该函数的返回值即esp8266的IP地址。
}
void loop() {
// put your main code here, to run repeatedly:
}
3、自动连接信号最强的WiFi网络
假如esp8266只在一个地方使用,它也就只需要知道一个WiFi网络的连接信息。但是如果esp8266需要在多个地方使用,这时候就需要它能存储多个地点的WiFi信息。通过以下示例程序,esp8266可以在它所处的网络环境里搜索预先存储好的WiFi。一旦找到预存的WiFi名称,esp8266将会使用预存的密码信息尝试连接该WiFi。如果同时找到多个预存WiFi,esp8266将会尝试连接信号最强的WiFi。
#include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库
#include <ESP8266WiFiMulti.h> // 本程序使用ESP8266WiFiMulti库
ESP8266WiFiMulti wifiMulti; // 建立ESP8266WiFiMulti对象,对象名称是wifiMulti
void setup()
{
Serial.begin(115200); // 启动串口通讯
/*通过addAP函数存储 WiFi名称 WiFi密码*/
wifiMulti.addAP("zjd","1233211234567");
wifiMulti.addAP("zjd2","1233211234567");
wifiMulti.addAP("zjd3","1233211234567");
Serial.print("
Connecting ..."); // 通过串口监视器输出信息告知用户esp8266正在尝试连接WiFi
while (wifiMulti.run() != WL_CONNECTED)
{
delay(1000);
Serial.print(.);
}
Serial.print("
"); // WiFi连接成功后
Serial.print("Connection Successful
"); // esp8266将通过串口监视器输出
Serial.print("WiFi: " + WiFi.SSID() + "
"); // 连接的WiFI名称
Serial.print("IP address: "); // esp8266的IP地址
Serial.println(WiFi.localIP());
}
void loop() {
// put your main code here, to run repeatedly:
}
上一篇:
Java架构师技术进阶路线图
下一篇:
Python网络请求模块requests
