分享一些個人關于如何上手Zigbee產品開發的觀點。
先說明一下,這里提及的Zigbee產品是需要過Zigbee認證的。
目前網上不少中文資料都略顯陳舊,論壇中有些貼子還混淆了Zigbee的概念,比如MAC和PHY屬于IEEE 802.15.4,這不屬于Zigbee協議。
Zigbee產品按設備型別基本分為三類:Coordinator(網關)、Router(燈)和End Device(開關,傳感器等)
網關基本采用Host+Slave,其中Host配以功能強大的MCU,Slave就是類似Ti CC2538這樣的Zigbee全堆疊芯片,Host和Slave之間多數采用UART通訊。按照網路節點規模通常有這么兩種實作: (1) 如果網路節點數在100以內,Host上跑應用,Slave上跑所有的Zigbee協議;
(2)如果網路節點數達到甚至超過200,則采用NCP模式:Slave跑AF以下的Zigbee協議,而諸如ZCL則放到Host上,對于更大規模的網路,甚至Slave只跑802.15.4而將Zigbee協議完全放到Host上
Router以燈居多(不斷電),主要有Dimmable,RGB及色溫(ColorTemperature)等,對于RGB的燈,Zigbee芯片資源占用較多(由于Zigbee聯盟強制Router設備支持GreenPower功能,即使最終網路中沒用GreenPower設備,也必須過GP認證從而增加了GP實作的代碼)
End Device的產品型別較多,而且不少是使用電池供電,因此基本需要休眠(Sleep),這時芯片選型就比較重要,比如除了芯片的最大輸出功率Tx和接收靈敏度Sensitivity外,Tx和Rx的電流也是關鍵引數;此外,設備是否支持OTA及如何進行OTA也是一個比較困難的選擇。
個人覺得,就初學者而言,從掌握上述三種設備型別及相應的應用入手,比一開始就糾纏到Zigbee協議的細節之中,學習效果更明顯。
以本人當初學習NXP的JN5169為例(如果沒有NXP的JN5169 EVM板,可以用4個JN5169 USB Dongle代替:1個配Ubiqua作為抓包用,1個Coordinate,1個Router,1個End Device),
在NXP官網www.nxp.com免費注冊一個用戶,然后從
https://www.nxp.com/products/wireless/proprietary-ieee-802.15.4-based/zigbee/zigbee-3.0:ZIGBEE-3-0
下載JN-SW-4141,JN-SW-4170和JN-AN-1216(Coordinator),JN-AN-1218(Router燈),JN-AN-1219(End Device開關)
(這幾個AN里的工程都是可以過ZTT認證的)
1)安裝JN-SW-4141,即JN5169的開發環境BeyondStudio
2)安裝JN-SW-4170,即Zigbee協議堆疊
3)依次把JN-AN-1216,JN-AN-1218和JN-AN-1219的工程復制到Beyondstudio的作業目錄中
可以先用Pre-Build的binary檔案:
ZigbeeNodeControlBridge_JN5169_GP_Proxy_FULL_FUNC_DEVICE_1000000,
DimmableLight_GpProxy_JN5169_DR1175.bin,
DimmerSwitch_NtagIcode_JN5169_DR1199.bin
分別燒錄3個JN5169 USB Dongle
也可以根據各個AN下\doc\里的PDF說明檔案,修改Makefile(比如去掉GreenPower功能)或編譯配置(去掉NtagIcode),分別編譯
上述三個檔案,
4)參考AN1216\doc\JN-AN-1216-ZigBee-3-0-IoT-ControlBridge-UserGuide.pdf目錄第五章的說明,
在PC上運行\Tools\TestGUI\TestGUI\ZGWUI,控制Coordinator,實作Zigbee組網,依次將燒錄了DimmableLight和DimmerSwitch
的兩個JN5169 USB Dongle加入該網
(如果有Ubiqua,可以通過入網程序所抓的包,結合Zigbee標準,理解Zigbee的Commissioning/Provision概念)
5) 通過PC上的串口工具(如串口除錯助手)可以看到Router和EndDevice的列印資訊(各工程對應的Makefile中有多種列印選項供組
合)
6) ZGWUI中的很多命令可以幫助有效理解各種Zigbee概念,如ZCL和ZDP及Nwk層的命令
(強烈建議配合Ubiqua抓包,學習效率和進度都會明顯加快)
7)閱讀AN的代碼,配合SDK中ZCL和BDB的代碼,可避免新人從一開始就陷入學習復雜枯燥的Stack實作細節,從而能夠比較快的理解掌握Zigbee概貌,減少產品開發的入門時間。
Zigbee問世已經十多年了,始終不溫不火,十分小眾地自嗨,只是從前幾年才開始逐漸顯露出一些生機,
愿以拙文拋磚引玉,為推廣Zigbee的應用出一點力,希望大家直抒己見。
uj5u.com熱心網友回復:
zigbee的最根本的問題是無法落地,十年前還能算是新技術有潛力,現在已經快要被新技術淘汰了。uj5u.com熱心網友回復:
還是用wifi或藍牙實在uj5u.com熱心網友回復:
NCP太弱了,作為協調器來說,可以直接做ZCL層透傳。協調器可以看成一個萬能的client,大可不必開啟所有的cluster。uj5u.com熱心網友回復:
這十年內zigbee有沒有技術上的升級和更新?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/118502.html
標籤:無線
下一篇:心型流水燈帶音樂
