玩ESP系列芯片,最难的不是写代码,而是搭环境。我见过太多人兴冲冲买了一块ESP32开发板,结果卡在安装ESP-IDF、配置工具链、找VS Code插件路径这一步,板子吃灰三个月。所以我特别理解“浏览器即开即用”这种工具的吸引力。不用装任何IDE,不用配置Python环境,不用折腾环境变量,打开一个网页,插上USB线,就能烧录固件、写代码、看串口日志。这篇东西我就把目前市面上能用的ESP在线开发工具从头到尾捋一遍,按用途分好类,再挑几个最常见的操作流程走一遍,最后附上我这么多年踩过的坑。
1. 为什么“免安装”成了ESP开发的新刚需
1.1 传统开发环境的“三座大山”
先说个背景。ESP32和ESP8266的官方开发框架是ESP-IDF,听起来很高端,但对新手来说非常劝退。安装它需要先装一堆依赖:Git、Python、CMake、Ninja,还得配置 IDF工具链 和编译链。很多人在命令行里看到“esp平台安装失败”几个红字,心态直接崩了。就算你顺利装完,下一步打开VS Code装ESP-IDF插件,又要指定插件安装路径、工具链路径、IDF路径,任何一个环节错了就白搭。
就算退一步用Arduino IDE,也没轻松到哪去。你得在“开发板管理器”里手动填JSON网址,再等它把ESP32的板卡包下载下来。国内网络环境下,这个下载过程经常慢到让人怀疑人生,或者直接失败。装完之后还要面对一堆权限问题、端口识别问题、驱动问题。很多刚入门的朋友不是被ESP32难倒的,而是被开发环境劝退的。
1.2 浏览器为什么能烧录芯片
你可能好奇:一个网页凭什么能操作你电脑上的USB串口?答案在浏览器的新能力上,核心是Web Serial API和WebUSB。早些年浏览器出于安全考虑,根本不让网页碰串口和USB设备。但后来Web Serial API出现后,Chrome和Edge这类浏览器允许网页在用户明确授权的情况下,直接读写串口。ESP32和ESP8266这类板子通过USB转串口芯片连接到电脑,在系统里表现为一个COM口或/dev/ttyACM0设备,所以网页就能借助Web Serial直接和芯片通信,完成波特率协商、固件下发、烧录进度读取这些操作。
Wokwi这类在线模拟器更夸张,它干脆连物理硬件都不用,直接在浏览器里用JavaScript模拟ESP32的CPU、外设和传感器,代码的执行效果能实时显示在虚拟电路上。这些工具背后还有WebSocket、IndexedDB、Web Worker一堆技术支撑,把以前必须本地完成的事情全搬到了云端。
1.3 谁适合用在线工具
我做了这么多年,接触过各种类型的开发者,总结下来,在线工具最适合三类人:
第一类是完全零基础的新手,连什么是串口都不知道,只想快速把点亮LED的程序跑起来。在线工具不需要理解工具链,打开就能用。第二类是智能家居玩家,主要需求是给设备刷现成固件,比如把ESP8266刷成Tasmota或ESPEasy,这种场景根本不需要自己编译,网页一键烧录就够了。第三类是创客教育者,在课堂上没法给每台电脑配置统一环境,用模拟器和网页IDE反而稳定可控。
当然它也有不擅长的地方,这个放到最后一章详细说。但“免安装”确实解决了一个真实的痛点,这也是为什么近两年Web版工具越来越多。
2. 20+款ESP在线开发工具全盘点
我把这些工具按用途分成五类:一键刷固件型、在线写代码型、云端模拟型、固件定制型、调试与IoT平台型。每个分类下面挑重点讲。
2.1 一键刷固件型:最适合新手的入口
这类工具最接近“浏览器即开即用”的理想状态,打开网页、选设备、烧录,完事。它们的代表有:
- ESPHome Web Installer。ESPHome是智能家居圈非常流行的方案,可以用YAML描述设备行为,自动生成固件。它的Web安装器在web.esphome.io,打开后选设备、选端口,浏览器直接烧录预编译固件。烧完还能直接进入配网流程,整个过程不用一行命令。
- WLED Web Installer。WLED是控制WS2812这类可编程灯带最好的固件之一,安装器在install.wled.app,支持ESP32和ESP8266。我刷灯带一直用这个入口,省掉本地安装WLED工具的步骤。
- Tasmota Web Installer。Tasmota是另一个主流智能家居固件,官网现在也提供在线安装入口,选择对应的设备型号,浏览器就能把Tasmota刷进去。
- ESPEasy Web Flasher。ESPEasy专门用于环境传感器节点,比如用ESP8266接温湿度、光照传感器,再通过MQTT上报。官方提供了浏览器直刷工具,比老办法下载烧录工具方便太多。
- 各类开源项目的Web Installer。现在越来越多GitHub项目在自己的文档站里挂一个“Web Installer”按钮,比如一些针对ESP32-C3的小型固件。它们的实现大多基于开源的esptool.js库,原理都一样,只是固件包不同。
这类工具的好处在于完全不用处理编译链路。你不需要知道代码仓库长什么样,不需要安装任何开发环境,只要固件作者提前编译好二进制包、挂载到网页上,你就能刷。烧录只是执行了一次“下载+搬运”操作。
2.2 在线写代码型:把编程也搬进浏览器
如果不想只刷现成固件,想写自己的代码,但又不想装IDE,下面几个工具适合你:
- Arduino Cloud Editor。这是Arduino官方的网页版IDE,之前在Arduino Create平台,现在整合到了Arduino Cloud里。支持ESP32、ESP8266,有代码编辑器、库管理器、编译和上传功能。它背后是云端编译,你电脑不需要装任何工具链,只需要装一个Agent插件负责和板子通信。优点是界面和Arduino IDE几乎一样,老用户零学习成本。
- Espruino Web IDE。这是给我最大惊喜的工具。Espruino是一个JavaScript运行时,可以直接运行在ESP32上,它的Web IDE在浏览器里编辑JS代码,支持串口连接和WiFi配网,写完一段代码直接推到板上执行。很适合用来做快速原型验证,尤其是非实时性要求的任务,比如读个传感器、控制个继电器。
- Makestack。一个老牌的在线嵌入式IDE,支持ESP32和ESP8266,可以在浏览器里写C语言代码,云端编译后烧录到设备。它主打“设备端代码+手机端控制面板”一体生成,比较适合IoT原型验证。
- Mixly在线版 / Codecraft。这两款偏图形化编程工具,用积木块拖拽的方式生成代码,支持生成Arduino或MicroPython代码。教育场景用得多,但对有经验的开发者来说反而觉得不够直接。如果你想带小朋友入门ESP32,这类工具很合适。
2.3 云端模拟型:不花钱买硬件也能玩
在我心目中,Wokwi是近几年最值得夸的在线开发工具。它直接支持ESP32、ESP8266、Arduino Uno、树莓派Pico等多种开发板,内置了大量虚拟元器件,从LED、电阻到DHT22温湿度传感器、OLED屏幕都有。最重要的是它连WiFi都能模拟,你可以直接跑HTTP请求、MQTT连接、NTP时间同步这类需要联网的代码,在虚拟环境里验证逻辑没有问题再把代码烧到真实硬件上。
- Wokwi:最推荐,支持电路可视化、波形调试、串口监视器、逻辑分析仪。它的代码编辑器支持Arduino框架和ESP-IDF框架,也支持MicroPython和汇编。我用它演示过很多ESP32的教程案例,读者不需要跟着买板子就能理解代码怎么运作。
- Tinkercad Circuits:Autodesk的免费在线仿真工具,界面友好,元器件很丰富,但ESP32支持比较弱,主要是Arduino仿真。如果是纯学Arduino可以试试,玩ESP32就别指望了。
模拟器有一个大优势:不怕烧坏硬件,不怕接错线。尤其对新手来说,硬件接线是最容易出错的环节,模拟器上先跑通,再转到实物会轻松很多。
2.4 固件定制型与组件管理型
有些场景下,你需要一个特定功能的固件,但又不想本地编译。这时候云端构建服务就是救命稻草:
- NodeMCU Custom Builds。站点在nodemcu-build.com,可以让你在网页上勾选需要的模块(比如GPIO、WiFi、MQTT、HTTP),然后云端帮你编译出定制版NodeMCU固件。NodeMCU是跑在ESP8266上的Lua固件,选择好模块后只需要等几分钟,邮箱里就会收到编译好的bin文件,下载后用Web Serial工具刷进去就行。
- ESP-IDF组件注册中心。这是乐鑫官方维护的组件仓库,网址是components.espressif.com。你可以在网页上按需求筛选ESP-IDF组件,它会自动生成依赖和配置文件。虽然这不能完全替代编译环境,但至少让你在项目一开始就把依赖梳理清楚,生成的内容带回家直接加到项目中,省去了一大堆搜索和版本匹配的麻烦。
还有一类是固件构建流水线。一部分开源项目使用GitHub Actions在云端编译固件,每次发布新版本时自动产出可下载的二进制文件,同时生成Web Installer页面。这种模式把“编译”和“分发”都搬到了云端,维护者不用本地出包,用户也不用本地编译,算是现代开源硬件项目的标配趋势。
2.5 调试与IoT平台工具
代码写了、固件刷了,接下来要调试和接入平台,这几个工具值得关注:
- Web Serial串口终端。有很多开源项目提供了网页版串口调试终端,比如“Web Serial Terminal”。打开网页,选择串口和波特率,就能读串口日志、发送指令。对ESP32来说,最常见的用途就是看代码里的printf输出。省去安装串口助手的工夫。
- Web BLE调试工具。如果产品是低功耗蓝牙方案,浏览器可以直接作为BLE主机。Chrome支持Web Bluetooth API,一些在线BLE调试工具可以扫描周边设备、读取特征值、发送数据。对调试ESP32的BLE项目非常方便。
- Blynk IoT Platform。它提供了一个网页端配置台,支持ESP32在线接入,配合手机App能快速搭建远程监控界面。新版本支持通过模板自动生成设备端代码,在网页上填写WiFi信息和硬件引脚就能生成Arduino代码,适合不想从零写通信逻辑的人。
- ESP RainMaker。乐鑫官方的IoT云平台,支持设备配网、远程控制、OTA升级。它在网页端提供设备管理后台,设备端固件可以直接用ESP-IDF的RainMaker组件,开通账号后照着官方文档操作即可。对我这种习惯做原型的人来说,RainMaker最大的价值是配网流程不用自己写App或者小程序了。
- ESP Connect类配网工具。有些在线网页能帮ESP32设备一键完成SmartConfig配网或SoftAP配网引导,不用自己开发配网界面。尤其适合做小批量产品演示,或者给朋友体验你的设备时,直接开网页帮他配网。
把上面这些放到一张速查表里:
| 工具 | 类型 | 适合人群 | 上手难度 |
|---|---|---|---|
| ESPHome Web Installer | 固件烧录 | 智能家居玩家 | 极简单 |
| WLED Web Installer | 固件烧录 | LED灯带玩家 | 极简单 |
| Tasmota Web Installer | 固件烧录 | 智能家居玩家 | 极简单 |
| ESPEasy Web Flasher | 固件烧录 | 传感器玩家 | 极简单 |
| Arduino Cloud Editor | 在线IDE | Arduino用户 | 简单 |
| Espruino Web IDE | 在线IDE | JS开发者/快速原型 | 简单 |
| Makestack | 在线IDE | IoT原型验证 | 中等 |
| Mixly/Codecraft | 图形化编程 | 教育场景 | 简单 |
| Wokwi | 电路模拟器 | 所有开发者 | 中等 |
| Tinkercad Circuits | 电路模拟器 | Arduino学习者 | 简单 |
| NodeMCU Custom Build | 云端编译 | Lua玩家 | 中等 |
| ESP-IDF Component Registry | 组件管理 | ESP-IDF用户 | 简单 |
| Web Serial Terminal | 调试工具 | 所有开发者 | 极简单 |
| Web BLE工具 | 调试工具 | BLE开发者 | 简单 |
| Blynk | IoT平台 | IoT原型验证 | 简单 |
| ESP RainMaker | IoT平台 | 乐鑫生态用户 | 中等 |
这个表基本涵盖了从零开始到入门进阶的主要需求。接下来我挑三个最常见的实操场景,把完整流程走一遍。
3. 实操记录:浏览器5分钟烧录ESP32
光说不练假把式。我拿一块最常见的ESP32 DevKitC开发板做演示,从浏览器打开到固件烧录成功,完整走一遍。
3.1 烧录前的准备
第一步是浏览器。建议直接用Chrome或Edge,并且保持最新版本,因为Web Serial API只在这两个浏览器中支持得最完整。Firefox虽然也开始支持Web Serial,但在我测试时还是偶尔遇到兼容性问题,不建议新手用它做烧录。
第二步是确认驱动。ESP32开发板普遍使用CP2102或CH340芯片做USB转串口,系统一般会自动安装驱动。如果你的设备管理器里看不到COM口,手动下载对应驱动装一下。这里多说一句:老玩嵌入式的人都有一个习惯,插上USB后第一件事就是看设备管理器里有没有新的COM口出现。看不见COM口,后面所有操作都免谈。
第三步是USB线。这不是句废话。我至少遇到五次“烧录失败”排查到最后发现是USB线只能充电不能传数据。你手上如果有几根USB线分不清哪个是数据线,最简单的方法就是接上开发板后看电脑有没有“叮咚”的识别提示音。有提示音说明系统识别到了设备。
3.2 用ESPHome Web Installer烧录固件
打开web.esphome.io,页面会自动检测浏览器是否支持Web Serial。不支持时会直接提示你换Chrome或Edge。我用的是ESPHOME的Web安装器,因为它对新手最友好,而且可以顺带演示配网流程。
- 第一步:点击“Connect Device”按钮,浏览器会弹出串口选择窗口,选择刚才出现在列表里的COM口。如果列表是空的,检查USB线、驱动,再试一次。
- 第二步:选择设备类型。这里选ESP32,然后选择“Install”按钮,页面会从云端下载官方预编译固件。
- 第三步:点击“Install”后,浏览器会再次提示选择串口,确认后正式开始烧录。此时页面会出现一个写入进度条,蓝色块从左往右移动,这个过程大约持续30秒到1分钟,取决于网络和固件大小。
- 第四步:烧录完成后,页面会提示你设备是否需要配网。选择“Log in to WiFi”并输入你家WiFi的名称和密码,设备会直接连接ESPHome Dashboard的云端或你自建的Home Assistant。
- 第五步:如果设备配网成功,串口监视器里会出现一组设备信息。到这里,一整块刚从包装袋里拿出来的裸板ESP32就变成了一台智能家居控制节点,中途没有写过一行代码。
整个流程中最容易出状况的是端口识别和浏览器权限弹窗。浏览器弹窗被拦、杀毒软件拦截网页访问串口,都可能造成“网页显示已连接,但烧录没反应”。我的建议是到浏览器设置里允许该站点访问串口设备,同时暂时关掉安全软件对浏览器USB操作的拦截。
3.3 用Wokwi在云端调试代码
烧录现成固件只是入门,自己想写代码的时候,我一般先在Wokwi上跑通逻辑。以最常见的“HTTP请求温湿度上报”为例,完整流程如下:
打开wokwi.com,新建一个ESP32项目。右侧会展示一个虚拟的Esp32开发板,左侧是代码编辑器,底部是串口终端。点击编辑器里的diagram.json可以配置电路接线。我放了一个DHT22传感器,把它的DATA引脚连到GPIO4。
代码用Arduino框架:
#include <WiFi.h> #include <HTTPClient.h> #include <DHT.h> #define DHTPIN 4 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); const char* ssid = "Wokwi-GUEST"; const char* password = ""; void setup() { Serial.begin(115200); dht.begin(); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi connected"); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Failed to read from DHT sensor!"); return; } HTTPClient http; http.begin("https://httpbin.org/post"); http.addHeader("Content-Type", "application/json"); String payload = "{\"temp\":" + String(t) + ",\"humidity\":" + String(h) + "}"; int httpCode = http.POST(payload); Serial.printf("HTTP status: %d\n", httpCode); http.end(); delay(5000); }注意Wokwi内置了WiFi热点,SSID固定是“Wokwi-GUEST”,密码为空。你不需要真的连家里WiFi就能测试联网逻辑。点击右上角的运行按钮后,虚拟ESP32开始启动,串口终端会出现WiFi连接日志,然后每5秒发起一次HTTP请求。网络请求可以直接发到公网,我在测试中看到httpbin返回了200,整个流程就和真实硬件一模一样。
有个小技巧:Wokwi的串口终端支持输入字符,也就是说你可以在Web端用Serial.read()和真实开发者一样调试交互逻辑。模拟器的调试能力不弱,甚至可以设置断点、单步执行,对写复杂逻辑很有帮助。
3.4 用Web Serial终端看真实设备的日志
代码在Wokwi上验证通过后,烧录到真实硬件,这时需要看串口输出。Web Serial终端就是替代本地串口助手的工具。打开一个网页版串口终端,选择COM口,波特率设置成代码里的Serial.begin值(比如115200),就能实时看到设备日志。
如果日志完全没输出,先看波特率对不对。这是个特别常见的问题:代码里写了115200,终端却用9600,出来的全是乱码。把波特率调正确,乱码立刻消失。如果还是没输出,检查是否选错了COM口。我调试时遇到过笔记本自带的蓝牙模块占用了COM口,导致程序连到了蓝牙而不是ESP32,日志自然不对。
4. 常见问题与排查实录
这部分是实打实的经验。下面都是我亲自遇到或者帮别人排查过的问题,整理成表格,方便你之后遇到类似情况直接对照排查。
4.1 浏览器烧录问题速查
| 现象 | 常见原因 | 解决方案 |
|---|---|---|
| 点击连接按钮后没有串口可选 | USB线是充电线,驱动没装好,或COM口被其他软件占用 | 换数据线、装驱动、关掉占用COM口的软件后重试 |
| 烧录进度条卡在0%或中途卡住 | 开发板没有进入下载模式,或供电不稳定 | 按住开发板上的BOOT键再点烧录,部分开发板需要手动进入下载模式 |
| 烧录完成后设备没反应 | 固件本身有问题,或复位键没有按 | 拔掉USB重新插,或者按一下开发板上的EN/RST键复位 |
| 浏览器提示“端口已被占用” | 有其他终端软件或Arduino IDE连着同一个COM口 | 关闭所有占用端口的软件,刷新网页重试 |
| 浏览器权限弹窗被拦截 | 浏览器安全设置或杀毒软件拦截 | 在浏览器设置中允许该站点访问串口,关闭USB拦截类安全功能 |
| 网页提示“Web Serial not supported” | 浏览器版本太旧,或使用Firefox/Safari | 换最新版Chrome或Edge |
最让我无语的一类问题是:用户说不小心把某个在线工具烧录进了一个完全不同的芯片,结果设备变砖。这里必须提醒一句:每个Web Installer都有芯片类型选择,烧入前一定要确认你的开发板是ESP32还是ESP8266,是ESP32-S3还是ESP32-C3。不同芯片的固件不通用,刷错了就成砖,只能通过USB转串口工具重新接线救回,对新手来说很难操作。
4.2 硬件与接线层面的大坑
在线工具把软件门槛降下来了,但硬件层的问题还是绕不开。最常见的几个:
开发板供电不足。如果用了劣质USB Hub,或者电脑USB口供电能力弱,烧录过程中可能因为电流波动导致芯片复位,烧录失败。我建议用带外部电源的USB Hub,或者直接把开发板插到电脑主板上的USB口,别用前置面板的USB口。
BOOT模式进不去。ESP32和ESP8266烧录时通常需要芯片处于下载模式。多数开发板通过USB自动进入下载模式,但有些需要手动操作:按住BOOT(或IO0)键不放,然后短按RST键,松开BOOT键,电脑才会识别出可烧录的设备。遇到“串口连接正常但网页提示无法烧录”,优先试这个动作。
GPIO状态干扰下载。有些开发板GPIO0引脚外接了下拉电阻或按钮,可能导致芯片无法进入下载模式。如果有外设接到GPIO0,建议先把外设断开再烧录。
4.3 在线平台本身的限制
还有一个绕不开的问题:在线平台依赖云端服务,如果服务器负载高或网络状况不好,编译或烧录都会变慢。我在用Arduino Cloud Editor的时候,偶尔会遇到编译排队几分钟的情况。这其实可以理解——本地编译用你电脑的CPU,云端编译所有人挤同一批服务器。遇到高峰期,我一般会避开晚上八九点,或者干脆用本地环境处理紧急任务。
另外,很多在线平台需要注册账号,有的还需要绑定设备,隐私敏感的朋友要注意看平台的数据政策。我自己会在个人项目中使用在线工具,但涉及商业项目的产品数据,还是倾向本地自建和后端自控的方案。
5. 在线工具的边界与我现在的混合工作流
5.1 什么时候别硬用在线工具
在线工具很爽,但不是万能的。我整理了几个不适合硬上的场景,帮你避免浪费时间:
第一,需要调试复杂中断逻辑或实时性要求高的代码。在线模拟器虽然能模拟大部分外设行为,但对时序精度、中断响应时间的模拟仍然有限。Wokwi在跑RTOS任务调度时表现还可以,但在做高频PWM输出或者边沿触发中断时,逻辑可能和真实硬件不完全一致。涉及这种场景,我建议直接上真机加逻辑分析仪调试。
第二,项目依赖大量第三方库且版本管理严格。ESP-IDF和Arduino的库生态迭代很快,在线编译器帮你锁定的库版本未必和你后来本地复现时一致。如果项目需要多人协作、长期维护,本地IDE配合明确的依赖锁文件更可靠。
第三,涉及功耗分析和电池寿命优化。ESP32的Deep Sleep电流测量、唤醒源验证,这些必须要用真实硬件加高精度万用表。在线工具做不了也模拟不了。
第四,大批量生产烧录。产线上一次烧几千片板子,你需要的是烧录治具、批量烧录脚本、MAC地址管理这些工业级方案,网页工具满足不了。
5.2 我现在的工作流参考
踩过这么多坑之后,我现在的工作流其实是个混合模式,不一定适合所有人,但给你做个参考。
日常原型验证:先用Wokwi把外设逻辑和关键算法跑通,尤其是网络请求和传感器读取这类容易出逻辑错误的环节。模拟器省掉了反复插拔USB的麻烦,改代码的反馈速度比真机快得多。模拟器验证通过后,再烧录到真实硬件。
快速给客户做Demo:直接用ESPHome、Tasmota、Blynk这类开箱即用平台,在网页上连接配置,一小时就能把一台智能控制设备端到端跑起来,客户看到的是成品而不是跳动的代码。
正式项目开发:转向本地ESP-IDF,用VS Code加插件管理依赖和构建。但烧录时不一定会用IDE内嵌工具,很多时候我反而会用在线Web Installer生成的固件包,配合esptool命令行批量烧录,因为这样更可控。注意,这里用的是esptool,不是IDE的一键烧录。
硬件调试:回到Web Serial终端和Web BLE工具。这类工具免安装的特点在调试阶段特别占优,因为不用在客户电脑上装驱动和终端软件,浏览器一开就能帮忙看日志。
5.3 给新手的“省钱学习路线”
如果你刚接触ESP32,手里可能只买了一块板子、一根USB线,连杜邦线都还没配齐。我的建议是:
第一步,不要急着买元器件,先打开Wokwi,跟着官方例子把LED闪烁跑起来。理解GPIO、延时、循环这些概念。
第二步,在模拟器里加一个按钮和一个LED,实现按钮控制开关,理解输入输出。
第三步,学WiFi联网和HTTP请求,模拟器里连“Wokwi-GUEST”热点,用串口监视器看返回结果。
第四步,再买一块真实ESP32开发板和LED模块,把第三步的代码烧到真实硬件上。这时候你大概率会遇到串口识别、驱动安装、烧录模式这些小坑,没问题,这些坑本身就是嵌入式开发的一部分,这次踩过以后就不会再怕。
第五步,给自己规划一个完整的小项目,比如温湿度监控或智能台灯。原型阶段用在线工具验证,然后一步步换成真实硬件。
最后说点实际的
在线开发工具没有取代本地工具链,这一点我感受很深。但对于特定场景——新手入门、快速原型、固件刷写、设备调试——它的效率是本地环境没法比的。我个人现在的习惯是:电脑上还是装了ESP-IDF和VS Code,但日常越来越多操作会先打开Wokwi、先开Web Installer,本地IDE变成了兜底方案而不是默认入口。如果你也被环境配置折磨过,不妨从这些网页工具重新开始,先把代码跑起来的乐趣找回来。一个能亮灯、能联网、能上传数据的ESP32,才是继续学下去的最好动力。