跳到正文

共鸣 / 原理

回到遥控器

RGB → GRB

一个颜色,六个字节。主控板接收这帧指令,再把它变成灯珠的光。

HE-750G24V4.1.8

颜色与字节

驱动 RGB

0–255

六字节指令

FA02

先绿,再红,最后蓝。保留字节固定为 00。

6 bytes
01命令
00保留
00G
FFR
00B
00校验

校验 = (−256) mod 256 = 0 (0x00)

完整帧相加 = 256;除以 256 的余数 = 0。

RGB 通道

遥控器先做观感混色;实验台直接封装驱动值,不重复应用混色。所有计算留在本页,不会连接设备。

非零等值 RGB 会切换到独立白光通道,并非三色混白;全零关灯。屏幕色块仅作示意,不代表实际亮度与色彩。

字节的终点

六字节设色帧由主控板解析,最终驱动顶部的 RGBW 灯珠。下面是研究样机的装配、主控板与 LED 模组。

拆开外壳的应援棒,主控板、顶部透镜和电池仓与外壳并列
FIG 02.1

样机装配:主控板位于手柄上部,灯珠在透镜下方。

主控板与灯珠
HE-750G24 主控板正面,可见 ST17H66B 主控、按键和板载天线
FIG 02.2

主控板:HE-750G24,U1 丝印 ST17H66B。

HE-590L5 LED 模组,灯珠旁可见 B、W、正极和 R 标记
FIG 02.3

LED 模组:独立白光与 RGB 通道,W 标记可见。

实物照片用于辨认结构;白光切换逻辑来自固件分析,照片本身不承担颜色或亮度测量。

连接流程

  1. 选择棒子。通过浏览器设备选择器连接,研究样机的广播名是 JFKJ-FBFB。
  2. 完成握手。8 秒内向 FA02 写入口令 JFKJ-20250421,等待 FA01 回显确认。
  3. 等蓝灯闪完。三次蓝灯约 0.9 秒;网页预留 1.2 秒,CLI 预留 1.5 秒。
  4. 发送颜色。向 FA02 写入六字节设色帧,FA01 返回处理通知。

FA02 负责写入,FA01 返回通知。共享口令来自固件明文,不是设备所有权验证。

两条控制路径

网页灯效

呼吸、渐变和律动,都是网页算出的一串颜色,再通过蓝牙 GATT 逐帧发送 01 设色指令。

音频频谱与低频变化用于判断节拍。蓝牙有传输延迟,本地音频可延后播放来对齐;麦克风已听到的声音无法倒回去延后。

网页灯效不等于固件内置灯效。命令 02–0c 的参数与效果仍未逐项确认。

现场广播

静态分析发现固件绕过常规 GATT,在 2478 MHz 接收特殊射频包,使用 RGB 顺序、另一种加和校验与 XOR 混淆。

这一链路尚未完成空口实测。普通网页蓝牙不能发送它,广播脚本只生成字节。

不要在活动现场尝试广播。它可能影响其他棒子;类型 6 会永久改写分组号,掉电不恢复。

验证范围

实物反馈

研究样机已测试口令握手、GRB 设色、原版网页灯效与音乐律动。新版基础颜色与观感混色已有用户实物反馈。

当前全部灯效、音频路径和时序仍未逐项验收;实物反馈不等于仪器测量,也不能外推到其他批次。

静态逆向

函数地址、射频包结构、分组号持久化。

代码分析不等于实际发射或接收测试。

仍待确认

02–0c 的完整参数、白化实际初值,以及其他批次的兼容性。

尚不能把这些结论当作稳定接口或兼容保证。

继续开发

校验怎么算

前五个字节的和为 S,校验取 (256 − (S mod 256)) mod 256。加上它后,总和的低八位就是 0。这种校验只能发现部分传输错误,不能防止恶意控制。

处理函数

写回调 0x1fff4290 将输入复制到 0x1fffc343;约 10 ms 后,由 0x1fff6774 完成口令、校验与命令分发。灯效任务入口为 0x1fff7c60。这些是研究描述,不是厂家的函数名,也不是跨版本稳定地址。

SDK 与资料

仓库提供自行实现的控制 SDK、离线字节测试与 Ghidra 工程重建脚本。开发入口是 docs/SDK.md、docs/FUNCTIONS.md 和 re/README.md。主控板背面照片可辅助查看走线与焊点。

厂家固件、第三方工具及厂家 SDK 不随仓库分发。遵守社区源码许可:允许免费使用、二次开发与分享,禁止销售、付费托管和付费捆绑。不要向 OTA 服务 5833ff01 写入。