基于ARM和WSN技術(shù)的環(huán)境信息檢測(cè)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
在現(xiàn)代工業(yè)、農(nóng)業(yè)、商業(yè)等領(lǐng)域中,無(wú)線(xiàn)數(shù)據(jù)監(jiān)測(cè)技術(shù)的應(yīng)用越來(lái)越廣泛。禽類(lèi)生活環(huán)境復(fù)雜且多變,使得現(xiàn)有的環(huán)境監(jiān)測(cè)系統(tǒng)限制了養(yǎng)殖業(yè)的發(fā)展。針對(duì)無(wú)線(xiàn)環(huán)境監(jiān)測(cè)領(lǐng)域中禽舍環(huán)境信息監(jiān)測(cè)的多樣化,設(shè)計(jì)一種智能環(huán)境監(jiān)測(cè)系統(tǒng)尤為重要,通過(guò)多點(diǎn)實(shí)時(shí)采集環(huán)境數(shù)據(jù),并控制設(shè)備及時(shí)改善室內(nèi)環(huán)境,達(dá)到科學(xué)養(yǎng)殖的目的 [1]。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)Wireless Sensor Networks,WSN)可通過(guò)各種傳感器實(shí)時(shí)感知和采集各種監(jiān)測(cè)對(duì)象的信息,并將采集到的信息以多跳無(wú)線(xiàn)網(wǎng)絡(luò)傳送方式傳送給用戶(hù)[2]。系統(tǒng)的數(shù)據(jù)處理、存儲(chǔ)等部分在以 ARM 為核心的開(kāi)發(fā)平臺(tái)上進(jìn)行,具有豐富的軟硬件資源
1 系統(tǒng)總體方案設(shè)計(jì)
系統(tǒng)分為信息采集模塊、數(shù)據(jù)通信模塊和上位機(jī)監(jiān)控模塊三部分。信息采集模塊主要是對(duì)溫度,濕度,NH 濃度的采集 ;數(shù)據(jù)通信模塊包含路由器節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn),將采集到的數(shù)據(jù)通過(guò)路由器節(jié)點(diǎn)以無(wú)線(xiàn)多跳的方式發(fā)送給協(xié)調(diào)器,完成信息數(shù)據(jù)傳輸;上位機(jī)監(jiān)控模塊主要由圖形用戶(hù)界面和數(shù)據(jù)庫(kù)組成,通過(guò)界面對(duì)接收到的數(shù)據(jù)進(jìn)行管理。系統(tǒng)設(shè)計(jì)總體框圖如圖 1 所示
2 系統(tǒng)硬件設(shè)計(jì)
2.1 信息采集模塊
在無(wú)線(xiàn)通信技術(shù)中,WSN 技術(shù)主要有 Bluetooth,WiFi UWB,NFC 和 ZigBee 等。在傳感器網(wǎng)絡(luò)應(yīng)用中,ZigBee 具有技術(shù)容量大、組網(wǎng)能力強(qiáng)、成本較低的優(yōu)點(diǎn) [3],雖然傳輸速度不及其他無(wú)線(xiàn)通信技術(shù),但本文系統(tǒng)所設(shè)計(jì)的環(huán)境監(jiān)測(cè)網(wǎng)絡(luò)數(shù)據(jù)流量范圍在 20 ~250 kbit/s 之間,足以滿(mǎn)足系統(tǒng)需求,所以選擇 ZigBee 技術(shù)組建環(huán)境監(jiān)測(cè)系統(tǒng)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)。
信息采集模塊主要包括主控制器和用于采集禽舍環(huán)境中溫度,濕度,NH3 濃度的傳感器。系統(tǒng)選用 TI 公司生產(chǎn)的CC2530 作為 ZigBee 節(jié)點(diǎn)的主控制器,負(fù)責(zé) WSN 的建立、環(huán)境信息的采集和傳輸。CC2530 是一款完全兼容 8051 內(nèi)核同時(shí)支持 IEEE 802.15.4 協(xié)議的無(wú)線(xiàn)射頻單片機(jī) [4]。溫度傳感器和濕度傳感器采用集成的數(shù)字式溫濕度傳感器 SHT10,供電電壓為直流 5 V。NH3 濃度傳感器采用 MQ-X 型氣體傳感器模塊,采集監(jiān)測(cè)區(qū)域內(nèi)有害氣體 NH3 的濃度。氣體傳感器模塊原理如圖 2 所示 [5]。
2.2 數(shù)據(jù)通信模塊
在本設(shè)計(jì)中,ZigBee 模塊分為處于ZigBee 網(wǎng)絡(luò)底層的 EndDevice 模塊、數(shù)據(jù)中轉(zhuǎn)的 Router 模塊和網(wǎng)絡(luò)頂層的Coordinator 模塊。由采集禽舍中環(huán)境信息參數(shù)的傳感器檢測(cè)節(jié)點(diǎn)、提供無(wú)線(xiàn)信息路由轉(zhuǎn)發(fā)功能的路由器節(jié)點(diǎn)和負(fù)責(zé)網(wǎng)絡(luò)發(fā)起、參數(shù)設(shè)定、數(shù)據(jù)管理的協(xié)調(diào)器節(jié)點(diǎn)共同構(gòu)成無(wú)線(xiàn)傳感器網(wǎng)絡(luò) [6]。Coordinator 模塊主要負(fù)責(zé)接收傳感器節(jié)點(diǎn)發(fā)送的無(wú)線(xiàn)送,同時(shí)作為數(shù)據(jù)終端設(shè)備 DTE 通過(guò)RS 232C 與 TTL 電平和邏輯關(guān)系的轉(zhuǎn)換,再次使用 MAX232 芯片進(jìn)行電平轉(zhuǎn)換與嵌入式網(wǎng)關(guān)(ARM11)通信
2.3 上位機(jī)監(jiān)控模塊
為滿(mǎn)足系統(tǒng)設(shè)計(jì)要求,保證上位機(jī)正常運(yùn)行,系統(tǒng)采用低功耗、低成本、接口豐富的以Samsung 公司生產(chǎn)的 ARM11 微處理器 S3C6410 為核心的嵌入式開(kāi)發(fā)平臺(tái)[7]。使用可視化編程軟件編寫(xiě),結(jié)合 SQLite 存儲(chǔ)傳感器數(shù)據(jù),在用戶(hù)界面顯示傳感器數(shù)據(jù),實(shí)時(shí)監(jiān)測(cè)并存儲(chǔ)數(shù)據(jù),便于后續(xù)管理與查看分析。嵌入式網(wǎng)關(guān)硬件結(jié)構(gòu)如圖 3 所示
3 軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)主要包括無(wú)線(xiàn)傳感網(wǎng)絡(luò)軟件開(kāi)發(fā)和上位機(jī)軟件開(kāi)發(fā)兩部分。無(wú)線(xiàn)傳感網(wǎng)絡(luò)開(kāi)發(fā)用于采集環(huán)境信息,組成 ZigBee 網(wǎng)絡(luò),實(shí)現(xiàn)采集終端節(jié)點(diǎn)與協(xié)調(diào)器的通信主要包括 End Device 節(jié)點(diǎn)軟件設(shè)計(jì),Router 節(jié)點(diǎn)軟件設(shè)計(jì)Coordinator 節(jié)點(diǎn)軟件設(shè)計(jì) [8]。上位機(jī)軟件開(kāi)發(fā)主要包含圖形用戶(hù)界面和數(shù)據(jù)庫(kù)開(kāi)發(fā),工作人員通過(guò)圖形用戶(hù)界面直觀地讀取數(shù)據(jù),數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ),便于查看和分析歷史數(shù)據(jù)
3.1 無(wú)線(xiàn)傳感網(wǎng)絡(luò)軟件開(kāi)發(fā)
在本文所構(gòu)建的 ZigBee 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中,Coordinator 節(jié)點(diǎn)上電后,首先初始化硬件和協(xié)議棧,然后通過(guò)檢測(cè)和掃描信道能量,從中選出能量最強(qiáng)的空閑信道建立網(wǎng)絡(luò) [9]。成功建立網(wǎng)絡(luò)后,進(jìn)入偵聽(tīng)狀態(tài),若有設(shè)備申請(qǐng)入網(wǎng)則允許其加入并為之分配 16 位的網(wǎng)絡(luò)地址,同時(shí)建立綁定文件。若沒(méi)有則 Coordinator 串口還可利用 DMA 的方式接收嵌入式網(wǎng)關(guān)ARM11)發(fā)來(lái)的命令數(shù)據(jù),并將命令數(shù)據(jù)無(wú)線(xiàn)發(fā)送給 End Device ;若 Coordinator 節(jié)點(diǎn)收到 End Device 節(jié)點(diǎn)發(fā)來(lái)的無(wú)線(xiàn)數(shù)據(jù),則直接將該數(shù)據(jù)通過(guò)RS 232 串口發(fā)往嵌入式網(wǎng)關(guān)繼續(xù)處理。Coordinator 節(jié)點(diǎn)的軟件設(shè)計(jì)流程如圖 4 所示
Router 節(jié)點(diǎn)在本系統(tǒng)中僅僅負(fù)責(zé)子節(jié)點(diǎn)入網(wǎng)請(qǐng)求和轉(zhuǎn)發(fā)數(shù)據(jù)/ 命令。End Device 節(jié)點(diǎn)上電初始化后,開(kāi)始尋找可加入的網(wǎng)絡(luò)信道,并向 Coordinator 或 Router 節(jié)點(diǎn)發(fā)送入網(wǎng)申請(qǐng)若成功入網(wǎng),Router 或 Coordinator 節(jié)點(diǎn)會(huì)給其分配一個(gè) 16 位的網(wǎng)絡(luò)地址 ;若入網(wǎng)失敗,則繼續(xù)向 Router 或 Coordinator 節(jié)點(diǎn)發(fā)送入網(wǎng)請(qǐng)求,直到成功入網(wǎng)。成功入網(wǎng)后,偵聽(tīng)網(wǎng)絡(luò)信息,查詢(xún)是否接收到 Coordinator 節(jié)點(diǎn)的無(wú)線(xiàn)數(shù)據(jù)。當(dāng)接收到解析該命令數(shù)據(jù)時(shí),若是數(shù)據(jù)采集命令,則啟動(dòng)相應(yīng)的傳感器,獲取傳感器數(shù)據(jù)并通過(guò) ZigBee 網(wǎng)絡(luò)將數(shù)據(jù)上傳到 Coordinator節(jié)點(diǎn) ;若是其他控制命令,則根據(jù)命令類(lèi)型執(zhí)行相應(yīng)操作 [10]。End Device 節(jié)點(diǎn)的軟件設(shè)計(jì)流程如圖 5 所示。
3.2 上位機(jī)軟件設(shè)計(jì)
上位機(jī)主要由一個(gè)移植了嵌入式 Web 服務(wù)器和嵌入式數(shù)據(jù)庫(kù) SQLite 的ARM11 平臺(tái)構(gòu)成,連接著外部 Internet 和內(nèi)部負(fù)責(zé)采集環(huán)境信息的 ZigBee 無(wú)線(xiàn)傳感器網(wǎng)絡(luò),從而實(shí)現(xiàn) Web 瀏覽器與 WSN 之間的信息交互。環(huán)境監(jiān)測(cè)現(xiàn)場(chǎng)的數(shù)據(jù)通過(guò)ZigBee 網(wǎng)絡(luò) Coordinator 上傳到 ARM 網(wǎng)關(guān)中,并選用 SQLite 嵌入式數(shù)據(jù)庫(kù)對(duì)采集到的數(shù)據(jù)進(jìn)行管理和維護(hù)
4 實(shí)驗(yàn)測(cè)試與結(jié)果分析
系統(tǒng)硬件實(shí)物如圖 6 所示。最左邊為 ARM 網(wǎng)關(guān),ARM 通過(guò)串口 0 連接到上位機(jī), 上位機(jī)通過(guò)ARM 系統(tǒng)終端打印調(diào)試信息,Coordinator 節(jié)點(diǎn)與ARM 網(wǎng)關(guān)的串口 1 相連End Device 節(jié)點(diǎn)由電池供電,Router 和 Coordinator 節(jié)點(diǎn)均由5 V 電源供電。三個(gè)節(jié)點(diǎn)組成了 ZigBee 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)
圖 6 系統(tǒng)硬件實(shí)物圖
為驗(yàn)證 ZigBee 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)和嵌入式網(wǎng)關(guān)數(shù)據(jù)傳輸存儲(chǔ)和顯示的正確性,從ARM 網(wǎng)關(guān)的 Web 服務(wù)器中取出監(jiān)測(cè)區(qū)域內(nèi) A ~E 5 個(gè)監(jiān)測(cè)點(diǎn)監(jiān)測(cè) 12 h 內(nèi)有害氣體 NH 濃度隨時(shí)間變化的情況,見(jiàn)表 1 所列
由表 1 可知,監(jiān)測(cè)點(diǎn) A ~E 有害氣體 NH 的平均濃度如圖 7 所示
圖 7 監(jiān)測(cè)點(diǎn) A ~E 有害氣體 NH 的平均濃度
由圖 7 可知,監(jiān)測(cè)點(diǎn) C 和E 的NH 濃度值明顯高于其他監(jiān)測(cè)點(diǎn)。結(jié)合監(jiān)測(cè)區(qū)域通風(fēng)條件分析,監(jiān)測(cè)點(diǎn) C 和E 處于監(jiān)測(cè)區(qū)域內(nèi)部通風(fēng)條件較差的地方,導(dǎo)致 NH 濃度較高,所以通風(fēng)條件對(duì)有害氣體濃度有重要影響
在 12 h 內(nèi)監(jiān)測(cè)區(qū)域各監(jiān)測(cè)節(jié)點(diǎn)的溫度變化范圍為16.0 ~23.5 ℃,濕度變化范圍為 48 ~64%RH,溫濕度基本符合要求
5 結(jié) 語(yǔ)
針對(duì)傳統(tǒng)環(huán)境信息監(jiān)測(cè)系統(tǒng)存在安裝維護(hù)復(fù)雜、多點(diǎn)布線(xiàn)困難等問(wèn)題,本文設(shè)計(jì)開(kāi)發(fā)了一種基于 ARM 和WSN 技術(shù)的環(huán)境信息檢測(cè)系統(tǒng),主要用于解決禽舍養(yǎng)殖不易實(shí)時(shí)監(jiān)測(cè)的問(wèn)題。經(jīng)過(guò)測(cè)試驗(yàn)證,該系統(tǒng)正常工作,能夠?qū)崟r(shí)準(zhǔn)確地檢測(cè)禽舍環(huán)境信息,從而實(shí)現(xiàn)智能養(yǎng)殖。