如何快速上手:无名科技星智 1.54 METAL (wifi) 触摸交互、休眠电源管理与编译烧录完整指南 如何快速上手无名科技星智 1.54 METAL (wifi) 触摸交互、休眠电源管理与编译烧录完整指南【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32拿到 xiaozhi-esp32 项目里这块无名科技星智 1.54 METAL (wifi)开发板后你可能会问它没有实体按键全靠触摸到底怎么玩为什么放着不放一会儿屏幕就暗了、再久就关机了又该怎么为 ESP32-S3 编译烧录固件这篇指南按先跑起来、再懂原理的顺序一次讲清它的触摸交互、休眠电源机制和完整构建流程。一、先跑起来为 ESP32-S3 编译烧录固件在了解交互细节之前先把固件烧进去。整条命令链都在板卡文档 main/boards/nologo/xingzhi-metal-1.54-wifi/README.md 中有记载按顺序执行即可前提是已装好 ESP-IDF 环境克隆项目并进入目录git clone https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 cd xiaozhi-esp32把编译目标设置为 ESP32-S3idf.py set-target esp32s3打开菜单配置idf.py menuconfig在菜单里选中目标板卡路径为Xiaozhi Assistant→Board Type选择无名科技星智1.54 METAL(wifi)后保存退出。编译固件idf.py build下载固件并打开串口终端一条命令搞定idf.py build flash monitor烧录成功后设备会自动重启并启动小助手界面。这块板的构建元信息在 config.json 中厂商nologo、型号xingzhi-metal-1.54-wifi、目标esp32s3且sdkconfig_append为空数组——也就是说它完全复用工程默认的 S3 配置不需要任何额外 sdkconfig 补丁。二、摸一下就知道三个触摸区域怎么分工这块板最特别的地方是用触摸交互完全替代了物理按键。屏幕上排着三个隐形触摸区左、中、右由 CST816 触摸芯片识别日常操作只需记住下面这张表想做什么怎么做开机关机状态下长按电源键 3 秒旧版硬件 1 秒即可关机开机状态下长按电源键 5 秒旧版硬件插着 USB 时不会自动关机唤醒 / 打断对话正常通话时单击中间触摸区重新配网开机后1 秒内单击中间触摸区设备自动重启并进入配网界面调大音量单击右侧触摸区长按 2 秒持续递增调小音量单击左侧触摸区长按 2 秒持续递减从驱动源码 cst816x.cc 可以看到这三个区并不是三个独立传感器而是把触摸坐标划分成了三段中间区负责boot 键语义唤醒/打断/配网左右两区负责音量。长按调节的阈值是 2 秒进入长按后每 200ms 音量按步长 5 连续增减到达 0~100 的上下限后自动停止并会在屏幕上弹出当前音量提示。三、60 秒不动进浅睡眠、300 秒自动关机充电时不休眠为什么我盯着它没动一会儿就黑屏关机了——这是休眠定时器PowerSaveTimer在工作。板卡源码 xingzhi-metal-1.54-wifi.cc 里构造参数为PowerSaveTimer(-1, 60, 300)含义是待命 60 秒进入浅睡眠。屏幕上聊天气泡被清空、表情切成打瞌睡背光亮度压到 1%看起来像是半睡半醒待命 300 秒触发关机请求调用PowerManager::shutdown()直接下电随时唤醒浅睡眠中单击中间触摸区表情回到正常、亮度恢复设备重新待命。它还和充电状态联动避免插着电却自动关机的尴尬检测到 USB 插入充电时休眠定时器被禁用SetEnabled(false)拔掉充电线恢复电池供电后才重新启用GetBatteryLevel里也会根据是否放电同步开/关休眠定时器。四、电池电量是怎么读出来的电源与电池检测都集中在板卡目录下的 power_manager.hUSB 插入检测GPIO1 上的 ADC 值落在约 1500~4000 区间即判定为插着 USB 充电电量估算GPIO7 的 ADC 每 60 个 tick 采样一次取 3 次均值后按 0%~100% 六组标定点线性插值换算百分比低于 20% 触发低电量提醒电源开关判定Power_Control(GPIO48)Power_Dec(GPIO47)两根脚由 200ms 周期的定时器轮询电源键电平判定长按时长完成开机/关机软件关机若失败还会兜底调用esp_deep_sleep_start()进入深睡眠。五、想改触摸分区或电源策略看这几个文件上手之后如果想定制——比如调整触摸分区、改长按阈值、换休眠时长——直接改这几个文件就行板卡主逻辑与休眠参数xingzhi-metal-1.54-wifi.cc上电后按电源管理 → 休眠定时器 → I2C 扫描触摸芯片地址 0x15→ SPI 屏 → 触摸任务的顺序初始化触摸事件与分区阈值cst816x.h / cst816x.cc触摸守护任务每 40ms 轮询一次支持单击、双击、长按开始/结束四类事件电源、充电与电池逻辑power_manager.h引脚与硬件配置config.h核心引脚一览 部分引脚 / 取值屏幕ST7789240×240SPI3_HOSTSDA/SCL: GPIO10/9DC: GPIO8CS: GPIO14RST: GPIO18背光: GPIO13音频I2S ES8311MCLK/BCLK/WS: GPIO5/6/4DOUT/DIN: GPIO15/17采样率 24000Hz音频 Codec 控制 I2CSDA/SCL: GPIO41/42触摸芯片 CST816I2C 地址 0x15复用音频 I2C 总线电源USB 检测: GPIO1电量: GPIO7控制/电源键: GPIO48/47Boot 按键GPIO0六、写在最后一句话总结这块板铝合金外壳 1.54 寸 ST7789 屏 CST816 触摸 ES8311 音频的 ESP32-S3 小助手方案三区触控管唤醒/打断/配网/音量PowerSaveTimerPowerManager管 60 秒浅睡眠、300 秒自动关机与充电联动。按本文的命令链烧录一次剩下的操作看上面两张表就够了想动手调直接打开第五节列的四个文件开改。【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考