去年开始大模型火爆后也带动了ESP32芯片的爆发出圈带动股票暴涨。各种AI玩具层出不穷。ESP32的低门槛再加上B站UP的带动,光开源的小智AI两月就带动了10万AI设备,当然这和原来的智能音箱如小爱同学比只能算是毛毛雨,而且门槛很低智能音箱厂商发个OTA或新出个版本也就接入大模型了,而且大厂生态更完整,小米智能家居就是国内独一份的存在。
AI玩具或许是个大市场,三五十块钱大部分买了小孩子估计也就玩个半月就吃灰,但市场足够大。还有就是像笔者这样的爱好者折腾个几个月哪天忘了也就吃灰了。
ESP32模组
CPU 和片上存储器
• 内置 ESP32-S3 系列芯片,Xtensa® 双核 32 位 LX7 微处理器 (支持单精度浮点运算单元),支持 高达 240 MHz 的时钟频率
• 384 KB ROM
• 512 KB SRAM
• 16 KB RTC SRAM
• 最大 16 MB PSRAM
• GPIO、SPI、LCD、Camera 接口、UART、I2C、I2S等
单买新品目前38块左右,从去年底爆火涨价了。你直接买芯片还没法直接用,还需要自己去打板比较麻烦。普通玩家直接买ESP32开发板就好了,目前市面上各种各样的ESP32开发板,或直接买乐鑫的开发板,当然价格自然也不是三十多块。要成本更低还可以使用更低端的芯片。
烧录
ESP32烧录固件非常方便直接使用USB将开发板连接到电脑即可通过串口烧录固件。烧录固件有多种方式,除了可以使用官方提供的flash_download_tool与esptool固件烧录工具还可以使用如Thonny、esp-launchpad等第三方烧录工具,这里使用esptool烧录固件。
现在买的很多开发板都内置了小智的固件,这里刷的是MicroPython 固件。
安装esptool
pip install esptool
ESP32开发板连接到电脑后在Windows的设备管理器中可以看如下信息,端口(COM和LPT)处可看到连接的串口设备USB-SERIAL CH340(COM4)使用的端口为COM4。此处的端口需要记住,下面刷固件需要用到此端口。
下载 ESP32S3 的 MicroPython 固件
https://micropython.org/download/ESP32_GENERIC_S3/
在Linux中端口是这种形式:/dev/ttyUSB或/dev/ttyACM0,这里是windows所以--port 值是 COM4
读取ESP32芯片信息,可以看到芯片的PSRAM、频率、支持WIFI、蓝牙、MAC地址等数据。
esptool --chip esp32s3 -p COM4 chip_id
esptool.py v4.8.1
Serial port COM4
Connecting.....
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: d8:3b:da:6e:cb:0c
Uploading stub...
Running stub...
Stub running...
Warning: ESP32-S3 has no Chip ID. Reading MAC instead.
MAC: d8:3b:da:6e:cb:0c
Hard resetting via RTS pin...
读取设备SPI flash信息
esptool --chip esp32s3 --port COM4 flash_id
esptool.py v4.8.1
Serial port COM4
Connecting.....
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: d8:3b:da:6e:cb:0c
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4018
Detected flash size: 16MB
Flash type set in eFuse: quad (4 data lines)
Flash voltage set by eFuse to 3.3V
Hard resetting via RTS pin...
在刷固件前先清除板内原有固件
Esptool --chip esp32s3 --port COM4 erase_flash
如有需要还可先备份固件:read_flash <起始地址> <结束地址或大小> <完整备份文件路径> ALL:自动检测闪存大小
esptool --chip esp32s3 --port COM3 read_flash 0x0 ALL C:\path\to\backup\firmware_backup.bin
亮屏
亮屏仅仅是第一步,后续怎么能把ESP32玩出花样才是关键。作为所谓AI物联网神器能做的太多。
参考资料: https://docs.espressif.com/projects/esptool/en/latest/esp32s3/esptool/