掌控板3.0

本文引用的文件

产品概述

掌控板3.0(mpython_v3)是一款面向K12创客与AIoT教学的开源硬件,基于ESP32-S3双核处理器,集成1.47寸LCD彩屏、音频编解码与喇叭、六轴传感器、磁传感器、光线传感器、麦克风、RGB灯、实体按键与触摸按键等丰富外设,支持WiFi与蓝牙5双模通信。其固件基于MicroPython与ESP-IDF二次开发,提供板载驱动与常用模块接口,配合图形化或Python编程环境,可快速实现环境监测、创意造物、物联网控制与基础AI应用等教学场景。

  • 目标用户:中小学信息技术教师与学生、创客爱好者、IoT/AI入门开发者

  • 核心价值:低门槛上手、丰富板载资源、跨平台生态、可扩展的IO能力

  • 适用场景:编程教育、传感器实验、小游戏与电子宠物、智能家居节点、简易AI语音/视觉项目

章节来源

核心业务流程

本小节从“硬件—固件—应用”的角度梳理典型使用流程,便于理解各层职责与数据流向。

sequenceDiagram
participant User as "用户"
participant App as "应用代码<br/>examples/mpython_v3/main.py"
participant Lib as "板级库<br/>mpython.py"
participant HW as "板载硬件<br/>LCD/传感器/音频/IO"
participant Net as "网络栈<br/>WiFi/BLE"
User->>App : 编写并运行程序
App->>Lib : 调用显示/传感器/音频/IO API
Lib->>HW : 通过I2C/SPI/ADC/PWM等总线访问外设
Lib->>Net : 连接WiFi/开启热点可选
HW-->>Lib : 返回传感器数据/状态
Lib-->>App : 封装后的数据对象
App-->>User : 屏幕显示/声音反馈/联网结果
  • 显示流程:应用通过TFT_displayer类写入帧缓冲,最终由底层LCD驱动刷新到1.47寸屏幕

  • 传感器流程:I2C读取QMI8658C/MMC5603/LTR-308等数据,经库函数转换为物理量

  • 音频流程:通过ES8388进行录音/播放,结合内置喇叭输出

  • 网络流程:STA模式连接路由器或AP模式创建热点,供上层应用使用

章节来源

  • esp32s3/firmware/examples/mpython_v3/main.py:1-145

  • esp32s3/firmware/boards/mpython_v3/modules/mpython.py:41-130

  • esp32s3/firmware/boards/mpython_v3/modules/mpython.py:147-196

功能模块清单

以下按硬件与软件分层列出主要模块及其职责、用户价值与验收要点。

  • 计算与通信

    • ESP32-S3双核处理器、512K SRAM、8MB PSRAM、16MB Flash;支持IEEE 802.11 b/g/n Wi-Fi与Bluetooth 5

    • 价值:高性能算力与大容量存储,满足多媒体与AIoT需求

    • 验收:能正常编译烧录、Wi-Fi/BLE可用、内存充足

  • 显示模块

    • 1.47寸LCD彩屏(ST7789),分辨率320x172,RGB565

    • 价值:直观交互界面,适合信息展示与游戏

    • 验收:屏幕点亮、字符/图像显示正常、刷新无闪烁

  • 输入模块

    • 实体按键A/B/Reset;触摸按键P/Y/T/H/O/N

    • 价值:便捷人机交互,支持事件回调

    • 验收:按键按下/释放检测准确,触摸阈值可调

  • 传感器模块

    • 六轴传感器QMI8658C(加速度计+陀螺仪)、磁传感器MMC5603、数字光线传感器LTR-308

    • 价值:运动检测、方向感知、光照测量,支撑多种项目

    • 验收:数据可读、量程/分辨率可配置、磁力校准可用

  • 音频模块

    • ES8388音频解码芯片、NS4150功放、双麦克风CDX4013、1W贴片喇叭

    • 价值:录音、播放、TTS/语音识别扩展,丰富交互体验

    • 验收:录音/播放正常、音量可调、噪声测量合理

  • IO扩展

    • 20通道数字I/O(含PWM/TouchPad)、6路12bit ADC(P0~P4,P6)、I2C、UART、SPI

    • 价值:灵活接入外部模块与传感器

    • 验收:GPIO读写、ADC采样、I2C扫描、串口通信正常

  • 供电与电源管理

    • USB 5V或金手指3.3V供电,工作电压3.3V,最大工作电流700mA,最大负载电流1000mA

    • 价值:多供电方式,适配不同场景

    • 验收:USB供电稳定、3.3V引脚输出正常、带载不重启

  • 固件与API

    • MicroPython + ESP-IDF,板级库封装TFT显示、WiFi、MOTION、Pin、Button/Touch等

    • 价值:降低开发门槛,统一API风格

    • 验收:示例程序可运行、API行为符合文档

