QCA402x BT Mesh 應用

上次我們淺談基於BLE架構下的網狀通訊協議BT Mesh通訊,本篇主要介紹BT Mesh 裝置開通流程與BT Mesh Node相關定義,並於最後使用QCA402x BT Mesh Lights與 BT Mesh Switch進行實際應用。

 

  • BT Mesh裝置開通流程:

          BT Mesh 裝置在未進行Provisioning(開通配置)前BT Mesh Device稱為unprovisioned Device,經由Provisioner進行Provisioning後稱之為BT Mesh Node,首先我們必須先了解PB-ADV與PB-GATT兩種承載層,以下將逐一介紹。

 

   PB-GATT:  PB-GATT(Provision Bear-GATT)為利用BLE裝置進行Provisioning所用,使用的承載層為BLE GATT並啟用Provisioning Service,如此一來即可使用手機、智慧手錶…等BLE裝置進行Provisioning,達到向下相容的目的。

 

  PB-ADV:   PB-ADV(Provision Bear-ADV)為BT Mesh Provisioner裝置進行Provisioning所用,使用的承載層為BLE ADV,其可直接使用裝置進行開通配置,使BT Mesh於沒有手機或手錶的情況下依然能開通新裝置。

 

  BT Mesh Device開通流程:

     BT Mesh開通流程主要分為以下五大步驟:Beaconing、Invitation、Exchange public keys、Authentication與Distribution of provisioning data。

 

    Beaconing:  尚未入網之BT Mesh Device需要向Provisioner發送ADV資料,供Provisioner掃描,以進行後續入網動作。

 

    Invitation: 當Provisioner接收到Device所發之Beacon後,會進行邀請Device入網,並交換必要的設備訊息,必要資訊中包含該Device所擁有之Element數量、支援的加密演算法、使用公鑰或私鑰進行加密與OOB(Out of Band)認證相關資訊。

 

    Exchange public keys:交換公鑰時,會讀取Invitation步驟所取得的資訊,來確定Device是否支援OOB公鑰交換,再使用公鑰與自身的私鑰經由(ECHD)橢圓曲線產生出對稱金鑰。

 

    Authentication:

      目前BT Mesh所支援OOB加密方式為Output OOB、Input OOB、Static OOB以及不使用OOB認證之No OOB。

      Output OOB為Device產生隨機數,並於Provisioner上輸入該數值,進行認證,例如未開通的裝置為燈泡時,可使用隨機閃爍次數,當作Provisioner上輸入之依據,即可完成Output OOB認證。

       Input OOB則與Output OOB相反,此時為Provisioner產生隨機數,並於Device上輸入該數值進行認證,即可完成Input OOB認證。

       當Device不支援Input/Output OOB時,可採用Static OOB或No OOB,Static OOB為某一固定值,進行OOB認證,當此固定值為0,代表所使用OOB為 No OOB。

 

    Distribution of provisioning data:

      完成認證確保Provisioner與BT Mesh Device之間的承載層安全後,即可傳送Provisioning data,其中包含Network key、Device Key、Net Index、Key Flag、IV Index、Unicast Address,此時BT Mesh Device完成開通配置,並成為BT Mesh Node。

 

 

BT Mesh Provisioning 流程圖


          

    BT Mesh相關應用資訊:

        首先BT Mesh包含BT Mesh Element、Models、Subscribe與Publish五大項必須了解之資訊,下圖為BT Mesh Node主要架構以下我們逐一進行解析。

 

BT Mesh Node 架構圖


               BT Mesh Element: 

                               BT Mesh每一Node中必須擁有一個Element或多個Element,每一Element皆有獨立地址,且每一Element包含一個或多個Model。



 

BT Mesh Element 架構圖

                 BT Mesh Model:

                                BT Mesh Model為決定某一節點其基本功能,每一Model擁有不同的State,一個Element可包含多個Model。

 

 

BT Mesh Model 架構圖

                 Subscribe:

                                BT Mesh利用Subscribe功能訂閱Group Address以利於BT Mesh裝置進行一對多控制,一個Model可以訂閱多組Group,例如:廚房燈可以同時訂閱廚房與全家燈泡兩個Group。


BT Mesh Subscribe 示意圖


                  Publish:

                               BT Mesh利用Publish將Client狀態發布至Group Address,藉此控制Group內裝置,Group可接受多個Node Publish,例如:花園開關與全屋開關可同時發布至花園Group。

 

BT Mesh Pulish 示意圖



                       

                  BT Mesh實際應用:

                               以下我們將利用QCA402x進行BT Mesh實際應用,主要使用QCA4020作為BT Mesh Switch、QCA4024作為BT Mesh Lights,並使用手機進行開通動作。

 

                  BT Mesh Switch:

                               首先BT Mesh Switch使用Generic OnOff Client發送指令至Lights Group來控制BT Mesh Lights,另外Configuration為BT Mesh設定必要Model,下圖為QCA4020 BT Mesh Switch所建立之Node列表。

                  BT Mesh Lights:

                               首先BT Mesh Lights使用Generic OnOff Server、Lightness Server與HSL Server,另外Configuration為BT Mesh設定必要Model,下圖為QCA4024 BT Mesh Lights所建立之Node列表。

 

相關影片

QCA402x BT Mesh 應用

QCA402x BT Mesh 應用

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論