基于STM32F的智能家居服務網關設計
3.2 軟件設計流程
軟件設計流程分為服務網關根任務軟件設計流程和WSN 網關軟件設計流程。
操作系統環境中,每個任務都是無限循環的相對獨立的功能模塊,通常都會有一個根任務,它應
該被設定該系統的核心功能業務。如圖5 為根任務程序流圖,首先板級初始化是對硬件的抽象和封裝,為應用程序提供更友好的接口。然后創建其余6 個應用任務,創建格式與創建開始任務類似。最后程序進入WEB 服務主循環程序,為了讓別的優先級低的任務能夠執行,必須調用任務掛起函數。

圖5 根任務流程
(2)WSN 網關軟件設計流程
WSN 網關也叫WSN 協調器,它是整個傳感器網絡的總控制中心和數據采集的匯聚點,無線傳感
器節點分布在其覆蓋范圍內[5]。傳感網網關的軟件流圖如圖6 所示。程序開始建立Zigbee 網絡,此時網絡中沒有其他節點。然后進入無線監控程序,查找是否有請求加入網絡的信號產生,若有新節點信號申請則根據信號類型添加入網并分配網絡號,若不是新節點,則判定節點傳輸的數據有效性,有效則接收并發送到ARM 網關,否則丟棄。

圖6 WSN 網關軟件流程
4 結語
文中系統地討論了物聯網服務網關這一項基于物聯網應用的關鍵性技術[6-7],結合家庭自動化進行
應用設計。在硬件方面,按照嵌入式板級硬件設計流程,設計并實現了一種基于ARM 處理器的低成本網關硬件。軟件設計上采用自頂向下和分層的設計方法,結合網關硬件,利用嵌入式操作系統
uCOS-II 和協議棧LwIP,搭建了一個應用開發平臺,為應用軟件的開發提供了良好的軟件環境。
評論