蓝牙学习之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": [

...
相关推荐
小嘉丶学长3 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
小李不想当小白3 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
adinnet20267 小时前
电商客服对话知识库的自学习闭环与质量演进机制
学习
lazy H7 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
试剂界的爱马仕9 小时前
α-Cyano-4-hydroxycinnamic acid(CHCA)用作 MALDI-TOF 基质的配制与使用
大数据·人工智能·深度学习·学习
小向是个Der9 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
学网安的肆伍9 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
海绵宝宝转agent10 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
小oo呆10 小时前
【学习心得】MCP工具开发学习笔记
笔记·学习
kyrie_sakura10 小时前
大模型学习19 大模型学习 - LangChain2_Retrieval(RAG-文档处理-向量处理检索-Milvus)
学习·langchain·milvus