需求说明书 · Requirements Specification

打开可交互原型

智能拼豆板 · 小程序端需求说明书

在现有拼豆小程序中新增「拼豆板」链路:用户从「我的图库」或「官方图纸」里选一张图纸,把它接到线下蓝牙 LED 拼豆板上, 实现「哪里亮灯拼哪里」:用户在小程序点一个色号,拼豆板上属于该颜色的格位全部亮起,照着灯位放豆即可, 不再需要对照纸质图纸逐格数、逐格找色。

版本
v1.0
日期
2026-07-27
适用硬件
104 × 104 拼豆屏
通信协议
BLE V1.4
交付形态
微信小程序页面
新增页面
1 入口 + 3 页面
打开可交互原型 1 个入口 + 3 个页面,全部状态可点击查看

01项目背景与目标

1.1 现状

现有小程序已具备完整的图纸生产能力:用户上传图片,小程序转换为拼豆图纸,存进「我的图库」;平台另外提供一批「官方图纸」供用户直接取用。 到此为止,用户拿到的是一张静态图纸

1.2 用户痛点

拼豆的实际操作发生在图纸之外。用户拿着图纸坐到桌前后,真正耗时的不是放豆,而是对位

这三点共同构成了新手的入门门槛,也是老玩家最主要的疲劳来源。

1.3 本期目标

引入蓝牙 LED 拼豆板作为「会发光的图纸」,把对位这件事从用户的眼睛转移到硬件上。 用户在小程序里点选一个色号,板子上属于该颜色的所有格位同时亮起,用户只需要把这个颜色的豆子放到亮着的位置。

目标衡量方式
降低对位成本用户无需再逐格数行列,只需识别亮灯位置
缩短开拼路径从点击「发送到拼豆板」到板上第一次亮灯,≤ 3 步、≤ 20 秒
点亮响应及时点击色号到板上亮灯,< 300 毫秒
硬件带动为已购板用户提供完整闭环,形成小程序与硬件的互相引流

02名词说明

名词含义
拼豆板本项目对接的蓝牙 LED 硬件,板面为 104 × 104 个可独立点亮的灯位,每个灯位对应一颗豆的位置。
图纸小程序把用户图片转换后得到的像素图,每个像素对应一颗豆,携带色号信息。
色号豆子的颜色编号,如 A12B16E1,与实物豆瓶盖上的标签一致。
格位板面上的一个坐标点,用 (X, Y) 表示,取值 0–103。
点亮把某个色号在图纸中出现的全部格位坐标下发给板子,使这些灯位发光。
清屏熄灭板面上当前所有亮着的灯位。切换色号前必须执行。
画板模式板子接受手机实时绘制指令的工作状态,进入与退出由小程序控制。

03本期范围

本期交付

  • 图纸库入口:我的图库(草稿 / 图纸)与官方图纸
  • 拼豆预览页:用料清单与开拼确认
  • 蓝牙连接页:设备搜索、连接与全部异常处理
  • 拼豆板操作页:色号点亮、亮度、旋转、进度
  • 104 × 104 拼豆板的完整适配
  • 图纸尺寸校验与小图纸居中放置
  • 断线提示与自动重连

