举栗子
ble mesh 中存在一类代理节点(proxy node),其作用是通过GATT,将接受到的数据,发送给mesh 网络中,不具备gatt 能力的设备。
例如:天猫精灵需要wifi 配网,需要获取到wifi 网络的账号和密码,这个时候需要用手机app ,通过bt gatt 连接到天猫精灵,发送数据,然后如果mesh 网络中,其他节点需要这个账号和密码信息,天猫精灵可以通过adv转发这些信息。
这个过程中,天猫精灵就是一个proxy server 的角色,手机是一个proxy client 角色, mesh 灯组 等设备属于不具备gatt 连接类型设备
万物皆数据
所有蓝牙协议的核心作用就是定义好一套数据帧格式
然后世界内,所有需要应用蓝牙的人,都来遵守同一套规则,然后就能正常通信
如果你NB,不愿遵守,也可以自创一套,那不是咱现在讨论的 bt proxy 协议。回归正题, Proxy PDU
Proxy PDU
整个数据帧分为三部分,SAR标志符,类型标志符,数据前两部分长度固定,共占用一个字节(opcode),实际数据长度取决于用户定义