基于STM32F的智能家居服務網(wǎng)關(guān)設(shè)計
3.2 軟件設(shè)計流程
軟件設(shè)計流程分為服務網(wǎng)關(guān)根任務軟件設(shè)計流程和WSN 網(wǎng)關(guān)軟件設(shè)計流程。
(1)服務網(wǎng)關(guān)根任務軟件設(shè)計流程
操作系統(tǒng)環(huán)境中,每個任務都是無限循環(huán)的相對獨立的功能模塊,通常都會有一個根任務,它應
該被設(shè)定該系統(tǒng)的核心功能業(yè)務。如圖5 為根任務程序流圖,首先板級初始化是對硬件的抽象和封裝,為應用程序提供更友好的接口。然后創(chuàng)建其余6 個應用任務,創(chuàng)建格式與創(chuàng)建開始任務類似。最后程序進入WEB 服務主循環(huán)程序,為了讓別的優(yōu)先級低的任務能夠執(zhí)行,必須調(diào)用任務掛起函數(shù)。
圖5 根任務流程
(2)WSN 網(wǎng)關(guān)軟件設(shè)計流程
WSN 網(wǎng)關(guān)也叫WSN 協(xié)調(diào)器,它是整個傳感器網(wǎng)絡(luò)的總控制中心和數(shù)據(jù)采集的匯聚點,無線傳感
器節(jié)點分布在其覆蓋范圍內(nèi)[5]。傳感網(wǎng)網(wǎng)關(guān)的軟件流圖如圖6 所示。程序開始建立Zigbee 網(wǎng)絡(luò),此時網(wǎng)絡(luò)中沒有其他節(jié)點。然后進入無線監(jiān)控程序,查找是否有請求加入網(wǎng)絡(luò)的信號產(chǎn)生,若有新節(jié)點信號申請則根據(jù)信號類型添加入網(wǎng)并分配網(wǎng)絡(luò)號,若不是新節(jié)點,則判定節(jié)點傳輸?shù)臄?shù)據(jù)有效性,有效則接收并發(fā)送到ARM 網(wǎng)關(guān),否則丟棄。
圖6 WSN 網(wǎng)關(guān)軟件流程
4 結(jié)語
文中系統(tǒng)地討論了物聯(lián)網(wǎng)服務網(wǎng)關(guān)這一項基于物聯(lián)網(wǎng)應用的關(guān)鍵性技術(shù)[6-7],結(jié)合家庭自動化進行
應用設(shè)計。在硬件方面,按照嵌入式板級硬件設(shè)計流程,設(shè)計并實現(xiàn)了一種基于ARM 處理器的低成本網(wǎng)關(guān)硬件。軟件設(shè)計上采用自頂向下和分層的設(shè)計方法,結(jié)合網(wǎng)關(guān)硬件,利用嵌入式操作系統(tǒng)
uCOS-II 和協(xié)議棧LwIP,搭建了一個應用開發(fā)平臺,為應用軟件的開發(fā)提供了良好的軟件環(huán)境。
評論