Integrate

四步完成接入

业务侧负责 BLE 系统 API,协议组包与解析交给 bluetooth-config.js。

01

扫描过滤

广播名包含 QYAI_AC / XWAI_AC,用 filterDevice 过滤列表。

02

连接特征

匹配 UUID 前缀 AE80/AE81/AE82/6E40,区分 Notify 与 Write。

03

组包下发

sendBLECharacterNotice + CRC16,按 20 字节分包写入。

04

解析回包

recvBLEData 拼帧,iotProtocolDecode 读出 status。

Download

Demo 与文档下载

当前 Demo 为 uni-app 完整工程,支持直接运行到 微信小程序、Android App、iOS App。

使用提示
  • 解压后用 HBuilderX 打开 demo 目录,即可运行到微信小程序 / Android / iOS。
  • 蓝牙配网需在真机调试(微信开发者工具、模拟器无法完整验证 BLE)。
  • 工程含 utils/bluetooth-config.js、docs/、 pages/index/index.vue 参考页;仅支持 2.4G Wi-Fi。
Codec Lab

JSON ↔ BLE 在线互转

按杰里 JL 帧规则编码 / 解码,支持 CRC 校验、20 字节分包预览,便于联调与抓包对照。

输出
点击「转换为 BLE」查看结果
Protocol

协议要点

线上联调时,优先用本页工具核对组包是否与设备一致。

01

帧结构

通用

数据按下列顺序组帧,多字节字段用大端:

JL(0x4A4C) + LEN + T1(0x10) T2(0x01) + JSON 字节 + CRC16 + 0xFF
02

下发 JSON

手机 → 设备

手机首次下发只带 SSID 与密码:

{ "ssid": "...", "pass": "..." }
  • 配网超时重发时,额外附加 net_status: "timeout"。
03

回包 status

设备 → 手机

设备用 status 汇报配网进度与结果:

0 成功1 进行中2 失败3 名称/密码错误4 密码错误5 WiFi无网络 · 联网超时
04

成功回包

设备 → 手机

status = 0 时,设备回包附带设备信息:

{ "status": 0, "mac": "...", "uuid": "...", "batch_num": "..." }
  • mac / uuid / batch_num 仅在 status = 0 时有效。
05

完整 MAC

完成用户绑定设备

拼出完整 MAC 后调用接口,完成用户绑定设备:

PUT /mac/user
  • 完整 MAC = mac + uuid + batch_num
  • mac_code:完整 MAC
  • account:用户唯一标识
06

写入限制

通用
  • 单包 ≤ 20 字节,按顺序分包写入。
  • iOS 建议包间间隔约 500ms。
  • 配网超时默认 60s,可重发。