背景
一天偶然想到不知道安卓手机有没有串口调试工具,结果应用市场一搜还真有,所以理论上来说可以用安卓手机对ESP32设备进行烧录
实验环境
ESP32设备: M5StickC Plus
Flutter: 2.2.3
安卓手机
开始
因为选用了Flutter这个框架进行开发,所以先搜索了一下Flutter上对于SerialPort操作的库,尝试过两三个之后最终使用了 usb_serial .
至于esptool,可以肯定的是暂时没有人在Flutter上进行实现,所以下一步就是把esptool在移植到Flutter。此处选择了对 esptool-js 进行移植,这个库是在浏览器上通过SerialPort对设备进行烧录等操作。
分析
Esptool原理大概如下步骤:
1.通过控制SerialPort的DTR和RTS进入烧录模式
2.手机端发送指令请求连接设备
3.设备返回特定的数据帧
4.建立连接
...(建立连接后就可以对设备进行不同操作)
移植
需要进行实现的主要是两个文件: webserial.js 和