news 2026/9/15 12:21:53

Planet Projector 星球投影仪全键位射频信号捕获:Princeton 24bit 433.92MHz 协议分析与 Flipper Zero 实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Planet Projector 星球投影仪全键位射频信号捕获:Princeton 24bit 433.92MHz 协议分析与 Flipper Zero 实战指南

Planet Projector 星球投影仪全键位射频信号捕获:Princeton 24bit 433.92MHz 协议分析与 Flipper Zero 实战指南

【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper

本指南以仓库中 Planet_Projector 捕获目录 为主体,系统讲解如何用 Flipper Zero 完整捕获一款星球投影仪(Planet Projector)通用遥控器的全部射频信号:涵盖协议识别、34 个按键的 Key 码映射、.sub文件格式逐字段解析,以及将这些捕获文件导入 Flipper Zero 进行回放与复制的完整流程。读完本文,你将能够理解 Princeton 24bit OOK 编码的射频遥控信号结构,并可以直接使用这套现成信号库控制星球投影仪的灯光、音乐、定时与亮度功能。

一、捕获内容概览:一个完整的遥控器信号集

Sub-GHz/Multimedia/Planet_Projector/目录下的捕获文件,对应一款星球投影仪(Planet Projector)随附的**通用遥控器(generic remote)**的全部功能按键。与大多数只收录开关信号的仓库不同,这里是一次"完整捕获"——从投影仪电源、星空/银河模式,到音乐播放、音量、定时关闭、颜色与亮度调节,共34 个.sub信号文件,覆盖了遥控器的几乎所有功能面:

  • 电源与模式Projector_on/Projector_offAuto_mode(自动模式)、Sleep_mode(睡眠模式)
  • 星空特效Star_modeStarry_galaxy_modeStar_on/Star_off
  • 颜色与亮度Color_mode_up/Color_mode_downBrightness_up/Brightness_down
  • 音乐控制Music_on/Music_offMusic_play_pauseMusic_forward/Music_back
  • 音量控制Vol_up/Vol_downMute(静音)
  • 播放模式Play_modeFlash_mode(闪烁模式)、Sound_mode
  • 定时功能30min1hour3hour5hour四档自动关机定时
  • 星云(Space)系列Space_on/Space_offSpace_modeSpace_color/Space_color_revSpace_dim/Space_bright

配套的 README.md 用两句话点明了这套信号的核心技术特征:**完整捕获(complete capture)**了通用遥控器的信号,并指明了协议为Princeton 24bit、433.92MHz、AM 调制(实测载波更接近 433.88MHz)。下文将围绕这一定义逐层展开。

二、协议与射频参数解析

目录 README 明确给出协议关键信息,而每个.sub文件的头部字段则提供了可验证的完整参数。以 Projector_on.sub 为例:

Filetype: Flipper SubGhz Key File Version: 1 Frequency: 433920000 Preset: FuriHalSubGhzPresetOok650Async Protocol: Princeton Bit: 24 Key: 00 00 00 00 00 FF FF 0A TE: 404

将这些字段与 README 描述对照,可以得出如下协议画像:

参数取值说明
频率433920000 Hz(433.92 MHz)属于欧洲 ISM 433MHz 频段;README 提示实测载波更接近 433.88MHz,即遥控器晶振存在轻微频偏
调制方式AM(OOK)开关键控(On-Off Keying),信号"有脉冲/无脉冲"分别代表 1/0
PresetFuriHalSubGhzPresetOok650AsyncFlipper Zero 固件内置的AM650异步调制预设,带宽 650kHz,兼容性更广、但接收距离相对 AM270 略短
协议PrincetonFlipper Zero 固件内置协议解码器,可直接识别与重放
位宽24 bit每帧 24 位(含 12 位固定地址 + 12 位命令,下详)
TE403~406 µs每位码元的时基宽度,不同按键捕获时存在 ±2µs 抖动,属正常测量误差

关于 433.88MHz 的提示:README 特别注明"实际上更接近 433.88 或类似值"。这属于遥控器晶振偏差的常见现象——虽然配置文件按 433.92MHz 标准值写入,但实际发射载波可能偏移数百 kHz。Flipper Zero 在回放时以Frequency字段为准发射,AM650 较宽的接收带宽足以覆盖此类偏移;若个别设备回放失灵,可考虑手动微调频率。

三、全键位 Key 码映射表

Princeton 24bit 帧结构中,前 12 位通常为固定地址码(这里体现为FF FF的地址段),后 12 位为命令码(体现在 Key 字段后两字节FF XX)。我对目录下全部 34 个.sub文件逐一提取了 Key 与 TE 字段,整理出完整的按键映射表:

