{
  "added_at": "2026-11-06",
  "additional_evidence_urls": [
    "https://github.com/Janczykkkko/xbloom-ble/blob/cfa29daa771fdd147de78c1844d2251ca81ea583/README.md"
  ],
  "category": "reconstruction-cases",
  "description_en": "xbloom-ble implements a Python client for the xBloom Studio coffee machine's recovered Bluetooth LE protocol. The author documents capturing app traffic and comparing GATT command frames; the CLI and terminal UI load recipes, program dial presets, optionally start brewing and display live scale telemetry.",
  "description_zh": "xbloom-ble 是针对 xBloom Studio 咖啡机已解析 Bluetooth LE 协议的 Python 客户端。作者记录了采集手机应用流量、比较 GATT 命令帧的过程；命令行与终端界面可加载配方、设置旋钮预设、按明确指令启动冲煮，并显示实时称重数据。",
  "entry_url": "https://awesomerea.org/resources/xbloom-ble-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/xbloom-ble-case/",
  "evidence_url": "https://github.com/Janczykkkko/xbloom-ble/blob/cfa29daa771fdd147de78c1844d2251ca81ea583/docs/REVERSE-ENGINEERING.md",
  "group": "cases",
  "id": "xbloom-ble-case",
  "json_url": "https://awesomerea.org/resources/xbloom-ble-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/xbloom-ble-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/xbloom-ble-case/index.md",
  "name": "xbloom-ble: a client for the xBloom Studio BLE protocol",
  "name_zh": "xbloom-ble：xBloom Studio 蓝牙协议客户端",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "testing",
    "prerequisites",
    "license"
  ],
  "requirements": [
    "An xBloom Studio machine and Bluetooth LE access are required; the phone app must disconnect before writes because the machine accepts one BLE link.",
    "Python 3.10 or newer, with bleak and PyYAML; Linux also requires BlueZ.",
    "The author tested only one machine running firmware V12.0D.500.",
    "Remote start dispenses near-boiling water and requires the machine to be physically ready.",
    "MIT licence."
  ],
  "requirements_zh": [
    "需要 xBloom Studio 咖啡机及 Bluetooth LE 连接；写入前须断开手机应用，因为机器一次只接受一个蓝牙连接。",
    "需要 Python 3.10 或更新版本，以及 bleak 和 PyYAML；Linux 还需要 BlueZ。",
    "作者仅在一台运行 V12.0D.500 固件的机器上测试。",
    "远程启动会放出接近沸腾的热水，须先确保机器已做好物理准备。",
    "采用 MIT 许可证。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/Janczykkkko/xbloom-ble",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
