物聯(lián)網(wǎng)技術(shù)的嵌入式礦下環(huán)境監(jiān)測系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機看文章
引言
在“感知中國”的物聯(lián)網(wǎng)技術(shù)全面發(fā)展的環(huán)境下,“感知礦山”是中國物聯(lián)網(wǎng)技術(shù)應(yīng)用中重要的一環(huán),本設(shè)計所構(gòu)建的系統(tǒng)主要完成對礦井下環(huán)境參數(shù)的監(jiān)測,實現(xiàn)井下工作人員的定位跟蹤、將收集的信息數(shù)據(jù)存儲并上傳到監(jiān)控中心,為煤礦企業(yè)的安全生產(chǎn)、管理者制定科學(xué)決策提供有效依據(jù)。該系統(tǒng)是一個集物聯(lián)網(wǎng)、互聯(lián)網(wǎng)、傳感器等技術(shù)于一體的綜合系統(tǒng),本文篇幅有限,主要闡述該系統(tǒng)的設(shè)計方案。
1 系統(tǒng)概述
1.1 系統(tǒng)構(gòu)成及部署
基于物聯(lián)網(wǎng)技術(shù)的嵌入式礦下環(huán)境監(jiān)測系統(tǒng),是基于PC、Cortex—A8及Cortex-M0等設(shè)計,依托各項互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、傳感器等技術(shù)實現(xiàn),實現(xiàn)各個礦井井下環(huán)境的遠程監(jiān)測、人員位置跟蹤,以實現(xiàn)最大限度的礦井環(huán)境監(jiān)測。
系統(tǒng)分為三大模塊:服務(wù)器端(PC)、數(shù)據(jù)處理平臺(A8)和遠程環(huán)境監(jiān)測終端(M0)。
本系統(tǒng)在礦區(qū)的安裝布置方式如圖1所示。
煤礦的礦區(qū)特點是單個礦井縱深長,而范圍卻比較小,各個終端和數(shù)據(jù)處理中心進行連接時必須使用級聯(lián)的方式,各個終端相互之間進行逐級上報,M0采集模塊完成數(shù)據(jù)采集,通過ZigBee通信上報到A8前端數(shù)據(jù)處理中心,然后A8前端模塊集中將數(shù)據(jù)通過WEB方式提供給遠程PC后臺。
1.2 系統(tǒng)功能描述
系統(tǒng)實現(xiàn)的基本功能主要包括:M0終端安裝在礦井的縱深方向,各個M0終端通過ZigBee進行級聯(lián),實現(xiàn)整個礦井的分布式數(shù)據(jù)采集;M0終端實時采集礦下環(huán)境數(shù)據(jù):溫度、濕度、瓦斯?jié)舛?、RFID刷卡數(shù)據(jù);最靠近數(shù)據(jù)處理中心的M0終端、通過ZigBee通信,將采集到的環(huán)境數(shù)據(jù)及刷卡信息傳送給數(shù)據(jù)處理中心;數(shù)據(jù)處理中心(A8)接收到各個M0終端采集的數(shù)據(jù)后進行統(tǒng)一處理(存儲、轉(zhuǎn)發(fā)、產(chǎn)生報警信息、更新到核心服務(wù)器端);數(shù)據(jù)處理中心(A8)通過GPRS模塊向綁定的手機發(fā)送報警信息;數(shù)據(jù)處理中心(A8)構(gòu)建嵌入式WEB服務(wù)器,用戶通過網(wǎng)絡(luò)和PC進行監(jiān)控,并進行相應(yīng)的參數(shù)設(shè)置;服務(wù)器PC端為總的數(shù)據(jù)處理后臺,通過網(wǎng)絡(luò)連接到各個A8數(shù)據(jù)處理中心,下載各個數(shù)據(jù)中心數(shù)據(jù)以進行二次數(shù)據(jù)處理。
1.3 系統(tǒng)通信方式
在本系統(tǒng)中,三個模塊間使用了以下幾種通信方式。
PC后臺和A8數(shù)據(jù)處理中心之間:使用WEB服務(wù)的方式,由A8數(shù)據(jù)處理中心構(gòu)建的嵌入式WEB服務(wù)器,在模塊內(nèi)實現(xiàn)簡單的控制網(wǎng)頁,PC通過普通網(wǎng)頁的方式進行模塊的訪問和控制。
A8數(shù)據(jù)處理中心和M0數(shù)據(jù)采集模塊之間:使用ZigBee短程無線的方式進行數(shù)據(jù)的傳輸和模塊的控制。
A8模塊和手機之間:A8模塊連接一個GPRS模塊,目前主要使用短信的方式,在緊急事件發(fā)生時,向用戶手機發(fā)出短信;同時GPRS模塊也可以提供數(shù)據(jù)連接方式,實現(xiàn)手機端的WEB訪問。
各個M0數(shù)據(jù)采集模塊之間:使用ZigBee短程無線通信,在深井內(nèi)的M0模塊由于距離過長,無法和A8進行通信,所以必須使用級聯(lián)的方式,通過相鄰的M0模塊進行逐級上報。
2 數(shù)據(jù)處理中心(A8)
基于Cortex-A8的數(shù)據(jù)處理中心模塊,需要實現(xiàn)與PC的WEB連接、與各個采集模塊的ZigBee通信、與手機的GPRS通信,為此使用基于ARMv7的Cortex—A8內(nèi)核的高性能嵌入式處理器,構(gòu)建嵌入式Linux系統(tǒng),并在此基礎(chǔ)上構(gòu)建嵌入式WEB服務(wù)器以實現(xiàn)遠端連接,移植QT圖像界面以實現(xiàn)本地化的簡單控制。
2.1 系統(tǒng)架構(gòu)
數(shù)據(jù)處理中心模塊為一個完整的嵌入式Linux系統(tǒng),硬件設(shè)計上使用三星公司基于Cortex—A8內(nèi)核ARMCPU S5PC100芯片作為主處理器,擴展SDRAM、Flash構(gòu)成一個高性能的嵌入式控制板。在此基礎(chǔ)上使用Linux操作系統(tǒng)、QT圖形界面,以及BOA嵌入式WEB服務(wù)器,提供網(wǎng)頁連接方式。
模塊開發(fā)過程中,使用了華清遠見公司的S5PC100開發(fā)板進行軟件開發(fā)和系統(tǒng)評估,在開發(fā)板的基礎(chǔ)上通過UART串口擴展了ZigBee和GPRS模塊,硬件架構(gòu)如圖2所示。
作為一個嵌入式系統(tǒng),系統(tǒng)的設(shè)計充分考慮了軟件的分層和模塊化設(shè)計方式,在評估板上移植了嵌入式Linux作為應(yīng)用系統(tǒng),并為各個部分的硬件模塊編寫相應(yīng)的Linux驅(qū)動,構(gòu)成一個嵌入式Linux開發(fā)平臺,在此平臺上再進行應(yīng)用程序的開發(fā),整個系統(tǒng)的層次結(jié)構(gòu)如圖3所示。
2.2 平臺設(shè)計
這里所說的平臺,是在S5PC100開發(fā)板上構(gòu)建一個嵌入式Linux平臺,分為內(nèi)核層和驅(qū)動層兩個主要部分。其中,內(nèi)核層完成Linux內(nèi)核的裝載、啟動、根文件系統(tǒng)的掛載,包括u—boot啟動器、Linux內(nèi)核、rootfs文件系統(tǒng)、yaffs文件系統(tǒng),而驅(qū)動層則是GPRS、LED、ZigBee等外部硬件設(shè)備的硬件驅(qū)動。
系統(tǒng)啟動時,從NAND Flash中啟動u—boot,通過u—boot從NAND Flash中裝載Linux內(nèi)核鏡像,并掛載rootfs文件系統(tǒng)供內(nèi)核使用。yaffs文件系統(tǒng)用于管理NAND Flash的余下分區(qū),作為數(shù)據(jù)存儲使用。
2.3 應(yīng)用設(shè)計
(1)系統(tǒng)架構(gòu)
數(shù)據(jù)處理中心(A8)需要不停讀取各個采集終端(M0)采集到的環(huán)境信息,根據(jù)環(huán)境信息決定是否產(chǎn)生報警信號(發(fā)短信、網(wǎng)頁通知、聲光報警等)并進行數(shù)據(jù)的保存。同時,還要響應(yīng)PC后臺的網(wǎng)頁請求,提供后臺PC的無線訪問。
系統(tǒng)共設(shè)計了5個進程,描述如下:
①主進程負責(zé)采集數(shù)據(jù),并做主要的事務(wù)處理,產(chǎn)生的數(shù)據(jù)及網(wǎng)頁報警信息通過共享內(nèi)存和QT進程,記錄進程并交互;
②ZigBee進程負責(zé)按設(shè)定好的時間間隔從各個分板將數(shù)據(jù)讀回來,并通過消息隊列通知主進程;
③QT進程負責(zé)人機界面交互,從共享內(nèi)存中讀取數(shù)據(jù),顯示于LCD上,并處理用戶輸入,響應(yīng)用戶操作;
④數(shù)據(jù)記錄進程,從共享內(nèi)存中取得各項數(shù)據(jù)記錄于數(shù)據(jù)庫中;
⑤CGI程序為獨立的可執(zhí)行程序,從共享內(nèi)存中讀取數(shù)據(jù),響應(yīng)網(wǎng)頁操作,并將網(wǎng)頁設(shè)置的值通過共享內(nèi)存?zhèn)鬟f給主進程,進行事務(wù)的處理。
(2)HTML和QT界面設(shè)計
網(wǎng)頁頁面主要用來顯示相關(guān)信息,并提供設(shè)置選擇是否產(chǎn)生相應(yīng)的報警信息。從安全角度考慮,進入系統(tǒng)之前,必須進行用戶校驗。用戶登錄進入系統(tǒng)后,可以通過左側(cè)選擇查看各個終端,右側(cè)設(shè)計為實時切換各個終端的數(shù)據(jù)顯示,如圖4所示。
除了登錄檢查和監(jiān)控,系統(tǒng)還提供了歷史數(shù)據(jù)查看功能,如圖5所示??梢圆榭辞皫滋斓臄?shù)據(jù),類似于監(jiān)控界面,通過左側(cè)的選擇框選擇相應(yīng)的終端,右邊實時切換至相應(yīng)的信息顯示;此外增加了圖表方式進行連接的曲線顯示。
3 數(shù)據(jù)采集終端(M0)
實際安裝在各個采集點的數(shù)據(jù)采集終端,在夜間斷電時還要能夠監(jiān)測礦井里各個點的環(huán)境數(shù)據(jù),使用電池和電力交叉供電的方式?;贑ortex—M0內(nèi)核的LPC11C14微處理器作為主控芯片,它是一個超低功耗的ARM內(nèi)核CPU,可以在保證系統(tǒng)功能的情況下,實現(xiàn)在電池供電狀態(tài)下的較長待機時間。
3.1 系統(tǒng)架構(gòu)及功能描述
數(shù)據(jù)采集終端M0,安裝于礦井的各個部分,負責(zé)各個點的環(huán)境監(jiān)測與數(shù)據(jù)上報,整體架構(gòu)如圖6所示。系統(tǒng)功能包括:環(huán)境信息采集,即如溫度、濕度、瓦斯?jié)舛?RFID數(shù)據(jù)采集,每個M0終端可以連接一個RFID讀卡器,用于工人位置的簡單定位;輔助信息采集,模塊本身電池電量、Axis_3三軸加速度(在發(fā)生地震時,由于不平衡,震動而觸發(fā));數(shù)據(jù)上報,通過ZigBee模塊將采集的數(shù)據(jù)上報到A8前端數(shù)據(jù)模塊進行統(tǒng)一處理;異常報警,正常情況下,模塊的異常告警由A8模塊進行控制,在異常產(chǎn)生時,可以獨立生產(chǎn)異常報警信息;運行狀態(tài)指示,簡單的LED指示系統(tǒng)當前運行狀態(tài)(是否在工作)等。
M0終端需要采集環(huán)境的濕度、溫度、瓦斯?jié)舛燃捌渌嚓P(guān)信息,并處理ZigBee通信。
主要包括:采用DHT11傳感器對溫濕度信息進行采集;采用MMA7455L傳感器采集三軸加速度;采用CY14443/SPI對RFID信息采集;采用ADC 3通道對電池電量信息采集;采用ADC0通道對電位器信息采集;采用RS232接口的集成ZigBee模塊進行無線通信。
3.2 M0終端工作流程
在本系統(tǒng)中,M0作為分布式模塊安裝于礦井的各個監(jiān)測點,負責(zé)采集各個環(huán)境信息并通過ZigBee模塊進行上報,主要包括4個處理流程:ZigBee接收中斷處理、RFID中斷處理、秒中斷處理和主流程。
首先,系統(tǒng)上電初始化M0終端設(shè)備,系統(tǒng)定時器、GPIO口、SPI、UART、I2C總線等設(shè)備,配置系統(tǒng)定時器為1ms,配置中斷處理函數(shù)為1 s,第一次采集信息。
然后,主程序進行輪詢判斷,在沒有外部中斷(ZigBee接收中斷,RFID刷卡中斷)情況下進行數(shù)據(jù)的采集,嘗試與主站A8模塊進行通信。在通信未成功之前,M0終端設(shè)置為自動報警模式(自我環(huán)境監(jiān)測、異常報警等)。
當有外部RFID時,其他數(shù)據(jù)正常采集,RFID中斷函數(shù)同時對磁卡數(shù)據(jù)采集校驗,并通過ZigBee模塊發(fā)送給A8模塊。
當有外部中斷ZigBee接收中斷時,中斷處理函數(shù)接收A8服務(wù)器發(fā)過來的命令,執(zhí)行不同的操作,同時將M0終端設(shè)置為受控模式。
從安全穩(wěn)定的角度考慮,在A8模塊異常、M0終端無法和A8模塊通信超過30 s時,M0終端將會切換到自動模式,自己進行異常檢測,根據(jù)設(shè)置好的參數(shù)判斷是否產(chǎn)生報警信息(聲光報警)。
結(jié)語
整個系統(tǒng)的構(gòu)建比較復(fù)雜,涉及硬件設(shè)計、ARM內(nèi)核編程、系統(tǒng)bootloader、Linux內(nèi)核移植、驅(qū)動程序、嵌入式Linux應(yīng)用編程、網(wǎng)頁編程、AJAX網(wǎng)頁動態(tài)加載技術(shù)、數(shù)據(jù)庫編程等多各項技術(shù)的綜合應(yīng)用。
在系統(tǒng)的構(gòu)建過程中,必須保持清晰的模塊化設(shè)計,并且在模塊分布架構(gòu)前,必須設(shè)計好整個數(shù)據(jù)流,根據(jù)數(shù)據(jù)流來進行模塊的劃分與交互,單個模塊的技術(shù)應(yīng)用并不復(fù)雜,整個系統(tǒng)的實現(xiàn)與架構(gòu)是設(shè)計的難點。
目前,本設(shè)計已經(jīng)實現(xiàn)了整個系統(tǒng)的基本框架,完成了整個系統(tǒng)的數(shù)據(jù)流閉環(huán),需要完善的是根據(jù)實際的使用情況改善用戶體驗度,例如網(wǎng)頁的操作模式、工人井下操作的便利性等。