功能文件Key(末两字节)TE(µs)
Music_onFF FF 01406
Play_modeFF FF 02405
Music_offFF FF 03405
Music_backFF FF 04404
Music_play_pauseFF FF 05405
Music_forwardFF FF 06405
Vol_downFF FF 07404
MuteFF FF 08404
Vol_upFF FF 09404
Projector_onFF FF 0A404
Star_modeFF FF 0B404
Projector_offFF FF 0C403
Sleep_modeFF FF 0D404
Auto_modeFF FF 0E405
Flash_modeFF FF 10404
Color_mode_downFF FF 11404
Color_mode_upFF FF 12404
Brightness_downFF FF 13404
Brightness_upFF FF 14405
30minFF FF 15404
1hourFF FF 16404
3hourFF FF 17404
5hourFF FF 18404
Sound_modeFF FF 1F405
Space_onFF FF 01405
Space_modeFF FF 02403
Space_offFF FF 03405
Space_color_revFF FF 11405
Space_colorFF FF 12406
Space_dimFF FF 13404
Space_brightFF FF 14405
Star_onFF FF 0A404
Star_offFF FF 0C404
Starry_galaxy_modeFF FF 0B404

从这张映射表可以观察到两个有价值的细节:

  1. 地址段恒定:所有按键的前 6 个字节均为00 00 00 00 00 FF,Key 真正有区分度的是末两字节FF XX,符合 Princeton 固定地址 + 可变命令的编码结构,也侧面说明这 34 个文件来自同一遥控器。
  2. 别名/同名按键共享码Space_*系列与Music_*Color_*Brightness_*系列共享完全相同的 Key 值(如Space_on=Music_on=FF FF 01),Star_on/offProjector_on/off相同(FF FF 0A / 0C),Starry_galaxy_modeStar_mode相同(FF FF 0B)。可以推断这些是同一物理按键在不同型号/不同名称下的冗余命名捕获,实际使用时按需取其一即可,不会产生冲突。

四、Flipper Zero.sub文件格式详解

这套捕获文件的格式为Flipper SubGhz Key File(非 Raw 格式),即"按键/协议级"文件,而非原始波形。两者差异在于:Key 文件只保存协议参数与命令码,体积小、回放快,且依赖固件内置解码器(这里即 Princeton 解码器)在发射时按协议重新编码波形。

各字段含义与配置建议如下:

  • Filetype / Version:固定为Flipper SubGhz Key File1,标识文件格式版本,不要改动。
  • Frequency:发射频率,单位为 Hz。本项目统一为433920000(433.92MHz),属 Flipper Zero 官方固件支持的 433.05–434.79MHz 频段(R01/R02 区域)。
  • Preset:调制预设名。FuriHalSubGhzPresetOok650Async即 AM650。若你的固件版本较老且出现"Unknown preset"报错,可尝试将预设改为同义的AM650或改用 Flipper Lab / qFlipper 转换工具重新导出。
  • ProtocolPrinceton。Flipper Zero 固件在 Sub-GHz 应用中内置了 Princeton 协议解码,读取/回放均无需额外安装插件。
  • Bit:位宽24。Princeton 协议通常以 12 位地址 + 12 位数据(或 24 位整体)出现,此处为 24bit 变体。
  • Key:8 字节按键码,前 6 字节为地址/填充,后 2 字节为实际命令。手动添加信号时,这一字段就是决定触发哪个功能的关键
  • TE:一位的时长(Time Element,µs)。本项目约 403–406µs,对应约 2.48kHz 的码元速率。手动复制信号时需保持 TE 一致,偏差过大会导致接收端无法解码。

若要手动新增未收录的按键,只需复制任意一个.sub文件、修改KeyTE两行即可(例如在 Projector_on.sub 基础上把 Key 改为00 00 00 00 00 FF FF 1F即得到 Sound_mode 信号)。

五、在 Flipper Zero 上使用这套信号

这套信号集可直接放入 Flipper Zero 的 MicroSD 卡使用,操作路径如下:

  1. 传输文件:通过 qFlipper 桌面工具或读卡器,将Sub-GHz/Multimedia/Planet_Projector/下的.sub文件拷贝到 SD 卡的subghz/目录(建议保持同名文件夹便于管理)。
  2. 打开 Sub-GHz 应用:进入Sub-GHz → Read,点击左下角"文件"图标浏览subghz目录,即可看到Planet_Projector文件夹及其中的按键文件。
  3. 回放信号:选择对应功能文件(如Projector_on.sub)并按 OK 发送。由于信号以 Key 文件存储,Flipper Zero 会自动调用 Princeton 协议编码发射,无需关心原始波形。
  4. 添加为自定义按键:若希望一键连续触发多个功能,可使用 Sub-GHz 应用的"Add Manually"功能,依次选择Protocol: PrincetonBit: 24,并按上表填入 Key 与 TE;也可以把多个.sub放入subghz/Playlist用播放列表顺序发送。

