
arduino-esp32 上手指南装好核心跑通第一个 WiFi 程序【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32你有一块 ESP32 开发板想让它每 10 秒读一次 ADC 传感器、连上家里的 WiFi 把数据报出去但没碰过乐鑫的 ESP-IDF 那套工程。arduino-esp32 是乐鑫官方的 ESP32 Arduino 核心把底层 SDK 封装成setup()/loop()的写法你只需要会写 Uno 代码就能上手装好环境到跑通第一个联网程序通常不到 30 分钟。这些能力域决定你该不该用它无线连接libraries/WiFi/24 个示例含 STA/AP/扫描、libraries/BLE/、libraries/ESP_NOW/ 免网点对点以及 libraries/Zigbee/、libraries/Matter/ 智能家居协议栈数字与模拟 IOGPIO 中断、cores/esp32/esp32-hal-adc.h 里 12 位 ADC以及基于 LEDC 定时器的ledcAttach()软 PWM频率范围比经典analogWrite宽得多网络与文件HTTPClient、libraries/WebServer/、libraries/FS/ 文件系统层LittleFS/SPIFFS 分区把网页或资源直接烧进 Flash持久化存储libraries/Preferences/ 基于 NVS 分区WiFi 密码这类配置掉电不丢技术栈上它覆盖 ESP32、S2、S3、C3、C5、C6、H2、P4 等 10 款 SoC底层依赖 ESP-IDF 5.3~6.1见 idf_component.yml其中 ESP32-C2 和 C61 需要以 ESP-IDF 组件方式集成Boards Manager 装的包不直接支持。填对一行网址平台十分钟就能装上Arduino IDE 装 2.x 最新版即可1.6.4 以上就能用 Boards Manager 装第三方平台因为从那个版本开始官方放开了这个入口。全程 5~10 分钟主要耗时在网络下载。打开文件 → 首选项在附加开发板管理器网址填入https://espressif.github.io/arduino-esp32/package_esp32_index.json。这是稳定版索引想尝鲜就把index换成dev_index。进工具 → 开发板 → 开发板管理器搜 esp32安装 esp32 by Espressif Systems。预期现象下载列表出现几个版本装完重启 IDE 后工具 → 开发板里能看到 ESP32 Dev Module 等型号。如果搜不到 esp32说明第 1 步的网址没保存回去重看。选板子这一步卡住的人最多。在工具 → 开发板里选与你实物完全一致的型号——variants/ 下有 409 个板级目录每个目录就是那块板的引脚映射选错型号会导致同一 GPIO 接的不是你以为的外设。装完记得把工具 → 端口切到板子对应的 COM 口。国内网络下载慢或失败的话docs/en/installing.rst 里给了 Jihulab 镜像的替换地址。首次编译慢属正常上传看这行提示动作随便选一个示例点上传。预期现象首次编译约 2~4 分钟要现编译核心代码结尾看到Done uploading并自动复位就是成功之后的增量编译通常十几秒。如果卡住停在Connecting...........不动时按住板上的 BOOT 键再点一次上传还不行就换数据线——不少线只能充电没有数据引脚。如果暂时没板子docs/en/tutorials/blink.rst 提供了免硬件的在线仿真流程可以先用它走通编译 → 观察 GPIO2 灯亮的完整链路。最小可用示例连上 WiFi 再报一个读数下面这个脚本把联网和模拟采集两件事都验证了// 目标连上 WiFi每 10 秒从 ADC1 采一次压并打印 #include WiFi.h const int adcPin 34; // ADC1 输入脚接分压后的信号 const char* ssid 你的SSID; const char* pass 你的密码; void setup() { Serial.begin(115200); // 串口监视器也要设 115200 analogReadResolution(12); // 12 位精度读数范围 0~4095 WiFi.begin(ssid, pass); while (WiFi.status() ! WL_CONNECTED) delay(500); } void loop() { Serial.printf(Connected, IP: %s\n, WiFi.localIP().toString().c_str()); Serial.printf(ADC[%d] %d\n, adcPin, analogRead(adcPin)); delay(10000); }验证成功的标志串口监视器先打出一行Connected, IP: 192.168.x.x随后每 10 秒多一行 ADC 读数。最常见的卡点能编译能上传串口却一个字符都没有——C3/C6/S3 上检查工具菜单里的 USB CDC On Boot 选项切换后重新上传因为这类板子的串口要么是 USB 原生 CDC、要么是 UART 转 USB两者驱动不同。这几个地方和 Uno 的直觉不一样ADC2 引脚。直觉预期0~39 号脚随便读。实际情况ESP32 经典款的 ADC2GPIO12~17 等脚在 WiFi 收发时会被射频电路占用读数整体漂移。正确做法传感器一律接 ADC1 的 GPIO32~39这也是示例里adcPin 34的原因。只进不出的脚。直觉预期任何 GPIO 都能digitalWrite。实际情况GPIO34~39 共 6 个脚只有输入缓冲没有输出驱动器。正确做法用这 6 个脚接传感器输入输出类负载继电器、LED 驱动挪到 GPIO4~5 或 16~17 这类普通脚上。Flash 占用脚。直觉预期空闲脚都能用。实际情况经典款 ESP32 的 GPIO6/7/8 通常连着 Flash当普通输出用会干扰启动。正确做法接线前对照 docs/_static/ 里对应板子的丝印确认DevKitC 的引脚图在 docs/_static/esp32_devkitC_pinlayout.png。核心大版本。直觉预期旧博客的代码直接能编译。实际情况Boards Manager 现在装的是 3.x 核心与 2.x 的 API 差异较大常报too many arguments这类错。正确做法对照 docs/en/migration_guides/ 的迁移表逐项改别逐行猜。跑通之后沿这三条线深入做联网上报libraries/HTTPClient/ 把数据 POST 出去libraries/WebServer/ 起页面配合 tools/partitions/ 里的带 LittleFS/SPIFFS 分区表存网页资源libraries/ArduinoOTA/ 支持远程升级固件。做无线控制BLE 库做近距离控制libraries/ESP_NOW/ 做免路由器的点对点透传C5/C6/H2 还能进 libraries/Matter/ 和 Thread 方向做智能家居。做低功耗libraries/ESP32/examples/DeepSleep/ 里TimerWakeUp、ExternalWakeUp等示例演示微安级睡眠唤醒适合电池供电的传感器节点。阅读顺序建议docs/en/getting_started.rstSoC 支持矩阵选芯片前先翻→ docs/en/installing.rst安装与手动集成→ docs/en/tutorials/Blink、基础 IO 分步教程→ docs/en/libraries.rst各 SoC 功能对照→ docs/en/troubleshooting.rst启动失败、分区表、OTA 等系统问题。遇到具体问题再翻 docs/en/faq.rst比在论坛里捞答案快得多。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考