Skip to content

指令表

本文档定义蓝牙协议 V2 的指令编号分配规则。

编号规则

指令码为 16 位无符号整数,采用分块编号:

  • 高字节:模块标识(0x01-0xFF)
  • 低字节:模块内操作(0x00-0xFF)
+----------+----------+
| 模块 ID  | 操作 ID  |
| (1 byte) | (1 byte) |
+----------+----------+

指令容量

理论上可支持 255 个模块 × 256 个操作 = 65,280 条指令,足以满足未来扩展需求。

模块分配

区块范围模块已用预留
0x00xx0x0000-0x00FF通用指令1255
0x01xx0x0100-0x01FF设备绑定与管理7249
0x02xx0x0200-0x02FF用户与权限5251
0x03xx0x0300-0x03FF锁操作4252
0x04xx0x0400-0x04FF电子钥匙管理6250
0x05xx0x0500-0x05FF密码管理6250
0x06xx0x0600-0x06FF卡片管理6250
0x07xx0x0700-0x07FF指纹管理9247
0x08xx0x0800-0x08FF人脸管理9247
0x09xx0x0900-0x09FF掌静脉管理9247
0x0Axx0x0A00-0x0AFF遥控器管理6250
0x0Bxx0x0B00-0x0BFF事件与记录3253
0x0Cxx0x0C00-0x0CFF功能设置4252
0x0Dxx0x0D00-0x0DFF固件升级6250
0xFFxx0xFF00-0xFFFF系统保留3253
-0x0E00-0xFEFF未分配模块-61,696

模块内编号规则

每个模块内的操作 ID 按以下规则分配:

范围用途
0x00-0x0F模块级通用操作
0x10-0x7F常规操作
0x80-0xEF扩展操作
0xF0-0xFF预留

指令速查表

凭证更新说明

凭证的 Update* 指令用于更新凭证属性:

  • 通用属性:有效期、使用次数限制、胁迫标记、标签
  • 密码:可更新密码内容本身
  • 卡片:可更新卡号(需重新刷卡)
  • 生物特征(指纹、人脸、掌静脉):原始数据无法更新,如需修改需删除后重新录入

通用指令 (0x00xx)

指令码名称说明
0x0010SubmitAuthPacket提交授权指令包

设备绑定与管理 (0x01xx)

指令码名称说明
0x0100GetBindingInfo获取绑定信息(未绑定时返回 userSecret)
0x0101ConfirmBinding完成绑定
0x0102Unbind解除绑定(保留数据)
0x0110GetDeviceInfo获取设备信息
0x0111GetDeviceStatus获取设备状态
0x0112SetDeviceTime设置设备时间
0x0113ResetDevice恢复出厂设置

用户与权限 (0x02xx)

指令码名称说明
0x0200ListUsers获取用户列表
0x0201AddUser添加用户
0x0202UpdateUser更新用户信息
0x0203DeleteUser删除用户
0x0204SetUserRole设置用户角色

锁操作 (0x03xx)

指令码名称说明
0x0300GetLockStatus获取锁状态
0x0301Unlock开锁
0x0302Lock上锁
0x0303SetPassageMode设置常开模式

电子钥匙管理 (0x04xx)

指令码名称说明
0x0400ListKeys获取电子钥匙列表
0x0401GetKey获取电子钥匙详情
0x0402AddKey添加电子钥匙
0x0403UpdateKey更新电子钥匙
0x0404DeleteKey删除电子钥匙
0x0405ClearKeys清空所有电子钥匙

电子钥匙

电子钥匙是用于 APP/小程序蓝牙开锁的凭证,与密码、指纹等凭证地位相同。用户需拥有电子钥匙凭证才能使用蓝牙开锁功能。

密码管理 (0x05xx)

指令码名称说明
0x0500ListPasswords获取密码列表
0x0501GetPassword获取密码详情
0x0502AddPassword添加密码
0x0503UpdatePassword更新密码
0x0504DeletePassword删除密码
0x0505ClearPasswords清空所有密码