本期不做

  • 52 × 52 等其他尺寸拼豆板(本期只对接 104 × 104
  • 超出 104 × 104 的图纸分区拼接
  • 板载图库(脱离手机独立显示)
  • 大色块的可读性分批点亮
  • 护眼模式独立开关
  • 会员付费门槛(本功能对全部用户开放)
  • 深色模式
  • 拼一半保存、下次继续拼
  • PC / 桌面端适配(本期只做移动端
关于范围的两点说明

图纸大于 104 × 104:本期在入口处直接拦截并引导用户缩小尺寸,不做分区拼接。 护眼模式:现行协议未提供独立指令,若做成开关实质上只是降低亮度,会误导用户,因此本期不做,柔光需求由亮度滑块承担。

04硬件与协议前提

下列事实来自《拼豆屏 BLE 通信协议 V1.4》与硬件方确认,是本期所有交互设计的前提条件,不可协商。

前提对产品的影响
板面固定 104 × 104 图纸等于该尺寸时一一对应;小于时居中放置、四周留空;大于时无法使用。
板子无法回读插豆状态 硬件不上报哪些格位已经插了豆,因此拼豆进度只能由用户手动确认。这决定了「拼完这色」必须顺手、可撤销、不怕误触。
一条点亮指令只携带一个颜色 同一时刻板上只能亮一个色号。这不是产品取舍,而是协议形状。
点亮指令没有回执 小程序发出点亮指令后收不到硬件确认,界面只能采用乐观更新,无法给出「本次点亮失败」的精确提示。用户以实物板子上的亮灯为准,手机端不做板面模拟。
切换色号不会自动清屏 切色必须先发清屏再发新色,板上会出现一次「熄灭→亮起」。界面需要把这次闪烁处理成有意的切换动效,避免被理解为设备故障。
亮度取值 10–100 亮度滑块下限为 10,不能拖到 0。「全部熄灭」是独立的关显示指令,不是把亮度调到零。
广播包携带设备尺寸 搜索阶段即可读出对方是 104 × 104 还是 52 × 52,因此设备列表可以在连接之前就标注尺寸并拦截不匹配的板子。
设备名格式 PDD_<MAC后6位> 设备列表、状态条中统一按此格式展示,例如 PDD_A1B2C3

4.1 涉及的协议指令

指令用途说明
0x8001读取硬件信息连接后读取屏幕尺寸、显示角度、当前亮度,用于初始化界面
0x8005读取版本号连接成功页展示固件版本
0x8004设置亮度取值 10–100,有回执
0x8006屏显旋转0° / 90° / 180° / 270°,有回执
0x0104进入 / 退出画板进入并清空、进入不清空、退出仍显示、退出还原,共四种
0x0109点亮指定色号携带一个 RGB 与该色全部格位坐标;超过 4096 字节自动分包,包间隔 50 毫秒;无回执
0x0107开关屏幕显示用于「全部熄灭 / 恢复显示」,有回执

05整体流程

用户从图纸库选定一张图纸进入,经过用料确认与设备连接,进入拼豆操作。三个页面之间可以自由回退。

步骤页面用户在做什么原型
0图纸库
我的图库 / 官方图纸
挑一张想拼的图纸,点进去打开 →
1拼豆预览页确认这张图要用哪些颜色、每种多少颗,决定开拼还是回去改打开 →
2蓝牙连接页把手机和板子连上(已连接过的设备会自动重连,此页不出现)打开 →
3拼豆板操作页点色号 → 板上亮灯 → 放豆 → 标记完成 → 自动跳到下一色打开 →
设计决策:蓝牙连接不强制前置

用户点击「发送到拼豆板」后直接进入拼豆预览页,即使没有连接设备也能查看完整用料清单; 只有在点击「开始拼豆」时才要求连接。这样,没带板子、或只想核对用料的用户不会被一道连接墙挡住。

06功能清单

共 17 项功能。「验收标准」一列可直接用于开发自测与交付走查,每组下方附对应的原型入口。

6.1 入口与图纸校验

在原型中查看 · 图纸库
编号功能说明验收标准
F1图纸库入口 「我的图库」与「官方图纸」两个来源,均可选中一张图纸直接进入拼豆流程。 两个来源均可进入;卡片展示缩略图、名称、尺寸与颗数;对全部用户开放,无会员门槛。
F2我的图库 分「草稿」与「图纸」两栏,带标题搜索、图纸额度与分页。 额度显示「已用 N/10,剩余 M」;草稿栏明确说明未生成图纸不能拼豆;图纸卡展示图纸码与创建时间。
F3图纸尺寸校验 图纸任一边长超过 104 时无法发送,在入口处即拦截。 超尺寸时按钮置灰不可点,并给出「请先缩小尺寸」的提示;≤ 104 时按钮正常可点。

6.2 用料确认

在原型中查看 · 拼豆预览页
编号功能说明验收标准
F4图纸信息展示 展示图纸预览、格数、总颗数、成品实物尺寸。 格数、总颗数与图纸数据一致;成品尺寸按 2.57mm/格 换算并保留一位小数。
F5用料清单 列出图纸用到的全部颜色,每行含色块、色号、色名、用量占比条、颗数。 颜色种类数与图纸一致;各色颗数之和等于总颗数;支持「按用量 / 按色号」两种排序。
F6小图纸居中示意 图纸小于 104 × 104 时,展示板面范围虚线框,图纸居中、四周留白。 虚线框代表 104 × 104 板面;图纸在框内居中;给出「将居中显示在 104×104 拼豆板上」的说明。

6.3 设备连接

在原型中查看 · 蓝牙连接页
编号功能说明验收标准
F7设备搜索与尺寸识别 过滤广播包,列出附近的拼豆板,并在连接前标注各设备的屏幕尺寸。 设备名按 PDD_xxxxxx 展示;每台设备带尺寸徽章;显示信号强度。
F8不匹配设备处理 尺寸与当前图纸不匹配的设备置灰但仍然列出。 不匹配设备可见但标注「尺寸不匹配」;误点后给出明确说明并引导换一台,不静默失败。
F9连接状态处理 覆盖未授权、蓝牙未开、搜索中、搜到、未搜到、连接中、连接成功、连接失败、尺寸不匹配共 9 种状态。 9 种状态均有独立文案;每种状态都提供明确的下一步操作按钮,不存在死路。
F10设备记忆与自动重连 连接成功后记住设备,下次自动静默重连。 已配对设备再次进入时不展示连接页;仅在自动重连失败时才展示。
F11连接成功信息 展示屏幕尺寸、电量、固件版本。 三项信息均来自设备实际读取,非写死。

6.4 拼豆操作

在原型中查看 · 拼豆板操作页
编号功能说明验收标准
F12色号点亮 点击色号,板上该颜色的全部格位亮起。 同一时刻只有一个色号处于点亮态;切色时先清屏再点亮;点击到亮灯 < 300ms;连点做防抖,不出现频闪。
F13图纸参照 手机上始终显示同一张固定的图纸,不做板面模拟,也不随选色、亮度、旋转变化。 图纸完整彩色显示且始终不变;不提供「只看当前色 / 全图」切换;点亮效果只发生在实物拼豆板上。
F14亮度调节 滑块调节板面亮度。 取值范围 10–100,下限不可拖到 0;初始值取自设备当前亮度;拖动结束后才下发指令。
F15屏显旋转 切换板面显示方向,适配板子横放 / 竖放。 支持 0° / 90° / 180° / 270°;手机预览图同步旋转;设置被记住。
F16全部熄灭 / 恢复 一键熄灭板面,便于拍照或休息。 走关显示指令而非亮度归零;再次点击可恢复;点击任一色号自动恢复显示。
F17进度管理 「拼完这色」标记当前颜色完成并自动跳到下一个待拼色号;支持按待拼 / 已完成 / 全部筛选。 进度按已完成色号的颗数累计;标记完成后 5 秒内可撤销;长按色号可直接切换完成状态;提供整体重置;界面明确标注「按你的勾选统计,拼豆板不会自动识别」。

07页面说明

以下截图取自可交互原型。原型的图纸、颗数与色号统计均为程序实算,色号点亮使用与协议载荷同源的坐标集合, 因此界面上出现的数字与行为可以直接作为开发参照。 下方每张卡片均可点击,会直接打开原型中对应的那个状态。

关于页面截图

本版改动较大(入口改为图纸库、去掉板面模拟等),原有静态截图已与界面不符,暂以实时原型链接代替;界面定稿后会补回截图。评审时请直接点开原型查看。

7.1 入口 · 图纸库

拼豆板的入口。顶部分「我的图库」与「官方图纸」两个来源:前者是用户自己做的图纸,受图纸额度约束, 并分「草稿 / 图纸」两栏;后者由平台提供,不占额度。任选一张卡片即进入拼豆预览页。

打开原型 · 图纸库

7.2 P1 · 拼豆预览页

开拼前的确认页,回答用户一个问题:这张图要用哪些豆、每种多少颗。 页面同时提供「开始拼豆」和「返回修改图纸」两个出口,让用户在这里就能决定是继续还是回头调整。

打开原型 · 拼豆预览页

7.3 P2 · 蓝牙连接页

这一页的价值全部在异常态。连不上蓝牙是硬件类功能最高频的流失点, 因此 9 种状态每一种都给出具体原因和明确的下一步动作,不出现「连接失败」四个字就结束的情况。

打开原型 · 蓝牙连接页

9 种状态逐一查看

点击任一状态直接进入原型中的该状态,也可在原型页面右侧的调试栏中切换。

7.4 P3 · 拼豆板操作页

核心页面。设计原则是一次只处理一个颜色:用户的注意力应该在实物板子上, 手机只负责「现在拼哪个色」和「这个色拼完了」两件事,因此这两个动作被放在常驻的底部操作区。

打开原型 · 拼豆板操作页

关键交互规则

08异常与边界

场景处理方式
未授权蓝牙权限说明用途并提供授权入口,授权后自动开始搜索。
系统蓝牙未开启提示打开蓝牙;iOS 无法直接跳转时说明在控制中心开启。
搜索不到设备展开四条排查建议(电源与配对模式、被其他手机占用、蓝牙权限、距离),提供重新搜索。
连接失败说明可能原因,提供重试与查看帮助。
搜到的是 52×52 板子设备卡置灰并标注「本期不支持」;误点后说明本期只对接 104×104,引导换一台设备。
拼豆中途断线顶部橙色提示条「已断开,正在重连」;色号面板不禁用,用户仍可查看色号手动对照;点击色号时提示当前无法点亮。
断线后重连成功使用「进入画板不清空」,保留断线前的灯光,避免闪断。
切后台 / 熄屏后返回恢复上次选中的色号、进度、亮度与旋转设置。
用户误点「拼完这色」提供 5 秒撤销;也可长按色号手动切回未完成。
图纸中某色数量极大坐标数据自动分包下发,包间隔 50 毫秒,对用户透明;界面不做分批。
用户没有拼豆板在「未搜到设备」状态底部提供不占主视觉的购买引导文字链。

09非功能要求

要求
运行平台仅微信小程序移动端,不兼容 PC / 桌面端;页面按手机竖屏设计,不提供桌面布局。
适配设备本期仅对接 104 × 104 拼豆板;其他尺寸设备在搜索阶段即识别并拦截。
响应性能点击色号到板上亮灯 < 300 毫秒(含清屏步骤)。
传输连接后协商 MTU 至 512;单色坐标超过 4096 字节时分包,包间隔 50 毫秒。
离线可用未连接设备时,用料清单仍可完整查看。
状态持久化拼豆进度不持久化:退出页面即清空,本期不支持「拼一半下次继续」。仅亮度、屏显方向等设备侧偏好保存在本地。
触控目标主要操作控件不小于 44 × 44 点;色号格子不小于 64 点见方(用户手持镊子,操作精度低)。
视觉一致性沿用现有小程序的浅色薄荷绿观感;橙色仅用于断连、超尺寸、图纸额度三类提示,每屏不超过一处。
色彩准确性色号色块使用豆子实际颜色实色填充,不加渐变或装饰,保证用户肉眼比色准确。
文案全部为简体中文;不出现协议指令号等技术术语。

10交付物与验收

10.1 交付物

交付物说明
本需求说明书requirements.html,含功能清单与验收标准
可交互原型图纸库index.html,入口 + 3 个页面全部合并为单文件,从 原型导览 进入
设计规划文档设计决策与协议约束的推导过程,随交付单独提供
页面截图界面定稿后补齐;当前以可交互原型为准

10.2 验收方式

以第六章功能清单的「验收标准」列为准,逐条走查。其中下列九条为关键验收项, 任一不通过即视为未达交付标准:

  1. 点击任一色号,板上该颜色全部格位亮起,且同一时刻只有一个色号处于点亮态。
  2. 切换色号时先清屏再点亮,连点做防抖,不向板子发出频闪指令。
  3. 亮度滑块下限为 10 且不可拖到 0;「全部熄灭」为独立功能,不是亮度归零。
  4. 图纸超过 104 × 104 时在入口即被拦截,不允许进入后续流程。
  5. 蓝牙连接的 9 种状态均有明确文案与下一步操作,不存在无出口的死路。
  6. 「拼完这色」支持 5 秒内撤销,且界面明确说明进度由用户勾选统计。
  7. 手机端始终只显示一张固定图纸,不出现板面模拟或随选色变化的预览。
  8. 拼豆进度退出后不保留,界面明确告知本期不支持续拼。
  9. 页面仅按移动端竖屏交付,且只对 104 × 104 拼豆板放行。