
arduino-esp32 五步实战从首次烧录到不接线 OTA 升级【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32arduino-esp32 是乐鑫官方的 ESP32 系列芯片 Arduino 核心把 Wi-Fi、蓝牙、GPIO 这些底层能力封成pinMode()、WiFi.begin()这样的 Arduino 写法。这篇教程按任务推进让 IDE 认出板子、把第一份固件写进 Flash、接上 I2C 传感器、连进局域网最后实现不插线的固件升级。每做完一步都有可验证的结果跟到文末你会有一块能联网、能读传感器、能远程升级的 ESP32。让 IDE 认出板子两步装好 ESP32 支持做完这步你应该看到「工具 开发板」菜单里出现以ESP32 Dev Module开头的一长串型号工具栏端口列表里出现一个 COM 口。两件事同时成立说明环境通了。操作只有两步。先打开「文件 首选项」在附加开发板管理器网址里填入官方索引地址https://espressif.github.io/arduino-esp32/package_esp32_index.json保存后重启 IDE。然后进「工具 开发板 开发板管理器」搜索esp32装上最新稳定版再重启一次。装完把板子插上 USB端口列表里应该出现新设备。至此编译和烧录能力就位后面所有验证都建立在板子能被工具链识别之上。把第一份固件写进 Flash看到串口日志验证方式很直接串口监视器波特率选 115200里每秒滚出一行日志板载 LED 同步亮灭。新建草图选中对应型号和端口粘贴下面的代码点上传。DevKit 默认板型没定义LED_BUILTIN这里直接用 GPIO 2。const int LED 2; // DevKit 板载 LED void setup() { pinMode(LED, OUTPUT); Serial.begin(115200); } void loop() { digitalWrite(LED, HIGH); Serial.println(esp32 alive); delay(1000); digitalWrite(LED, LOW); delay(1000); }上传卡住或报错时按下面的排错清单顺序过一遍端口列表里没有 COM 口 ⚠️多数是 USB 转串口驱动缺失ESP32 板上常见 CP210x 或 CH340 芯片装好厂商驱动后重新插拔。卡在Connecting...后超时按住 BOOT 键让板子进入下载模式看到连接提示后松开。提示编译或参数错误选错型号了对照板子丝印在「工具 开发板」里换精确型号。上传成功但串口没输出 ⚠️先核对监视器波特率是 115200再查供电是否被外设拉低。换了线还是不行确认不是只能充电的线换带数据线的短线直连。这套编译—烧录—观察的回路走通后后面遇到的硬件问题都有了归因的基准。先跑 WireScan再接上 I2C 传感器做完这章串口会打印一份 I2C 总线上设备地址的清单你手里接的传感器地址就在其中。接线前先确认引脚经典 ESP32 的默认 I2C 是 SDA GPIO 21、SCL GPIO 22定义就在 variants/esp32/pins_arduino.h。传感器 VCC、GND 接 3.3V 和地SDA、SCL 分别接 21、22。然后打开 libraries/Wire/examples/ 下的WireScan例程上传串口监视器会列出总线上所有响应的地址。扫到了说明总线和传感器都通了下一步把地址填进WireMaster例程就能按寄存器读回温湿度等数据。硬件接口稳定下来板子就有了感知世界的能力接下来让它连进网络。让板子连上路由器报出自己的 IP成功标志是串口打印出一行192.168.x.x形式的 IP——板子正式成为局域网成员。仓库的 libraries/WiFi/examples/ 下有从WiFiScan扫热点到WiFiAccessPoint自己发热点的全套例程可对照最常用的站点模式只有几行#include WiFi.h void setup() { Serial.begin(115200); WiFi.begin(你的WiFi名称, 你的WiFi密码); while (WiFi.status() ! WL_CONNECTED) { delay(500); // 等待入网完成 } Serial.println(WiFi.localIP()); // 打印拿到的 IP }ESP32 既能作为 STA 连入路由器也能反过来作为 AP 发射热点两种角色随时可切。有了 IP设备就能收发包不接线升级这件事才有了传输通道。拔掉数据线更新固件OTA 与 U 盘模式最终形态浏览器打开一个页面把新固件推给十米外的板子它自己重启换上新版本全程不碰 USB 线。用 libraries/ArduinoOTA/examples/ 的BasicOTA骨架核心配置如下烧录后设备广播 mDNS 地址http://esp32.local#include ArduinoOTA.h void setup() { Serial.begin(115200); ArduinoOTA.setPassword(自定密码); ArduinoOTA.begin(); }浏览器登录页面上传.binIDE 里草图 导出编译的二进制文件生成进度走完板子自动重启。细节流程可对照 docs/en/ota_web_update.rst。如果设备不方便联网S3、C3 这类带原生 USB 的型号还有后手固件里启用 USB MSC 后板子会虚拟成一个 U 盘把.bin拖进去即完成更新批量产线场景比串口烧录省事得多。继续深入全部 API 参考、安装细节和迁移指南在 docs/en/每篇文档都配有对应代码。各芯片支持哪些外设看 docs/en/getting_started.rst 的支持表支持的所有板型列在 boards.txt每块板的引脚定义在 variants/ 对应目录。想接更多传感器libraries/Wire/examples/和libraries/WiFi/examples/里的例程都可以直接烧。下一步建议把你 WireScan 扫到的那个传感器真正读通——抄WireMaster例程把地址和寄存器地址换成你的器件手册里的值串口每 5 秒打印一次读数这条数据链就完整了。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考