记录一次Esp8266烧录代码流程
这次ESP8266烧录代码的流程非常顺利。通过Arduino IDE,我们可以很方便地为ESP8266编写和上传代码。ESP8266的功能非常强大,除了控制LED,还可以连接Wi-Fi、发送HTTP请求、控制传感器等。希望这篇博客能帮助你顺利入门ESP8266开发!如果你有任何问题或建议,欢迎在评论区留言。下次我会尝试更复杂的项目,比如通过ESP8266接入Deepseek实现语音互动,实现物联网
最近在玩ESP8266,这是一款非常流行的Wi-Fi模块,不仅可以用于物联网项目,还能通过Arduino IDE进行编程。今天我将记录一次完整的ESP8266烧录代码的流程,希望能帮助到刚入门的朋友。
程序备份
顺便备份下文件,和Wifi杀手的烧录工具
GitHub:https://github.com/xk-mt/esp8266_WI-PWN
百度网盘:https://pan.baidu.com/s/1tcLk22mtKDcVUvgRgXGMsQ?pwd=wyz8 提取码: wyz8
https://blog.csdn.net/zyk961755/article/details/138155802
https://zhuanlan.zhihu.com/p/678518260
1. 准备工作
在开始之前,我们需要准备以下工具和材料:
-
ESP8266模块:我使用的是NodeMCU开发板,淘宝上10元一个自带USB转串口芯片,方便直接通过USB烧录。
-
OTC/USB数据线:用于连接ESP8266和电脑。
-
Arduino IDE:用于编写和上传代码。
-
-
驱动程序:如果使用的是NodeMCU,通常需要安装CH340或CP2102的驱动程序,具体取决于你的开发板。
2. 安装Arduino IDE并配置ESP8266开发环境
2.1 安装Arduino IDE
如果你还没有安装Arduino IDE,可以从Arduino官网下载并安装。
2.2 添加ESP8266开发板支持
-
打开Arduino IDE,点击文件 -> 首选项。
-
在“附加开发板管理器网址”中输入以下URL:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
-
点击确定保存设置。
2.3 安装ESP8266开发板
-
点击工具 -> 开发板 -> 开发板管理器。
-
在搜索框中输入“esp8266”,找到“esp8266 by ESP8266 Community”,点击安装。
-
安装完成后,关闭开发板管理器。
不过也有反应没有这个驱动的,可以去上面的百度网盘里下载
3. 选择开发板和端口
-
点击工具 -> 开发板,选择你使用的ESP8266开发板。我使用的是“NodeMCU 1.0 (ESP-12E Module)”。
-
点击工具 -> 端口,选择你的ESP8266连接的端口。如果你不确定是哪个端口,可以拔掉ESP8266,看看哪个端口消失了,再接上ESP8266,出现的端口就是它。
4. 编写代码
接下来,我们编写一个简单的代码,让ESP8266的LED灯闪烁。
void setup() {
// 初始化LED引脚为输出模式
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
// 点亮LED
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // 等待1秒
// 熄灭LED
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // 等待1秒
}
以及一个开关灯前端交互的控制实现
5. 烧录代码
-
点击文件 -> 保存,将代码保存为一个新的项目。
-
点击项目 -> 上传,Arduino IDE会开始编译代码并上传到ESP8266。
-
上传过程中,你会看到ESP8266上的LED灯闪烁,表示正在烧录。
-
上传完成后,Arduino IDE会显示“上传成功”。
6. 测试
上传完成后,ESP8266会自动运行代码。你应该会看到板载的LED灯每隔1秒闪烁一次。
以及一个开关的的控制页面实现
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
// 定义内置LED引脚(GPIO2,即D4)
#define BUILTIN_LED 2
// Wi-Fi凭证
const char* ssid = "your_SSID"; // 替换为你的Wi-Fi名称
const char* password = "your_PASSWORD"; // 替换为你的Wi-Fi密码
// 创建Web服务器对象
ESP8266WebServer server(80);
// LED状态变量
bool ledState = false;
bool ledBlink = false;
// 处理根路径请求
void handleRoot() {
String html = "<html><body>";
html += "<h1>ESP8266 Built-in LED Control</h1>";
html += "<p>LED: <a href=\"/led/on\">ON</a> <a href=\"/led/off\">OFF</a> <a href=\"/led/blink\">BLINK</a></p>";
html += "</body></html>";
server.send(200, "text/html", html);
}
// 处理LED开
void handleLedOn() {
digitalWrite(BUILTIN_LED, LOW); // ESP8266内置LED是低电平点亮
ledState = true;
ledBlink = false;
server.send(200, "text/plain", "LED ON");
}
// 处理LED关
void handleLedOff() {
digitalWrite(BUILTIN_LED, HIGH); // ESP8266内置LED是高电平熄灭
ledState = false;
ledBlink = false;
server.send(200, "text/plain", "LED OFF");
}
// 处理LED闪烁
void handleLedBlink() {
ledBlink = true;
server.send(200, "text/plain", "LED BLINK");
}
// 初始化设置
void setup() {
// 初始化串口
Serial.begin(115200);
// 设置内置LED引脚为输出模式
pinMode(BUILTIN_LED, OUTPUT);
digitalWrite(BUILTIN_LED, HIGH); // 初始状态为关闭
// 连接Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// 打印IP地址
Serial.println(WiFi.localIP());
// 设置HTTP请求处理函数
server.on("/", handleRoot);
server.on("/led/on", handleLedOn);
server.on("/led/off", handleLedOff);
server.on("/led/blink", handleLedBlink);
// 启动Web服务器
server.begin();
Serial.println("HTTP server started");
}
// 主循环
void loop() {
// 处理客户端请求
server.handleClient();
// 处理LED闪烁
if (ledBlink) {
digitalWrite(BUILTIN_LED, !digitalRead(BUILTIN_LED)); // 切换LED状态
delay(500); // 闪烁间隔500ms
}
}
设置完端口后本地访问
7. 总结
这次ESP8266烧录代码的流程非常顺利。通过Arduino IDE,我们可以很方便地为ESP8266编写和上传代码。ESP8266的功能非常强大,除了控制LED,还可以连接Wi-Fi、发送HTTP请求、控制传感器等。希望这篇博客能帮助你顺利入门ESP8266开发!
如果你有任何问题或建议,欢迎在评论区留言。下次我会尝试更复杂的项目,比如通过ESP8266接入Deepseek实现语音互动,实现物联网应用。
参考资料:
在ESP8266板上运行MicroPython_esp8266 micropython-CSDN博客
相关工具:
更多推荐
所有评论(0)