适用固件说明:官方固件(Official)、Unleashed、RogueMaster 均内置 Princeton 协议与 AM650 预设,这套文件在三种固件下均可直接使用。若你的固件禁用了 433MHz 频段(少数区域限制),需要在设置中确认区域代码与频率白名单。

六、原理与延伸:从捕获文件反推 Princeton 编码

Princeton(部分厂商称 EV1527 兼容族)是一种常见的 OOK 遥控协议:每帧固定位宽,由同步头 + 数据位组成,1/0 以不同的占空比脉冲序列区分,发送时每帧重复多次以提高可靠性。这套捕获恰好为理解该协议提供了实测样本:

  • 固定地址:Key 字段的FF FF地址段说明该遥控器使用固定地址编码(非滚动码),因此捕获后可以长期稳定重放,这也是它能被"完整捕获"的前提。
  • 命令位宽:24bit 意味着理论上最多可区分 4096 个命令(低 12 位),本套文件使用了其中011F区间的大部分取值,命令空间留有余量。
  • TE 抖动:同一按键多次捕获的 TE 在 403–406µs 间浮动,这正是普通 433MHz 遥控器晶振精度(通常 ±20~100ppm 甚至更低)的典型表现,解码端需容忍约 ±1% 的时基误差。

想进一步验证或分析这些信号,可以参考仓库 Sub-GHz/ReadMe.md 中关于.sub文件格式与频率边界的说明:Raw 文件中正数表示"发射 µs 时长"、负数表示"静默 µs 时长",OOK 即"有脉冲=1、无脉冲=0"。结合本目录的 Key 文件,你可以手动还原出 Princeton 帧的完整波形时序。

七、注意事项与频率合规边界

  • 频率合规:433.92MHz 属于 Flipper Zero 官方固件支持范围(Sub-GHz/ReadMe.md 中注明 R01 区域允许 433.05–434.79MHz、R02 允许 433.05–434.79MHz),默认固件可直接使用;切勿超出 CC1101 芯片官方频率范围(300–348MHz、387–464MHz、779–928MHz)操作,否则有损坏功放的风险。
  • 测试前提:目录 README 未注明这些信号是否经过实机验证,建议在合法、可控的测试场景下验证每颗按键后再实际使用。
  • 知识边界:本文所有参数均直接来自 Planet_Projector 目录 下.sub文件与 README 的可验证内容;若你的投影仪为滚动码或其他协议版本,则需重新捕获。

【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 12:20:55

MCP Toolbox CLI 完全指南:toolbox 命令、参数与实战配置详解

MCP Toolbox CLI 完全指南:toolbox 命令、参数与实战配置详解 【免费下载链接】mcp-toolbox MCP Toolbox for Databases is an open source MCP server for databases. 项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox 导读 本文是 MCP Tool…

作者头像 李华
网站建设 2026/9/15 12:18:46

Linux内核VXLAN收发包流程详解:从FDB查表到MTU调优

做Linux网络内核调试的人,几乎都绕不开VXLAN。K8s里Flannel的VXLAN后端、OpenStack里的overlay网络、各种容器网络方案,喊的都是同一个东西:用UDP隧道把二层帧送到远端。很多人对“VXLAN原理”聊得头头是道,但一落到内核里就会懵—…

作者头像 李华
网站建设 2026/9/15 12:18:26

透明变电站数字孪生建设指南:六类公司技术路线与选型避坑全解读

这两年,只要和电力运维沾边的项目,讨论到最后基本都能落到一个词上:透明变电站。我自己的直观感受是,这个词已经从概念PPT里走了出来,变成越来越多电网单位、工业用户、EPC总包方真正立项掏钱的方向。可我接触过不少业…

作者头像 李华
网站建设 2026/9/15 12:18:00

Java+Python混合架构:企业级模型评估平台后端设计实践

简介:面向AI模型评估场景的后端设计源码,主体采用Java构建服务端核心框架,并加入Python脚本处理与模型评估相关的数据处理逻辑,适合后端开发工程师、AI平台研发人员以及高校实验平台建设者阅读与二次开发。压缩包共76个文件&#…

作者头像 李华
网站建设 2026/9/15 12:17:27

ROS-I simple_message协议深度解析:工业机器人实时通信核心

1. 项目概述:从一条“简单消息”看工业机器人通信的底层逻辑你有没有在调试ABB或KUKA机器人时,突然发现ROS节点发出去的指令像石沉大海?明明topic名称对得上,rostopic echo也显示数据在流动,但机械臂就是纹丝不动——最…

作者头像 李华