@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

发布

  1. 发布前修改 package.json 版本号
  2. 基于 sample.npmrc 文件修改 token, 另存为 .npmrc 文件
  3. 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
Details
npm
2 weeks ago
1
waifin
ISC
latest
13 KiB
Assets (1)
Versions (2) View all
1.0.1 on 2026-09-04
1.0.0 on 2026-09-04