ESP8266既可以作为一个无线终端(STA模式),像手机一样连接路由器,也可以作为热点(AP模式),像路由器一样让手机、电脑来连接。本篇介绍ESP8266作为无线终端连接网络。
1. 连接网络
打开Arduino IDE,新建sketch,拷贝如下代码并保存。
/*
* connect01
* ESP8266连接网络
*/
#include
const char* ssid = "your-ssid";//连接WIFI名(SSID)
const char* password = "your-password";//WIFI密码
void setup()
{
Serial.begin(115200);
Serial.println();
Serial.println("--------------");
WiFi.begin(ssid,password);//启动网络连接
Serial.printf("Begin to Connect %s\\r\\n", ssid);
while (WiFi.status() != WL_CONNECTED)//检测网络是否连接成功
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected, IP address: ");
Serial.println(WiFi.localIP());//返回ESP8266的IP地址
}
void loop() {}
电脑连接开发板,在工具—开发板—端口中选择正确的端口号,点击上传,程序编译并上传。
程序下载
上传完成后打开串口监视器,波特率设置115200,可以看到串口打印联网信息如下:
打印信息
当成功连接网络后,ESP8266将获取到IP地址,在同一局域网下的电脑端,打开命令提示符,通过ping命令测试通讯正常。
网络测试
2. 扫描多个热点连接
在ESP8266WiFiMulti库中,为我们提供了往ESP8266添加多个热点存储功能,ESP8266会在添加的多个热点中,自动搜索信号最强的那个连接,当开发板需要在多个地方使用时,可以非常方便的自动连接当前环境的热点。
/*
* connect02
* ESP8266在多个热点中寻找信号最强的进行连接
*/
#include
#include
ESP8266WiFiMulti wifis;//建立ESP8266WiFiMulti对象
void setup()
{
Serial.begin(115200);
Serial.println();
Serial.println("--------------");
//添加多个热点信息
wifis.addAP("TonyCode", "12345678");
wifis.addAP("TonyCode1","12123455");
wifis.addAP("TonyCode2","88888888");
wifis.addAP("TonyCode3","66666666");
Serial.println("Begin to Connect");
while (wifis.run() != WL_CONNECTED)//检测网络是否连接成功
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.printf("Connected %s, IP address: ", WiFi.SSID());
Serial.println(WiFi.localIP());//返回ESP8266的IP地址
}
void loop() {}
通过addAP()函数,添加需要存储的热点SSID和密码,run()函数在当前环境中搜索存储的热点,寻找信号最强的进行连接。
-
路由器
+关注
关注
22文章
3690浏览量
113383 -
无线终端
+关注
关注
0文章
30浏览量
13861 -
开发板
+关注
关注
25文章
4883浏览量
97009 -
Arduino
+关注
关注
187文章
6456浏览量
186471 -
ESP8266
+关注
关注
50文章
962浏览量
44744
发布评论请先 登录
相关推荐
评论