前言
过去我们做 ESP32 的连接、烧录、日志查看,往往需要安装各种驱动、安装各种软件,在使用时都是基于命令行进行操作,相当不直观,并且有些软件还可能存在跨平台问题,在 Windows 上有而 Mac 上没有之类。
不过随着 Chrome 在 USB 设备直连能力上的增强,浏览器已经可以在用户授权后,直接访问部分 USB/串口设备(典型如 CDC/串口类设备)了。
前段时间就发现了一个基于浏览器的 ESP32 管理工具网站 ESPConnect,对于 ESP32 开发,如果只是一些临时的调试、管理需求,完全可以基于这个网站来操作了。
ESPConnect
使用以下地址即可在线使用 ESPConnect:
https://thelastoutpostworkshop.github.io/ESPConnect/
ESPConnect 是面向 ESP32 设备的浏览器工具集,将常见的维护任务统一起来,让你无需安装桌面程序即可连接、查看和更新开发板。
ESPConnect 把开发、调试、量产常用的能力集中到一个页面里:连接设备、查看日志、读写分区、检查 NVS、管理文件系统、以及常用的闪存操作。
特别是 NVS 管理、SPIFFS 分区管理这些功能,还是相当实用的,文件管理还是得图形化界面来操作比较快捷。
整体界面
ESPConnect 整体界面采用“左侧功能导航 + 右侧工作区”的布局:
-
顶部状态栏:显示当前连接状态、串口参数等关键摘要。
-
左侧导航:按功能模块分区,使用时根据需要在模块间切换。
-
右侧工作区:每个模块都有对应的界面进行操作和管理,并且根据管理功能的不一样,提供比命令行更易用的工具进 行操作。
连接上设备之后是设备信息页,展示了连接上的 ESP32 模块的各种信息,具体型号、封装、Flash 大小、PSRAM 大小参数等。
并且这里还会出现一些在使用 Arduino 框架开发时不会用到的安全参数。
连接设备
在顶部点击“连接”按钮,Chrome 就会弹出电脑当前连接的串口设备,例如图中就选择了“USB JTAG/serial debug unit”,然后点击“Connect”即可连接上 ESP32 开发板。
注意:ESP32 开发板需要进入下载模式才可以连接,或者是刷入了最新具备 JTAG 功能的 bootloader 的固件才可以直接连接。
串口监视器
调试固件时最常用的功能,这里需要注意,在使用 Arduino 框架开发时,默认情况下,ESP32 固件并不会直接将 USB 作为串口调试输出,可能需要配合最新的 bootloader 来使用。
分区表查看
分区表查看功能用来“看清 Flash 里有什么”,对固件存储布局、OTA 分区、数据分区等可以更直观的查看和管理。
-
可视化展示:和现在电脑上的容量管理功能类似,可以一眼看出 bootloader/app/ota/data/nvs/spiffs/fatfs 等分区的位置,并且可以直观地看出每个分区的大小。
-
分区表:以表格方式展示分区名称、类型、起始地址、大小
这个功能对于大部分命令行工具来说都是缺失的,感觉在管理 Flash 时还是相当有用的。
NVS 检查
NVS(Non-Volatile Storage)是 ESP32 常用的键值对存储区,Wi-Fi 配置、设备标识、业务参数都可能在这里。
-
NVS 页面:NVS 已经使用的存储空间
-
NVS 键值对:已经保存的 NVS 数据,键值(key/value)
PS. 这里也说明 NVS 在默认情况下并不是一个可靠的保密数据存储区域,如果需要存储敏感数据,需要结合分区加密等措施来使用。
文件系统工具
管理设备上的文件系统分区(如 SPIFFS / LittleFS / FATFS),可以备份、管理文件系统中的文件。
-
文件浏览:查看文件系统分区中的文件夹、文件列表
-
上传/下载:快速下载文件分区中的文件,或者上传本地文件到文件分区中
-
备份:备份整个文件系统分区,方便在出问题时恢复
保存到 Flash
需要注意的是,ESPConnect 的文件系统操作都是先在本地进行,只有在“保存到闪存”时才会真正写入到 ESP32 的 Flash 中。
注意:因为操作都是针对整个文件系统分区上传和下载,所以如果文件系统分区比较大,在备份和保存到闪存时都会花一些时间,如果波特率选得低的花,时间会花得更多。
闪存工具
注意:这里都是危险操作。
这里就是可以脱离 esptool.py 来进行 ESP32 模块的 Flash 进行擦除和烧录固件了。
这个功能可能对于非开发用户来说,可以更方便地去复刻网上项目了,直接在这里烧录固件,而不需要额外去安装一堆工具。
小结
不管对于研发还是普通用户来说,ESPConnect 都有一定程度的帮助。
如果你有更好的工具,或者不能满足的需求,也可以在评论区讨论~~