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