• SIG MESH 问答 已结案
  • 【脑壳疼】 一个Proxy节点(server) 如何 同时通过PB-GATT 和 PB-ADV配网方式加入Mesh网络。

应用场景: 手头两个嵌入式开发开发板(一个做provisoner,一个做provisionee),一部安卓手机(provisoner)。 一个嵌入式开发板A做支持 代理(Proxy)功能 的provisionee代理节点,另一部嵌入式开发板B做Provisoner。
应用要求:安卓手机通过PB-GATT的方式和嵌入式开发板A通过PB-GATT配网成功,接着嵌入式开发板B和嵌入式开发板A通过PB-ADV配网。 三个设备可以进行消息的互发。
实际调试过程中,手机和嵌入式开发板A 通过PB-GATT配网成功后,广播即停止了发送;需要将嵌入式开发板A reset后,才可用嵌入式开发板B 通过PB-ADV配网。无法达到应用要求。

    ChasWang 安卓手机通过PB-GATT的方式和嵌入式开发板A通过PB-GATT配网成功,接着嵌入式开发板B和嵌入式开发板A通过PB-ADV配网。 三个设备可以进行消息的互发

    既然目的是为了三个设备互发,为何就非要开发板B去配置开发板A?为什么就不能大家都在同一个网络里,因为同一个网络就已经可以实现三个设备互发了。

    你要明白,配置入网的目的,仅仅是为了共用同一套密钥,如netkey,appkey.如果我提前知道这些密钥,我完全可以不需要配网这个过程。

      因为嵌入式开发板A只支持通过 PB-ADV 的方式邀请节点入网;嵌入式开发板B支持通过ADV、GATT承载的方式入网;安卓手机支持通过 PB-GATT的方式邀请节点入网。 我的问题可以精简为一句话: 就是proxy节点如何同时加入adv网络和gatt网络(如果非要这么实现的话,有无可能呢?)?

        ChasWang

        1. 从理论上来讲,可以的。ADV的网络一套密钥,GATT网络一套密钥,存放在开发板B上,使用哪个网络就切到哪套密钥。但是,工程师会骂娘,要维护这套方式会复杂。基本上没有人会这么做,起码目前为止没有看到有这样干
        2. 对开发板A这样的,目前基本上没有哪个厂商只有支持PB-ADV的吧?PB-ADV和PB-GATT已经是标配了。
        3. 我还是哪句话,开发板A只要加手机的网络即可三方互发,简便又满足你的应用。

        OK. This question can be closed~ I will study the Mesh Spec document carefully later

          ChasWang

          Perfect, Come on!

            撰写回复...