文末联系小编,获取项目源码
Monica 智能手表基于乐鑫 EPS32-S3 开发板,配置1.8寸LED 显示屏,采用 Mooncake UI 框架开发,内置计步器、指南针、气压传感。
主控:ESP32-S3,32M 外置 Flash
IMU:BMI270 + BM150 (抬手唤醒、计步器、指南针)
电源管理:AXP2101
其他:SD卡槽、RTC、蜂鸣器、MIC、气压传感、按键
屏幕:1.8寸 Amoled 368*448
电池:402728 400毫安
Mooncake UI 框架将应用和驱动层解耦:
SimpleKV:简单的 Key-Value (键-值) 内存数据库框架,实现两层的数据交互。使用键(Key)索引数据,切断应用层和驱动层的数据耦合。
Lvgl: 使用 Lvgl 作上层应用默认图形库,及其文件系统接口
驱动层
HAL:外设驱动的对象抽象
Hardware Manager:硬件管理层。负责底层的 硬件初始化、运行时的 状态维护更新,例如自动睡眠、抬手唤醒、计步器更新等
USB MSC 模式:为了读写 SD 卡方便,同时按 电源 和 下 按键启动时,会进入 USB MSC 模式,SD 卡会被挂载成 U盘,接上 USB 即可直接读写
应用层
App 基类、安装卸载框架:所有 App 的对象基类,描述了 App 的基础框架。安装卸载框架实现简单的 App 列表管理
App 生命周期管理:支持前后台的 App 运行生命周期 调度器 (单线程,单前台,多后台) ,使用 状态机 (FSM)实现
系统内置 APP:都是在 App 层之上实现的应用,但 启动动画 和 启动器 会被 Framwaork 框架特殊调用
用户自定义表盘
watch_faces 目录下的每一个文件夹都视作一个表盘
background 目录:存放表盘背景资源 (png、gif)
number 目录:存放从0~9的时间数字资源 (png)
face.json :资源描述文件,如时间数字坐标等
watch_faces/
|
├──?AyanamiRei
│ ? ├── background
│ ? │ ? ├── background.png
│ ? ├── face.json
│ ? └──?number
│ ? ? ? ├──?0.png
│ ? ? ? ├── ~
│ ? ? ? └──?9.png
|
├──?FloatingNum
│ ? ├── background
│ ? │ ? └── background.png
│ ? ├── face.json
│ ? └──?number
│ ? ? ? ├──?0.png
│ ? ? ? ├── ~
│ ? ? ? └──?9.png
|
└──?PixelThinking
? ├── background
? │ ? ├── background.png
? ├── face.json
? └──?number
? ? ? ├──?0.png
? ? ? ├── ~
? ? ? └──?9.png
3D 外壳模型
如有源码采购和项目交付需求,请扫码联系小编,微信号:?beacon0418