STA 模式:ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制,也叫站点模式.
AP 模式:ESP8266 模块作为热点,手机或电脑直接与模块连接,实现局域网无线控制。
STA+AP 模式:两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作。
下面我们也在我们的零知开源上创建一个连接到可接入点(wifi热点),并且打印station信息。
1、打开零知开源开发工具
2、电脑连接ESP8266
3、代码
/**
*
* statin模式下,创建一个连接到可接入点(wifi热点),并且打印station信息
* @date 2019/06/01
*/
#include <ESP8266WiFi.h>
#define AP_SSID "zaixinjian2019" //这里改成你的wifi名字
#define AP_PSW "2019zaixinjiancp" //这里改成你的wifi密码
void setup(){
//设置串口波特率,以便打印信息
Serial.begin(115200);
//延时2s 为了演示效果
delay(2000);
Serial.println("Setup start");
//启动STA模式,并连接到wifi网络
WiFi.begin(AP_SSID, AP_PSW);
//设置自动连接
WiFi.setAutoConnect(true);
//设置自动重连
WiFi.setAutoReconnect(true);
Serial.print(String("Connecting to ")+AP_SSID);
//判断网络状态是否连接上,没连接上就延时500ms,并且打出一个点,模拟连接过程
//笔者扩展:加入网络一直都连不上 是否可以做个判断,由你们自己实现
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("print Network Info:");
if (WiFi.status() == WL_CONNECTED){
//输出mac地址
Serial.println(String("Connected, mac address: ")+WiFi.macAddress().c_str());
//输出station IP地址,这里的IP地址由DHCP分配
Serial.println(String("Connected, IP address: ")+WiFi.localIP().toString());
//输出子网掩码地址
Serial.println(String("Subnet mask: ")+WiFi.subnetMask().toString());
//输出网关 IP地址
Serial.println(String("Gataway IP: ")+WiFi.gatewayIP().toString());
//输出hostname
Serial.println(String("Default hostname: ")+WiFi.hostname());
//设置新的hostname
WiFi.hostname("Station_host");
Serial.println(String("New hostname: ")+WiFi.hostname());
//输出SSID
Serial.println(String("SSID: ")+WiFi.SSID());
//输出psk
Serial.println(String("psk: ")+WiFi.psk());
//输出BSSID
Serial.println(String("BSSID: ")+WiFi.BSSIDstr());
//输出RSSI
Serial.println(String("RSSI: ") + WiFi.RSSI() + " dBm");
}
Serial.println("Setup End");
}
void loop() {
}
2、验证代码,上传程序,打开调试
当连接上WiFi后,结果如下