材料:一根数据线,一个ESP8266-NODEMCU开发板
如图:
ESP8266模块的工作模式一共有三种:1.接入点模式(AP)2.无线终端模式(STA)3.混合模式
1.作为一个连接设备,手机开热点,模块连接手机所开的热点(STA)
#include <ESP8266WiFi.h>const char*ssid = "huaweip30"; //手机的WiFi名
const char*password = "1234567890"; //手机的WiFi密码
void setup() {Serial.begin(115200);Serial.println();Serial.println();Serial.println("Connedting to"); //打开串口打印正在等待连接手机WiFiSerial.println(ssid);WiFi.mode(WIFI_STA); //WiFi模式WiFi.begin(ssid,password); //连接WiFiwhile(WiFi.status()!=WL_CONNECTED){ //获取WiFi的连接状态不等于非链接delay(500);Serial.print('.');}Serial.println("");Serial.println("WiFi connected");Serial.println("IP address");Serial.println(WiFi.localIP()); //读取IP地址打印
}void loop() {}
2.建立一个WIFI网络,其他设备可以连接ESP8266(AP)
#include<ESP8266WiFi.h>
void setup() {Serial.begin(115200); Serial.println("");IPAddress softLocal(192,168,128,0); //配置ESP8266的地址IPAddress softGateway(192,168,128,1); //配置网关IPAddress softSubnet(255,255,255,0); //配置子网掩码(内网)WiFi.softAPConfig(softLocal, softGateway, softSubnet); //IP的配置String apName = ("ESP8266_"+(String)ESP.getChipId()); // 设置WIFI名称 获取内存芯片id给字符串apNameconst char *softAPName = apName.c_str(); //定义一个指向字符常量的指针 c_str返回的是一个分配给const char*的地址WiFi.softAP(softAPName, "1234567890"); //设置接入点WiFi信息,名称及密码IPAddress myIP = WiFi.softAPIP(); // 获取接入点的IP地址Serial.print("AP IP address: "); Serial.println(myIP);Serial.print("softAPName: "); // 输出WIFI 名称Serial.println(apName);
}void loop() {}
API说明
2.1 模块基本信息
1 ESP.getResetReason() —— 获取上次复位原因
2 ESP.getFreeHeap() —— 获取可用堆大小
3 ESP.getChipId() —— 获取芯片id
4 ESP.getCoreVersion() —— 获取核心库版本
5 ESP.getSdkVersion() —— 以字符形式返回SDK版本
6 ESP.getCpuFreqMHz() —— 获取cpu运行频率
7 ESP.getSketchSize() —— 获取当前固件大小
8 ESP.getFreeSketchSpace() —— 获取当前剩余可用固件空间
9 ESP.getSketchMD5() —— 返回当前固件的MD5的小写字符串
10 ESP.getFlashChipId() —— 获取闪存芯片id
11 ESP.getFlashChipSize() —— 获取sdk得到的闪存芯片大小
12 ESP.getFlashChipRealSize() —— 获取闪存芯片真正大小
13 ESP.getFlashChipSpeed() —— 获取闪存芯片运行频率
c_str()返回的是一个分配给const char的地址,其内容已设定为不可变
更,如果再把此地址赋给一个可以变更内容的char变量,就会产生冲突,
在2010中是不被允许的。但是如果放入函数调用,或者直接输出,因为这
些函数和输出都是把字符串指针作为 const char*引用的,所以不会有问题。
AP库函数解义
softAP – 设置接入点WiFi信息
softAPConfig – 配置接入点网络信息(如IP地址等)
softAPDisconnect – 关闭接入点模式
softAPIP – 获取接入点IP地址
softAPmacAddress – 获取接入点mac
softAPSSID – 获取接入点WiFi名称
softAPPSK – 获取接入点连接密码
softAPGetStationNum – 获取连接上的终端数量
STA库函数解义
begin – 连接WiFi
config – 配置网络(如,IP地址,网关IP等)
reconnect – 重新连接WiFi
disconnect – 断开WiFi连接
setAutoConnect – 设置是否自动连接WiFi
setAutoReconnect – 设置是否自动重新连接WiFi
waitForConnectResult – 等待WiFi连接
status – 获取WiFi连接状态
SSID – 获取SSID
psk – 获取psk
BSSIDstr – 获取WiFi接入点的mac地址
localIP – 获取IP地址
subnetMask – 获取子网掩码
gatewayIP – 获取网关地址
dnsIP – 获取DNS地址
macAddress – 获取mac地址
hostname – 获取/设置主机名
isConnected – 获取WiFi连接状态
getAutoConnect – 获取自动连接WiFi设置
RSSI – 获取WiFi信号强度