离线密码

离线密码由 APP/服务器端生成,无需与门锁通信。详见 离线密码算法

卡片管理 (0x06xx)

指令码名称说明
0x0600ListCards获取卡片列表
0x0601GetCard获取卡片详情
0x0602AddCard添加卡片
0x0603UpdateCard更新卡片
0x0604DeleteCard删除卡片
0x0605ClearCards清空所有卡片

指纹管理 (0x07xx)

指令码名称说明
0x0700ListFingerprints获取指纹列表
0x0701GetFingerprint获取指纹详情
0x0702StartFingerprintEnroll启动指纹录入
0x0703CancelFingerprintEnroll取消指纹录入
0x0704UpdateFingerprint更新指纹信息
0x0705DeleteFingerprint删除指纹
0x0706ClearFingerprints清空所有指纹
0x0780FingerprintEnrollProgress录入进度通知(设备→APP)
0x0781FingerprintEnrollResult录入结果通知(设备→APP)

人脸管理 (0x08xx)

指令码名称说明
0x0800ListFaces获取人脸列表
0x0801GetFace获取人脸详情
0x0802StartFaceEnroll启动人脸录入
0x0803CancelFaceEnroll取消人脸录入
0x0804UpdateFace更新人脸信息
0x0805DeleteFace删除人脸
0x0806ClearFaces清空所有人脸
0x0880FaceEnrollProgress录入进度通知(设备→APP)
0x0881FaceEnrollResult录入结果通知(设备→APP)

掌静脉管理 (0x09xx)

指令码名称说明
0x0900ListPalmVeins获取掌静脉列表
0x0901GetPalmVein获取掌静脉详情
0x0902StartPalmVeinEnroll启动掌静脉录入
0x0903CancelPalmVeinEnroll取消掌静脉录入
0x0904UpdatePalmVein更新掌静脉信息
0x0905DeletePalmVein删除掌静脉
0x0906ClearPalmVeins清空所有掌静脉
0x0980PalmVeinEnrollProgress录入进度通知(设备→APP)
0x0981PalmVeinEnrollResult录入结果通知(设备→APP)

遥控器管理 (0x0Axx)

指令码名称说明
0x0A00ListRemotes获取遥控器列表
0x0A01GetRemote获取遥控器详情
0x0A02AddRemote添加遥控器
0x0A03UpdateRemote更新遥控器信息
0x0A04DeleteRemote删除遥控器
0x0A05ClearRemotes清空所有遥控器

事件与记录 (0x0Bxx)

指令码名称说明
0x0B00ListEvents获取事件列表
0x0B01GetEvent获取事件详情
0x0B02ClearEvents清空事件记录

功能设置 (0x0Cxx)

指令码名称说明
0x0C00GetSettings获取所有设置
0x0C01GetSetting获取单项设置
0x0C02SetSetting修改单项设置
0x0C03ResetSettings重置为默认设置

固件升级 (0x0Dxx)

指令码名称说明
0x0D00GetFirmwareInfo获取固件信息
0x0D01CheckUpdate检查更新
0x0D02StartOTA开始 OTA 升级
0x0D03TransferOTAData传输 OTA 数据
0x0D04FinishOTA完成 OTA 升级
0x0D05CancelOTA取消 OTA 升级

系统保留 (0xFFxx)

指令码名称说明
0xFF00Ping心跳/连通性检测
0xFF01GetProtocolVersion获取协议版本
0xFFFFReserved保留

命名规范

指令命名

  • 使用 PascalCase
  • 动词 + 名词结构
  • 查询类:Get* / List*
  • 创建类:Add* / Create*
  • 更新类:Update* / Set*
  • 删除类:Delete* / Clear*
  • 执行类:动词(如 UnlockLock

消息体命名

类型后缀示例
请求ReqGetDeviceInfoReq
响应RespGetDeviceInfoResp
推送NotifyEventNotify

物联网设备通信协议文档