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

圖5 根任務(wù)流程
(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ù)網(wǎng)關(guān)這一項基于物聯(lián)網(wǎng)應(yīng)用的關(guān)鍵性技術(shù)[6-7],結(jié)合家庭自動化進行
應(yīng)用設(shè)計。在硬件方面,按照嵌入式板級硬件設(shè)計流程,設(shè)計并實現(xiàn)了一種基于ARM 處理器的低成本網(wǎng)關(guān)硬件。軟件設(shè)計上采用自頂向下和分層的設(shè)計方法,結(jié)合網(wǎng)關(guān)硬件,利用嵌入式操作系統(tǒng)
uCOS-II 和協(xié)議棧LwIP,搭建了一個應(yīng)用開發(fā)平臺,為應(yīng)用軟件的開發(fā)提供了良好的軟件環(huán)境。
評論