Zigbee無線技術學習經驗總結:(三)提高實戰篇?

此篇提供了針對產品開發之前的一些實戰演練的方法,由淺入深,循序漸進。全部是本人根據親身實踐總結的一些心得體會。

工具/原料

Zigbee無線通信

方法/步驟

Zigbee開發套件內提供了組網學習的實驗例程。根據每個實驗例程實現的功能,建議對每個例程的程序流程進行分析,包括應用程序和協議棧。熟悉每一個功能用到了哪些API函數和預編譯選項,例如:協調器是如何組網的?路由器和終端節點是如何入網的?設備是如何綁定和解綁的?等等內容。

學習過程中建議對協議棧中重要的API函數和應用程序進行註釋和做好筆記,畫出關鍵事件執行的流程圖,例如組網、入網、綁定、按鍵執行等事件,這樣能方便後續返回查找和追溯之前的學習內容,就在這種的學習和複習的循環中加深對程序的理解。

Zigbee無線技術學習經驗總結:(三)提高實戰篇

在分析和閱讀程序的過程中必然會遇到許多問題,這個時候可以上網查詢解決辦法,但是要特別注意的是網上的有些說法和解答是不完整或者是不正確的,大家要注意甄別,每一個問題的解決辦法必須自己修改程序後燒寫到開發板上進行驗證。

而且平時也可以多看看其他網友的發帖,如果後續自己也遇到類似的問題也能很快找到方向,提高了解決問題的效率。

Zigbee無線技術學習經驗總結:(三)提高實戰篇

對協議棧有深入的瞭解後,你可以想象出一個應用場景,或者上網查詢一些Zigbee產品,通過其說明書瞭解其功能,思考如果是自己做這些產品該如何將Zigbee技術運用其中。

確定目標後,將這個產品和應用場景的需求,分解為很多個可以用Zigbee技術實現的功能,再思考每個功能在程序中的具體實現方式,也就是編寫和調試程序的過程。

例如現在有很多廠家都有的Zigbee串口透傳模塊、Zigbee智能家居套件等,都是很好的應用場景。

Zigbee無線技術學習經驗總結:(三)提高實戰篇

如果向更深入一些,有條件的可以購買一些市面上的Zigbee產品回來進行分析和測試,包括產品功能、硬件指標等項目。除功能測試外,還可以進行傳輸距離測試、數據傳輸率測試、抗干擾測試、功耗測試等。然後思考如何在開發板上修改、編寫和調試程序達到這些量化指標。

例如我之前解決的一個問題:如何實現終端節點的低功耗,具體量化指標就是CC2530進入PM3模式下的休眠電流能夠達到1uA。如果終端節點已經入網,這個指標是很好實現的,但是節點在沒有入網的情況下要能夠到達1uA的電流,又能夠在網絡建立後能迅速加入網絡就不是那麼好控制了。這些都需要反覆的修改、調試和測試程序。

Zigbee無線技術學習經驗總結:(三)提高實戰篇

設計自己的Zigbee PCB板,修改程序以適配自己的硬件。

對於軟件來講,之所以這麼做,是因為之前我們調試的程序都是在開發板上完成的。實際產品的硬件(包括按鍵、LED燈和ADC等外設)都與開發板硬件不相同。而協議棧底層的硬件驅動都是基於開發板硬件編寫的,所以我們要掌握如何根據自己的硬件來修改協議棧的底層驅動,這樣做就更接近實際的產品開發。

對於硬件來講,實際的射頻電路的PCB佈局佈線和阻抗匹配,會對Zigbee性能有很大影響,影響最大的就是傳輸距離。所以自己設計PCB板並結合軟件進行測試,更能反應產品的真實情況,更有利於及早地發現和解決問題。

Zigbee無線技術學習經驗總結:(三)提高實戰篇

學會將自己的應用程序移植到新版協議棧。

新版協議棧相對舊版協議棧新增了部分功能,解決了部分bug。移植的時候可能出現應用程序與新版協議棧之間有衝突和功能重複的情況。例如之前舊版協議棧沒有解決的bug用戶就只能在自己的應用程序中解決,新版協議棧解決這個bug後,應用程序就應該做相應修改避免重複,修改後還必須進行迴歸測試和全功能測試。

Zigbee無線技術學習經驗總結:(三)提高實戰篇

Zigbee無線技術學習經驗總結,到這裡就全部結束了,可能有不完善和缺漏的地方,大家可以聯繫我一起討論。

Zigbee無線技術學習經驗總結:(三)提高實戰篇

注意事項

。本來只想說說自己的心得體會,為了更加講述得更全面,不知不覺之中已經超出了自己的預期的篇幅。希望能夠給初學Zigbee的朋友一些幫助,大家的認可是對我最大的支持。

相關問題答案