Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuoteImage

QuoteImage 用手机把普通图片处理成黑白电子纸画面,并通过 Bluetooth Low Energy(BLE)发送到 MindReset Quote/0。项目包含 Android/iOS Flutter 应用、 ESP32-C3 ESP-IDF/FreeRTOS 固件、UC8251D 显示驱动和一套带认证、校验及进度反馈的 BLE 应用协议。

文档入口

文档 适合谁 内容
用户指南 QuoteImage 使用者 首次配对、图片处理、发送、设备管理、故障排查
开发者指南 开发、测试和维护人员 项目结构、架构、环境、开发流程、测试、部署和发布
BLE 协议规范 客户端/固件开发者 GATT、配对认证、帧传输和状态码的字节级约定
移动端说明 Flutter 开发者 移动端常用命令与实现摘要
固件说明 固件开发者 ESP-IDF 构建、引脚、部署、迁移和配对恢复

系统概览

手机图片
  -> 解码与 EXIF 方向校正
  -> 旋转、缩放/裁切、灰度与抖动
  -> 152 x 296、1 bit、5624 字节帧
  -> BLE 认证、分块传输与 CRC32 校验
  -> Quote/0 刷新电子纸并进入深度睡眠

图片处理全部在手机后台 isolate 中完成,微控制器只接收最终帧。预览图和发送帧 由同一个像素循环生成,因此应用中的黑白预览就是设备将收到的内容。

快速开始

开发环境需要 Flutter 3.41 或更高版本、Python 3、CMake/Ninja,以及已经安装并 激活的 ESP-IDF 5.5.x。连接真机后运行:

make bootstrap
make check
make mobile-run

向 Quote/0 构建并部署 ESP-IDF 固件:

make device-install PORT=/dev/cu.usbmodemXXXX

从旧 MicroPython 固件首次迁移需改用 make device-migrate PORT=...,该操作会整片 擦除并要求重新配对;后续 device-install 会保留 NVS 中的名称和凭证。完整环境准备、 真机运行和恢复流程见开发者指南

硬件与传输规格

  • 主控:ESP32-C3
  • 屏幕:UC8251D,152 x 296 单色电子纸
  • 帧格式:逐行、MSB-first,0 为黑、1 为白,共 5624 字节
  • 连接:BLE,自定义 GATT 服务,标准 Battery Service
  • 完整性:协议版本、帧长度、连续偏移和 CRC32 均在刷新前校验
  • 持久化:设备只持久化名称和一个授权凭证;传输中的图片仅保存在 RAM

一键检查

make check

该命令会运行 C 宿主机测试、ESP-IDF 完整构建、legacy MicroPython 测试,以及 Flutter 静态分析和测试。它不覆盖真实射频环境、硬件引脚、屏幕 BUSY 时序和电子纸 波形,这些仍需在 Quote/0 真机上验证。

About

Offline image display for Quote/0

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages