@flossom-npm/iot-translater-ziip001 (1.0.1)
Published 2 weeks ago by huangbangxin
Installation
@flossom-npm:registry=npm install @flossom-npm/iot-translater-ziip001@1.0.1"@flossom-npm/iot-translater-ziip001": "1.0.1"About this package
iot-translater-ziip001
ZIIP-001 微电流 EMS 面罩 BLE 通讯转换库: 在语义化 JSON 指令与设备 hex 字节流之间互转。
- 设备: ZIIP-001 面罩 (设备 ID
0xC1) - 协议: ZIIP面罩通信协议 V1.00
安装
pnpm add @flossom-npm/iot-translater-ziip001
快速上手
import { DeviceToolKit } from "@flossom-npm/iot-translater-ziip001";
const kit = new DeviceToolKit(); // 默认 ZIIP001
kit.setDebug(true); // 联调期打印 hex 日志 (上线前关闭)
// JSON → ArrayBuffer, 通过 BLE 写特征发送
const buf = kit.toBleCommand({
commandType: "BleMatch",
bleCommandType: "SendMatchCode",
});
// 设备返回的 ArrayBuffer → JSON
const json = kit.toJsonStatus(arrayBufferFromDevice);
// 无效帧 (CRC 错 / 设备 ID 错 / 帧格式错) 返回 null
BLE 连接信息从实例上取:
kit._deviceBleInfo._PREFix_Name; // "ZIIP-001" 广播名前缀
kit._deviceBleInfo._COMMAND_SERVICE; // 命令 Service UUID
kit._deviceBleInfo._READ_SERVICE; // 读/订阅 UUID
kit._deviceBleInfo._WRITE_SERVICE; // 写 UUID
支持的指令
| commandType | 说明 |
|---|---|
BleMatch |
蓝牙配对 |
InfoQuery |
设备信息: 时间同步/查询、固件版本、属性 (MAC/SN/广播名)、功能配置、模式配置 (0x08/0x09) |
DeviceStatusSync |
设备运行状态同步 (查询 + 主动上报) |
DeviceControl |
App 控制 (工作状态/模式/档位/护理时长) |
OTAStart / OTAPrepare / OTAUpdating / OTAUpdateFinish / OTAQuit |
固件升级 |
每条指令的字段、单位换算 (峰值电流 100nA、部位时长 0.5s 等) 和设备回复结构, 见 API 使用指南。
文档
| 文档 | 读者 | 内容 |
|---|---|---|
| API 使用指南 | App 开发工程师 | 初始化、各语义化指令用法、完整业务流程示例 |
| 通讯协议接入指南 | 固件 / 协议联调 | 帧格式、字节级字段表、状态码、模式枚举 |
协议原始文档: docs/CB EMS面罩 AIoT 通信协议/
开发
npm i # 安装依赖
npm run test # 运行测试 (vitest, test/ 目录按指令类型分文件)
npm run build # 编译 (tsc, 输出到 dist/)
测试文件结构:
test/
├── helpers.ts # 共享夹具 (wrap / segFixture / segToHex)
├── stringkit.spec.ts # Stringkit 工具方法
├── ble-match.spec.ts # A8 蓝牙配对
├── info-query.spec.ts # A0 设备信息查询 0x01~0x07
├── mode-config.spec.ts # A0 0x08/0x09 模式配置 (逐字段)
├── device-status-sync.spec.ts # A1 状态同步 (逐字段)
├── device-control.spec.ts # A2 设备控制 (逐字段)
├── ota.spec.ts # A9-AD OTA
└── frame.spec.ts # 帧校验边界 + round-trip
发布
- 发布前修改
package.json版本号 - 基于
sample.npmrc文件修改 token, 另存为.npmrc文件 npm run puton(build + 混淆 + 发布) 或npm run putonNoOBS(build + 发布, 不混淆)
Dependencies
Development Dependencies
| ID | Version |
|---|---|
| @typescript-eslint/eslint-plugin | ^5.59.6 |
| @typescript-eslint/parser | ^5.59.6 |
| eslint | ^8.40.0 |
| eslint-config-prettier | ^8.8.0 |
| eslint-plugin-prettier | ^4.2.1 |
| javascript-obfuscator | ^4.0.2 |
| prettier | ^2.8.8 |
| typedoc | ^0.24.7 |
| typedoc-plugin-missing-exports | ^2.0.0 |
| typedoc-plugin-superstruct | ^1.0.0 |
| typedoc-plugin-zod | ^1.0.2 |
| typescript | ^5.0.4 |
| vitest | ^0.31.1 |