<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[success] 導師視頻講解:[去聽課](https://www.bilibili.com/video/BV1k34y1D7Vz?p=34) >[success] **技術支持說明:** >**1**.一般以自主學習為主 > **2**.可到官方問答社區中提問:[**去提問**](https://bbs.csdn.net/forums/zigbee) > **3**.工程師**會盡快**解答社區問題,但他們是一線開發,【**難以保證**】解答時效,解答辛苦,感謝理解! <br/> >[warning] 本節課講解的多個理論知識,理解起來并不容易,如果大家暫時不理解也沒關系,隨著后續的學習,相信大家會逐步加深理解! <br/> Commissioning 可以直譯為“調試”或“嘗試運作”,這有點奇怪,所以本文暫不做翻譯。讀者可以籠統地把其理解為“組建網絡”的意思,因此“Commissioning Modes”可籠統地理解為“組網模式”,但為了嚴謹性,本文仍使用Commissioning。 ### BDB提供了4種主要的Commissioning模式給開發者使用,分別是Network Steering、Network Formation、Finding and Binding(F & B)和Touchlink。 <br/> ## **Network Steering**? 定義了設備如何加入到ZigBee網絡中,具體方式如下: * 如果設備還沒有在ZigBee網絡中,那么它們會尋找一個合適的ZigBee網絡并加入到其中。 * 特別地,對于路由器類型的設備,在入網成功后,允許其它設備通過本設備來加入到這個ZigBee網絡中。 ### 所有需要加入到ZigBee網絡中的設備都必須要支持Network Steering。 <br/> ## **Network Formation** Network Formation 規定協調器類型的設備需要去建立一個中心信任的安全網絡。這種網絡的特點是所有需要加入到網絡中的設備都需要經過信任中心的同意才能加入,而協調器本身就是這個信任中心。 ### 類似地,對于路由器類型的設備,如果條件允許的話會創建一個分布式安全網絡。這里暫時不展開講解這種網絡了。 ### 所有的協調器類型設備都必須要支持 Network Formation ,而對于路由器類型的設備來說,這是可選的模式。 <br/> ## **Finding and Binding(F & B)** 顧名思義,Finding and Binding的意思就是發現與綁定,那么發現與綁定什么呢? ### ZigBee 3.0是使用Cluster(集群)來描述設備的功能的。每種設備都有各自的功能,都有各自的一系列Cluster。這里的發現與綁定是指ZigBee設備的Cluster之間的相互發現、相互綁定。隨著后續章節對Cluster深入地講解,讀者將會更深入地了解到其中的原理。 ### 所有的ZigBee設備都必須要支持Finding and Binding(F & B)。 <br/> ## **Touchlink**? 一般用于兩個ZigBee設備之間直接進行通信,舉個例子說明其原理。 ### 假設現在有兩個支持Toucklink的ZigBee設備: * 一個是無線按鈕,支持通過Touchlink的方式發送一個恢復出廠設置的指令; * 另一個是燈,支持接收通過Touchlink方式發來的恢復出廠設置指令并執行相應的處理。 用戶可以拿著這個按鈕靠近這個燈,**讓兩者相距約2cm**,然后按下按鈕發送指令,這個燈會收到指令并執行相應處理。 如果用戶**把按鈕拿遠一些測試**,會發現燈收不到這個指令。如果用戶把這個按鈕拿去靠近**一個新買的相同的燈**測試,會發現這個燈也會收到這個指令。 ### 從這個例子中可以總結出Touchlink具有下面這些特點: * 通信距離短,約2cm。按鈕向燈發送指令時,燈會通過檢測按鈕的網絡信號強度來判斷按鈕的距離,從而決定是否處理該指令。 * 設備之間可以直接通信,可以把這個按鈕拿去直接跟一個新買的相同的燈通信。 Touchlink用得相對比較少,ZigBee設備并不一定都需要支持Touchlink,開發者可以讓自己開發的設備支持或不支持這個功能。 <br/> ## **BDB Commissioning Modes API簡介** 雖然上述的Commissioning模式比較復雜,但是得益于Z-Stack 3.0 ,ZigBee設備的組網代碼非常簡單,只需要調用1個API就可以了。 ### 打開配套的工程代碼,可以在bdb_interface.h文件中找到BDB Commissioning Modes的API,如圖所示。 ![](https://img.kancloud.cn/dc/f9/dcf9b4228fe9f2c91d6468468dbe94bc_830x280.png =600x) ### 這個函數需要傳入一個模式參數,可以在bdb.h中找到由協議棧定義好的模式,如圖所示。 ![](https://img.kancloud.cn/ac/66/ac662049249817ebf85cd2c08b53770f_830x286.png =600x) <br/> 于是,終于可以組建ZigBee網絡了。首先,讓協調器創建網絡,代碼如下: ``` bdb_StartCommissioning(//組建網絡 BDB_COMMISSIONING_MODE_NWK_FORMATION | //支持Network Formation BDB_COMMISSIONING_MODE_FINDING_BINDING //支持Finding and Binding(F & B) ); ``` 然后,讓路由器或終端設備加入網絡中,代碼如下: ``` bdb_StartCommissioning(//設備入網 BDB_COMMISSIONING_MODE_NWK_STEERING?| //支持Network Steering BDB_COMMISSIONING_MODE_FINDING_BINDING //支持Finding and Binding(F & B) ); ``` 一般地,在實際的開發過程中,開發者只需要使用這個API就基本可以滿足網絡創建和設備入網的功能需求了。這是BDB的一大優點,使用簡單! <br/> <br/> ## **項目定制** * 如需項目定制開發,可掃碼添加項目經理好友(注明“**項目定制**”) * 定制范圍:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等IoT技術方案 * 善學坊官網:[www.sxf-iot.com](https://www.sxf-iot.com/) ![](https://img.kancloud.cn/ca/73/ca739f92cab220a3059378642e3bd502_430x430.png =200x) * 非項目定制**勿擾**,此處**非**技術支持
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看