samcgn/xyaoled-control

GitHub: samcgn/xyaoled-control

XYAO-LED控制库,用于通过BLE控制XYAO-LED像素矩阵显示文本、图像和动画。

Stars: 0 | Forks: 0

# xyaoled-control 非官方Python库和CLI,用于直接通过低功耗蓝牙(BLE)驱动**"XYAO-LED"风格64x16 RGB BLE像素矩阵**(由*XYAO LED*手机应用控制,广告名为`XyaoLED...`),无需应用。 它可以显示静态文本、分页和**硬件滚动**文本、单色像素艺术、**全彩图像**和**动画**(多帧GIF/视频剪辑)。 BLE线格式已逆向工程,以与您拥有的硬件兼容。 本项目与设备供应商无关,也未获得其认可。 ## 功能 - 静态文本、多页文本、平滑设备端滚动文本(任何颜色、任何字体) - 从图像文件或内置图案创建单色像素艺术 - 全彩图像(任何图片,适配64x16) - 从动画GIF创建动画 - 电源、亮度、清屏/播放列表 - 用于检查您自己的设备BLE流量的捕获解析器 ## 要求 - Python 3.10+ - [`bleak`](https://github.com/hbldh/bleak)(跨平台BLE)和`Pillow` ``` pip install -r requirements.txt ``` ## 快速开始 设备必须开启电源且**未**连接到手机应用(每次只能连接一个BLE中心)。地址会自动通过名称发现;您可以使用`--address`或`XYAO_ADDRESS`环境变量覆盖它。 ``` # text python -m xyaoled.text "HELLO" --color 0,255,0 python -m xyaoled.text "a long running message" --scroll --color 255,0,0 python -m xyaoled.text "HELLO WORLD 123" --pages # 单色像素艺术(图像文件或内置图案) python -m xyaoled.image heart --color 255,0,0 python -m xyaoled.image mylogo.png --color 0,128,255 --clear # 全彩+动画 python -m xyaoled.gif photo.jpg --clear python -m xyaoled.gif animation.gif --clear # 实用工具 python -m xyaoled.text "CLEAR" --dry-run # render without sending python tools/parse_capture.py capture.pklg # inspect a BLE capture ``` 将`--dry-run`添加到任何命令中,以预览ASCII/命令而不连接。 将`--clear`添加到先清除循环播放列表(否则每次发送都会附加到它)。 ## 握手/初始化帧 每个会话都以初始化握手开始。设备验证绑定到时间戳的小令牌;它接受之前捕获的初始化帧原样。一个示例帧已捆绑,并适用于参考单元。**如果您的设备没有响应**(您从未看到`88 ff 00 05 ...`通知),请从官方应用捕获您自己的初始化帧并提供它: ``` export XYAO_INIT_HEX=99aa002eff881f0000000100.... # your captured TYPE=0x0000 frame ``` `tools/parse_capture.py`可以帮助您在PacketLogger `.pklg`捕获中找到它(查找第一个值以`99 aa 00 2e ff 88 1f 00 00 00 01`开头的写入)。 ## 平台说明(BLE权限) - **macOS**:您从其中运行Python的终端/应用需要*蓝牙*隐私权限(系统设置→隐私与安全→蓝牙)。在最近的macOS中,您可能还需要开发者的"蓝牙"日志配置文件,以使用PacketLogger捕获HCI流量。BLE外围地址是每台机器的CoreBluetooth UUID,因此它是自动发现的,而不是硬编码的。 - **Linux**:需要BlueZ;地址是BD_ADDR(`AA:BB:...`)。 - **Windows**:通过WinRT后端工作。 ## 协议 有关完整逆向工程的线格式(帧布局、命令、1位/全彩/动画图像格式、校验和)的详细信息,请参阅[PROTOCOL.md](PROTOCOL.md)。 ## 免责声明 仅用于个人、互操作性使用与您自己的硬件。不提供任何保证。向嵌入式硬件发送格式错误的数据风险自负。与供应商无关。 ## 许可证 MIT — 请参阅[LICENSE](LICENSE)。
标签:BLE, GIF 动画, LED 显示, Python 库, RGB, XYAO-LED, 云资产清单, 互操作性, 像素矩阵, 像素艺术, 全彩图像, 图像处理, 图形动画, 文本显示, 无应用程序, 滚动文本, 蓝牙, 设备控制, 逆向工具, 逆向工程