{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/jzarca01/LILO/blob/78db40c4ba6f3b071ef576ba979c6705c25754e9/README.md",
    "https://github.com/jzarca01/LILO/blob/78db40c4ba6f3b071ef576ba979c6705c25754e9/lib/lights.js"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "LILO reconstructs Bluetooth Low Energy control of the Prêt à Pousser LILO device in JavaScript. It identifies a service and separate characteristics for lighting and time, with methods to read and write those settings and a map of lighting modes.",
  "description_zh": "LILO 用 JavaScript 重建 Prêt à Pousser LILO 设备的 BLE 控制。代码定义服务及灯光、时间特征值，提供这些设置的读写方法，并列出灯光模式。",
  "entry_url": "https://awesomerea.org/resources/lilo-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/lilo-case/",
  "evidence_class": 3,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/jzarca01/LILO/blob/78db40c4ba6f3b071ef576ba979c6705c25754e9/lib/LILO.js",
  "group": "cases",
  "id": "lilo-case",
  "json_url": "https://awesomerea.org/resources/lilo-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/lilo-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/lilo-case/index.md",
  "name": "LILO: reconstructing BLE control for the Prêt à Pousser LILO",
  "name_zh": "LILO：重建 Prêt à Pousser LILO 的 BLE 控制方式",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "license"
  ],
  "requirements": [
    "A LILO device and a Node.js environment with noble-device.",
    "ISC license declared in package.json."
  ],
  "requirements_zh": [
    "需要 LILO 设备，以及安装了 noble-device 的 Node.js 环境。",
    "package.json 声明采用 ISC 许可证。"
  ],
  "scope": "notes",
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/jzarca01/LILO",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
