# openmili：实现 Mi-Light 2.4 GHz 灯控协议

> openmili 使用 nRF24 无线模块作为 PL1167 后端，实现 Mi-Light 2.4 GHz LED 灯控通信。Arduino 程序通过串口收发数据包，Python 守护程序将 UDP 命令转换为可配置发送方 ID 的灯控消息；源码还定义了信道、同步字、CRC 处理和命令映射。

- 类型：案例
- 目标：协议
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-11-06
- 收录于：2026-11-09
- 原始资源：<https://github.com/henryk/openmili>
- 一手来源：<https://github.com/henryk/openmili/blob/0ae5ecb2741893f28e71dab98f367394518f3251/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/openmili-case/>
- 记录 JSON：<https://awesomerea.org/resources/openmili-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/openmili-case/index.md)

## 使用条件与局限

- **前提条件：**随附程序需要兼容 Arduino 的开发板、nRF24L01 无线模块和 RF24 库。
- **前提条件：**主机守护程序需要 Python 串口支持，并通过串口连接开发板。
- **局限：**主机守护程序的 TCP 处理标记为尚未实现。
- **许可：**采用 GPL-3.0 许可证。

## 一手来源

1. <https://github.com/henryk/openmili/blob/0ae5ecb2741893f28e71dab98f367394518f3251/README.md>
2. <https://github.com/henryk/openmili/blob/0ae5ecb2741893f28e71dab98f367394518f3251/MiLightRadio.cpp>
3. <https://github.com/henryk/openmili/blob/0ae5ecb2741893f28e71dab98f367394518f3251/host/openmilid.py>

## 同分区更多条目：协议

- [AcuRite 00592TX：解码无线温度帧](https://awesomerea.org/zh/resources/acurite-00592tx-protocol-case/index.md) · 案例
- [DIY Saab 9-3 Tachometer：解析 CAN 转速与车速信号](https://awesomerea.org/zh/resources/diy-saab-9-3-tachometer-case/index.md) · 案例
- [free-outernet：重建 Outernet 广播服务](https://awesomerea.org/zh/resources/free-outernet-protocol-case/index.md) · 案例
- [MikroTik WinBox Terminal Client：重建终端通信协议](https://awesomerea.org/zh/resources/winbox-terminal-protocol-case/index.md) · 案例
- [pippin：macOS 高性能屏幕共享的 Linux 客户端](https://awesomerea.org/zh/resources/pippin-screen-sharing-case/index.md) · 案例
- [OpenSpy Core：重建 GameSpy 在线服务](https://awesomerea.org/zh/resources/openspy-core-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
