当前环境不支持网页蓝牙传输
选图与裁剪Cropper · 捏合缩放 / 自由旋转
点击选择图片
也可以拖入,或直接粘贴
也可以拖入,或直接粘贴
没有照片时用它验证「抖动 → 四色 → 上屏」整条链路
双指捏合缩放、拖动移动图片;角度接近 90° 整数倍自动贴合。
风格只作用于照片
高级图像设置
留白拍立得白边
勾选要加白边的边,数值可改(px)
文字可多段叠加
拖动调整位置;右下圆点改大小,右上圆点转方向,左下圆点调宽窄,左上红点删除。
预览552 × 768 竖屏构图
两种构图的输出帧完全一致
连接
未连接
设备没出现?设备处于深度睡眠时蓝牙名会消失 —— 按一下设备上的按键(GPIO5)唤醒它。
出厂默认「不休眠」,上电即可连;若设过休眠档,用「定时自动唤醒」或按键唤醒。
设备信息读取 STATUS
固件—
接口版本—
屏幕—
左右镜像—
休眠档—
空闲内存—
电池—
休眠与唤醒
空闲多久进入深睡
定时自动唤醒(醒来广播 3 分钟)
「不休眠」的代价:设备会一直广播,BLE 常开电流远高于深睡,电池供电时可能几小时就见底。
电池供电更推荐「每小时」—— 每小时醒来广播 3 分钟,平时几乎不耗电。设置写入 NVS,掉电不丢。
屏幕设置
屏幕批次切换运行时生效,无需重刷,也不随帧切换。A1.1 批次屏直接选 A1
(固件 R2.3.0 起 A1.1 诊断画像已删除)。
刷新策略自固件 R2.3.0 起对齐参考版:A1 恒为「768×552 顺序直写」, 不再有驱动模式之分。左右镜像开关当前无生效档位(保留为兼容设置, 回读 flip= 仅为 NVS 值)。
本页面固定发送 768×552 契约帧;旧「全屏 800×600」档在 R2.3.0 固件上 会被能力闸门拦截(设备 STATUS 不再上报 full=)。
刷新策略自固件 R2.3.0 起对齐参考版:A1 恒为「768×552 顺序直写」, 不再有驱动模式之分。左右镜像开关当前无生效档位(保留为兼容设置, 回读 flip= 仅为 NVS 值)。
本页面固定发送 768×552 契约帧;旧「全屏 800×600」档在 R2.3.0 固件上 会被能力闸门拦截(设备 STATUS 不再上报 full=)。
维护
屏幕诊断帧定位丢失 / 无效区域
残影清理 = 2 次黑白全屏闪刷,约 40~60 秒,期间不要断电。
几何标尺帧:黑底,每 32 列一条 2px 白刻度,左端 4px 红、右端 4px 黄、 正中一块 8px 粗白。正常应看到左红右黄、刻度等距;若某侧或中间整片恒白, 即该处源线未被驱动(与 FB-009 同根),用刻度间距量出白带宽度即可定位。
棋盘矩阵帧(推荐先用它):全屏 12×12 块(每块 64 列 × 46 行),块内 8px 黑白棋盘、相邻块反相,块边界 2px 白线 + 3px 黑框;外沿左 4px 红、右 4px 黄、上下 4px 白。 完好的块 = 清晰棋盘格;未被驱动的块 = 一片纯色、毫无纹理。网格线让它可计数: 1 块 = 64 列,从左边红条起数就能读出坏区的列号与宽度。 判读只看「有没有纹理」(黑白是否都有),不要看亮度——这样拍摄反光、明暗不匀都不影响结论。 若连左端的红条都看不见,说明那条坏带已经盖到屏幕边缘。
细棋盘帧:1px 黑白逐像素交替。能分辨 => 源线独立驱动正常;糊成灰 => 相邻源线串扰 或驱动欠压(已到分辨率极限)。
单色帧:整屏纯色,用来判定「某个颜色通道失效」——若发黄/红却只看到灰白, 问题在波形而非源线。
边带标定帧(量可见窗偏移,需切到全屏 800×600 几何):四边铺 8px 一格的 黑白同心刻度环,第 48 格处一条黄环、第 64 格处一条红环, 正中央一块 24px 红方块。取景窗(外壳露出的那块)边缘落在哪一档,那个方向的 偏移就是多少:窗边压在黄环上 = 偏移 48,压在红环上 = 64,落在刻度里就数格子 (每格 8px);四条边各读一次,即得 (ox, oy)。拍一张照发我就能直接算—— 刻度是自带的标尺,拍摄角度与缩放都不影响读数。中央红块用于确认取景窗是否与 玻璃几何中心重合。
角标(R2.2.3 起):环图本身是中心对称的,单张照片断不出「被遮住的是哪一端」。 因此另贴三块 32px 方块 —— 一块红贴帧原点那一角、两块黄贴相邻两角; 先把红标认出来,就能一眼读出设备有没有整屏镜像 / 旋转。
三张帧的预期外观见
几何标尺帧:黑底,每 32 列一条 2px 白刻度,左端 4px 红、右端 4px 黄、 正中一块 8px 粗白。正常应看到左红右黄、刻度等距;若某侧或中间整片恒白, 即该处源线未被驱动(与 FB-009 同根),用刻度间距量出白带宽度即可定位。
棋盘矩阵帧(推荐先用它):全屏 12×12 块(每块 64 列 × 46 行),块内 8px 黑白棋盘、相邻块反相,块边界 2px 白线 + 3px 黑框;外沿左 4px 红、右 4px 黄、上下 4px 白。 完好的块 = 清晰棋盘格;未被驱动的块 = 一片纯色、毫无纹理。网格线让它可计数: 1 块 = 64 列,从左边红条起数就能读出坏区的列号与宽度。 判读只看「有没有纹理」(黑白是否都有),不要看亮度——这样拍摄反光、明暗不匀都不影响结论。 若连左端的红条都看不见,说明那条坏带已经盖到屏幕边缘。
细棋盘帧:1px 黑白逐像素交替。能分辨 => 源线独立驱动正常;糊成灰 => 相邻源线串扰 或驱动欠压(已到分辨率极限)。
单色帧:整屏纯色,用来判定「某个颜色通道失效」——若发黄/红却只看到灰白, 问题在波形而非源线。
边带标定帧(量可见窗偏移,需切到全屏 800×600 几何):四边铺 8px 一格的 黑白同心刻度环,第 48 格处一条黄环、第 64 格处一条红环, 正中央一块 24px 红方块。取景窗(外壳露出的那块)边缘落在哪一档,那个方向的 偏移就是多少:窗边压在黄环上 = 偏移 48,压在红环上 = 64,落在刻度里就数格子 (每格 8px);四条边各读一次,即得 (ox, oy)。拍一张照发我就能直接算—— 刻度是自带的标尺,拍摄角度与缩放都不影响读数。中央红块用于确认取景窗是否与 玻璃几何中心重合。
角标(R2.2.3 起):环图本身是中心对称的,单张照片断不出「被遮住的是哪一端」。 因此另贴三块 32px 方块 —— 一块红贴帧原点那一角、两块黄贴相邻两角; 先把红标认出来,就能一眼读出设备有没有整屏镜像 / 旋转。
三张帧的预期外观见
docs/diag-*-preview.png,可与之并排比对。
固件升级BLE OTA · 双槽回滚
展开(有风险,操作前请确认已接通电源)
选取 PlatformIO 编译出的 firmware.bin(`\.pio/build/moink/firmware.bin`)。
设备先校验镜像头与 CRC32,通过后写入备用槽并重启;新固件启动 45 秒内崩溃会自动回滚旧版。
传输期间请保持页面在前台、设备靠近手机。
日志
运行日志
就绪。
图片缩放、四色抖动与 2bpp 打包全部在本机完成,设备只负责接收与刷屏;
写入分片会从 244 字节自动降级重试,兼容不同手机协商出的 MTU。