3. 完整代码
3.1. 完整代码
话不多说,直接提供代码
#include <ESP8266WiFi.h>
#ifndef STASSID
#define STASSID "ct-iot" // 你的 WiFi 热点名称
#define STAPSK "111222333" // 你的 WiFi 密码
#endif
const char* ssid = STASSID;
const char* password = STAPSK;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
// 开始连接到 WiFi 网络
Serial.println();
Serial.println();
Serial.print("连接到 ");
Serial.println(ssid);
/* 明确将 ESP8266 设置为 WiFi 客户端,否则,默认情况下,
它会尝试充当客户端和接入点,可能会导致
WiFi 网络上的其他 WiFi 设备出现网络问题。 */
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi 连接成功");
Serial.println("IP 地址: ");
Serial.println(WiFi.localIP());
}
void loop() {
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(2000);
}
读者需要做的是将 WIFI 账号密码更改为自己的,就可以连上 WIFI 了哈,然后烧录即可,也就是点击以下的这个按钮。
3.2. 烧录代码
烧录代码分为以下三步:
- 选择开发板
- 选择串口
- 点击下载
(下图是下载的时候的进度图)
3.3. 打开串口查看数据
点击软件右上角的这个按钮就可以打开串口调试组手,打开的时候是没有数据的,我们需要按一下 ESP8266 烧录器上面的复位按钮
- 可以看到已经能打印出 IP 了
4. 代码讲解
上面我们已经提供了全部的代码,如果你想了解代码的含义,那么可以继续读下去。
#include <ESP8266WiFi.h>
- 这行代码是包含了ESP8266WiFi库,这样我们就可以在代码中使用ESP8266WiFi模块提供的功能
#ifndef STASSID
#define STASSID "your-ssid" // 你的 WiFi 热点名称
#define STAPSK "your-password" // 你的 WiFi 密码
#endif
- 这部分是用于定义WiFi的名称和密码。
STASSID
是你的WiFi热点名称,STAPSK
是你的WiFi密码。如果在代码中没有提供这些值,将使用这里定义的默认值(your-ssid,your-password)
const char* ssid = STASSID;
const char* password = STAPSK;
- 这里定义了两个变量
ssid
和password
,分别用于存储WiFi热点的名称和密码
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
Serial.println();
Serial.println();
Serial.print("连接到 ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi 连接成功");
Serial.println("IP 地址: ");
Serial.println(WiFi.localIP());
}
setup()
函数是Arduino中的一个特殊函数,它在开发板启动时执行一次。在这个函数中,我们做了以下操作:
- 设置LED_BUILTIN引脚为输出模式,以便控制LED灯
- 初始化串行通信,设置波特率为115200,并打印一些提示信息
- 尝试连接到WiFi网络,并等待连接成功,在等待过程中,我们通过点号的形式在串行监视器中显示连接状态
- 如果连接成功,打印WiFi连接成功的消息以及分配给开发板的IP地址
void loop() {
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(2000);
}
loop()
函数是Arduino中另一个特殊函数,它会不断循环执行。在这个函数中,我们简单地让LED灯以一定的频率闪烁,以表示 WIFI 连接成功,LED 灯闪烁。