{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "HappyLighting-py reconstructs BLE communication for HappyLighting-compatible LED controllers from analysis of the original APK. Its Python app changes color, mode and speed, enables the integrated microphone and drives color from screen input.",
  "description_zh": "HappyLighting-py 根据原版 APK 的分析结果重建兼容控制器的 BLE 通信。Python 应用可调整 LED 颜色、模式和速度，启用内置麦克风，并根据屏幕内容改变颜色。",
  "entry_url": "https://awesomerea.org/resources/happylighting-py-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/happylighting-py-case/",
  "evidence_url": "https://github.com/MikeCoder96/HappyLighting-py/blob/82fdd49742486d27410fad2b526853c849d07207/README.md",
  "group": "cases",
  "id": "happylighting-py-case",
  "json_url": "https://awesomerea.org/resources/happylighting-py-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/happylighting-py-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/happylighting-py-case/index.md",
  "name": "HappyLighting-py: reconstructing LED-controller BLE communication",
  "name_zh": "HappyLighting-py：重建 LED 控制器 BLE 通信",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Python and the dependencies in LEDStripController/requirements.txt.",
    "Linux may additionally need libasound-dev and portaudio19-dev.",
    "Custom mode and independent device-group control remain unimplemented.",
    "AGPL-3.0 License."
  ],
  "requirements_zh": [
    "需要 Python 及 LEDStripController/requirements.txt 中的依赖。",
    "Linux 可能还需要 libasound-dev 和 portaudio19-dev。",
    "自定义模式和设备分组独立控制尚未实现。",
    "采用 AGPL-3.0 许可证。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/MikeCoder96/HappyLighting-py",
  "verification": "source-reviewed",
  "verified_at": "2026-11-08"
}