章节来源

数据与状态

  • 核心数据模型

    • TFT显示:FrameBuffer(320x172 RGB565),通过TFT_displayer类进行字符绘制与刷新

    • 传感器数据:加速度/角速度/磁场强度/航向角/光照值等,经I2C读取后转换

    • 音频数据:录音PCM/WAV、播放音频流,音量与状态管理

    • 网络状态:STA/AP模式切换、连接成功/失败、IP分配

  • 关键状态流转

    • 显示:clear→fill/pixel/text→show刷新

    • 传感器:初始化→配置量程/分辨率→读取→校准(磁力)

    • 音频:初始化→录音/播放→暂停/停止→释放

    • 网络:扫描→连接→获取IP→断开/关闭

  • 数据所有权边界

    • 板级库负责底层驱动与数据封装,应用层仅调用高层API

    • I2C总线共享,需避免冲突(如内部传感器与外部设备共用)

章节来源

关键约束与边界

  • 非功能性需求

    • 功耗与散热:最大工作电流700mA,持续高负载需注意散热

    • 实时性:音频与显示刷新对时序敏感,应避免阻塞操作

    • 可靠性:I2C总线共享,外部设备需正确上拉与地址分配

  • 依赖与集成边界

    • 固件依赖MicroPython与ESP-IDF,构建系统为CMake

    • 板载I2C引脚固定(SCL=43, SDA=44),与内部传感器共享

    • LCD使用SPI(CS/RS/SCK/SDA/BL),音频使用I2S(DOUT/MCLK/DIN/BCK/LRCK)

  • 业务约束

    • P4用于光线传感器、P10用于声音传感器,不可作为通用IO使用

    • WiFi与BLE同时使用时需注意信道与资源占用

    • 录音与噪声测量不宜同时运行,避免数据异常

章节来源

附录:技术参数、IO接口、结构尺寸与原理图

  • 技术参数

    • CPU:ESP32-S3双核,主频240MHz,512K SRAM,支持Wi-Fi与蓝牙5

    • 存储:8MB PSRAM,16MB Flash

    • 屏幕:1.47寸LCD彩屏,分辨率320x172,型号ST7789

    • 传感器:QMI8658C六轴、MMC5603磁传感器、LTR-308光线传感器

    • 音频:ES8388解码芯片、NS4150功放、双麦克风、1W喇叭

    • 按键:实体按键A/B/Reset,触摸按键P/Y/T/H/O/N

    • 供电:USB 5V或金手指3.3V,工作电压3.3V,最大工作电流700mA,最大负载电流1000mA

  • IO接口

    • 20通道数字I/O(含PWM/TouchPad),6路12bit ADC(P0~P4,P6)

    • I2C、UART(1路,115200bps)、SPI支持

    • LCD屏引脚:GPIO33(BL)、GPIO34(CS)、GPIO35(RS)、GPIO36(SCK)、GPIO37(SDA)

    • 音频解码芯片引脚:GPIO38(DOUT)、GPIO39(MCLK)、GPIO40(DIN)、GPIO41(BCK)、GPIO42(LRCK)

  • 结构尺寸

    • 参考官方结构尺寸图,便于外壳设计与安装定位

  • 原理图

    • 参考官方原理图PDF,了解完整电路连接与器件布局

章节来源