蓝牙学习之Provision(6)Provison Complete

Provision Complete 之后会上报设备的节点信息和provision状态。

cpp 复制代码
<0030>10:05:42:626 [INFO]:(GATEWAY)HCI_GATEWAY_CMD_SEND_NODE_INFO : 91 8d 02 00 02 ff 89 8d d2 4e ff 54 a3 c4 84 55 87 a6 82 95 b4 21 
provision完成后会上报设备的节点信息(NODE_INFO)。
格式为:TSCRIPT_GATEWAY_DIR_RSP+ HCI_GATEWAY_CMD_SEND_NODE_INFO+ VC_node_info_t。即:91 + 89 + gateway_prov_event_t
typedef struct{
    u16 node_adr;    // primary address → 02 00 → 设备的地址:0x0002
    u8 element_cnt;  // → 02 → 2个element
    u8 rsv;          // → FF
    u8 dev_key[16];  // → 89 8d d2 4e ff 54 a3 c4 84 55 87 a6 82 95 b4 21 → Device Key
}VC_node_info_t;
🔐 Device Key 作用:
用于加密 Configuration 消息(如绑定 AppKey、设置模型等),只有 Provisioner(网关)和该设备知道,保证配置安全。

<0031>10:05:42:642 [INFO]:(GATEWAY)HCI_GATEWAY_CMD_PROVISION_EVT : 91 89 01 02 00 20 19 11 22 ff 11 d8 1e 92 20 c3 d0 f2 3f 9b f2 3c 5c 43 7e 75 cf 
Provision完成后会上报 Provisioning 成功事件。
格式为:TSCRIPT_GATEWAY_DIR_RSP+HCI_GATEWAY_CMD_PROVISION_EVT+ gateway_prov_event_t。即:91 + 89 + gateway_prov_event_t。
gateway_prov_event_t → 01 02 00 20 19 11 22 ff 11 d8 1e 92 20 c3 d0 f2 3f 9b f2 3c 5c 43 7e 75 cf 
typedef struct{
    u8 eve;        // → 01 → 1 表示成功
    u16 adr;       // → 02 00  → 设备的地址:0x0002
    u8 mac[6];     // → 20 19 11 22 ff 11 → 设备的MAC地址
    u8 uuid[16];   // → d8 1e 92 20 c3 d0 f2 3f 9b f2 3c 5c 43 7e 75 cf → 设备唯一 UUID(128-bit)
 }gateway_prov_event_t;
🆔 UUID 作用:
在 Provisioning 过程中由设备广播,Provisioner 用它识别待配网设备,全局唯一,用于防止重复配网

<0032>10:05:42:658 [INFO]:(log_win32)json_add_net_info_doc
表示网关正在将网络信息(NetKey、AppKey、设备列表等)打包成 JSON 格式,准备通过串口/USB/网络上报给上位机。通常包含:NetKey 列表,AppKey 列表,已配网设备列表(含地址、UUID、MAC、Models 等),当前网关状态,这是 配置工具(如 Telink 的 PC Tool)显示设备列表的来源。

从工具目录下找到了json文件,如下图:

json文件里存储了刚刚加入网络的设备信息:

python 复制代码
...
 
  "UUID": "d81e9220c3d0f23f9bf23c5c437e75cf",
            "macAddress": "11ff22111920",
            "name": "",
            "deviceKey": "898dd24eff54a3c4845587a68295b421",
            "unicastAddress": "0002",
            "sno": "00000000",
            "security": "secure",
            "cid": "0211",
            "pid": "0001",
            "vid": "3333",
            "crpl": "0069",
            "features": {
                "relay": 1,
                "proxy": 1,
                "friend": 1,
                "lowPower": 0
            },
            "relayRetransmit": {
                "count": 5,
                "interval": 30
            },
            "networkTransmit": {
                "count": 5,
                "interval": 30
            },
            "netKeys": [
                {
                    "index": 0,
                    "updated": false
                }
            ],
            "appKeys": [
                {
                    "index": 0,
                    "updated": false
                }
            ],
            "elements": [

...
相关推荐
GHL2842710902 小时前
PowerShell快捷键学习
学习
半导体守望者2 小时前
AE电源闭环控制——反应溅射的集成解决方案
经验分享·学习·机器人·自动化·制造
小饕3 小时前
RAG学习之【向量数据库】Milvus 从入门到精通:索引、检索、混合搜索一篇打通(RAG 必备)
数据库·人工智能·学习·milvus
xianrenli384 小时前
MSAI:第四周练习:思维链 (Chain-of-Thought) 提示与参数调优
学习·msai
2601_961875244 小时前
法考备考计划表|学习计划|资料已整理
java·开发语言·学习·eclipse·tomcat·c#·hibernate
qq_571099354 小时前
学习周报四十九
学习
一锅炖出任易仙4 小时前
创梦汤锅学习日记day34
学习·游戏引擎
半导体守望者4 小时前
AE AZX射频调谐器射频负载匹配(调谐)原理PPT
学习·机器人·自动化·制造·模块测试
me8324 小时前
【AI面试】大模型面试60问(面试速记+详解)
人工智能·学习·ai
CHHH_HHH4 小时前
【C++】哈希表原理与实战:从冲突解决到性能优化
开发语言·数据结构·c++·学习·算法·哈希算法·散列表