七、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