thermal-label/letratag

GitHub: thermal-label/letratag

这是一个TypeScript驱动程序,用于通过Web Bluetooth在浏览器中控制DYMO LetraTag LT-200B蓝牙标签打印机。

Stars: 0 | Forks: 0

# `@thermal-label/letratag` [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/00908be932172402.svg)](https://github.com/thermal-label/letratag/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/thermal-label/letratag/branch/main/graph/badge.svg)](https://codecov.io/gh/thermal-label/letratag) [![npm core](https://img.shields.io/npm/v/@thermal-label/letratag-core.svg?label=core)](https://npmjs.com/package/@thermal-label/letratag-core) [![npm web](https://img.shields.io/npm/v/@thermal-label/letratag-web.svg?label=web)](https://npmjs.com/package/@thermal-label/letratag-web) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) **DYMO LetraTag LT-200B** 的驱动程序,这是一款 12 毫米宽的蓝牙 LE 手持标签打印机,采用自定义的分块 GATT 打印协议。 此仓库包含两个工作区软件包: - [`@thermal-label/letratag-core`](packages/core) — 纯 TypeScript 协议编码器、状态解析器和介质注册表。适用于浏览器和 Node 环境;与传输层解耦。 - [`@thermal-label/letratag-web`](packages/web) — 基于 `@thermal-label/transport/web` 构建的 Web Bluetooth 驱动程序。 验证测试在共享的 thermal-label 测试框架上运行;远程测试员需将其已配对 LT-200B 的 Chrome 浏览器指向该框架,运行测试图案矩阵,并导出捕获的跟踪日志以供问题排查。 ## 布局 ``` packages/ core/ — encoder, registry, status parser web/ — Web Bluetooth printer adapter scripts/ compile-data.mjs — emits data/*.json + src/*.generated.ts .github/workflows/ ci.yml — typecheck / lint / format / test:coverage / build ``` ## 工作流 ``` pnpm install pnpm --filter @thermal-label/letratag-core compile-data pnpm typecheck && pnpm lint && pnpm test && pnpm build ``` ## 阶段状态 第一阶段仅限 Web 端;Node BLE 支持已延期。编码器匹配了从已配对的 LT-200B 线上观察到的字节流——详见 [`docs/protocol/letratag-bt.md`](docs/protocol/letratag-bt.md) 中的权威规范以及 [`INTEROPERABILITY.md`](INTEROPERABILITY.md) 中的项目来源和法律立场。LT-200B 的硬件状态初始为 `未测试` — 参见 [HARDWARE.md](HARDWARE.md) 和 [DECISIONS.md](DECISIONS.md)。第二阶段项目(重放 CLI、硬件问题模板、Node BLE)位于 [PLAN-2.md](PLAN-2.md)。 ## 致远程测试员 验证测试在桌面或 Android 设备上的 Chrome 或 Edge 浏览器中,通过共享的 thermal-label 测试框架运行: 1. 通过 Web Bluetooth 连接,并从选择器中选择您的 LT-200B。 2. 运行 **T1**(单像素测试)→ 预期在磁带头部前缘、最靠近盒带开口的行中出现一个点。导出诊断 JSON 并粘贴到新的 GitHub Issue 中,同时附上特写照片。 3. 运行 **T2**(不对称矩形)→ 预期出现一个沿打印头方向比沿进纸方向更宽的矩形。 4. 使用任意短文本运行 **CUSTOM**(自定义)→ 预期正常打印。 诊断 JSON 包含了远程调试所需的一切信息:捕获的 TX/RX 跟踪日志、发送的位图以及使用的编码器设置。 ## 支持的硬件 **1 款设备** — 0 已验证 · 0 部分功能 · 0 无法工作 · 1 未测试 | 型号 | 标识符 | USB PID | 传输方式 | 状态 | | --- | --- | --- | --- | --- | | [LetraTag LT-200B](https://thermal-label.github.io/hardware/letratag/lt-200b) | `LT_200B` | — | BT LE | ⏳ 未测试 | 点击任何型号可打开其文档网站的详情页,其中包含引擎、支持的介质和验证报告。相同的数据也支持[交互式跨驱动表格](https://thermal-label.github.io/hardware/)。
标签:DYMO, GATT协议, LetraTag LT-200B, MITM代理, npm包, SOC Prime, TypeScript, Web Bluetooth, 协议分析, 媒体注册, 安全插件, 客户端库, 开发工具, 手柄打印机, 打印协议, 数据生成, 权限提升, 标签打印机, 测试工具, 测试验证, 浏览器扩展, 浏览器驱动, 热敏打印, 物联网设备, 状态管理, 硬件驱动, 编码器, 自动化攻击, 自定义协议, 蓝牙低功耗, 蓝牙通信, 解析器