物聯(lián)網(wǎng)技術(shù)的嵌入式礦下環(huán)境監測系統設計
引言
本文引用地址:http://dyxdggzs.com/article/201610/307688.htm在“感知中國”的物聯(lián)網(wǎng)技術(shù)全面發(fā)展的環(huán)境下,“感知礦山”是中國物聯(lián)網(wǎng)技術(shù)應用中重要的一環(huán),本設計所構建的系統主要完成對礦井下環(huán)境參數的監測,實(shí)現井下工作人員的定位跟蹤、將收集的信息數據存儲并上傳到監控中心,為煤礦企業(yè)的安全生產(chǎn)、管理者制定科學(xué)決策提供有效依據。該系統是一個(gè)集物聯(lián)網(wǎng)、互聯(lián)網(wǎng)、傳感器等技術(shù)于一體的綜合系統,本文篇幅有限,主要闡述該系統的設計方案。
1 系統概述
1.1 系統構成及部署
基于物聯(lián)網(wǎng)技術(shù)的嵌入式礦下環(huán)境監測系統,是基于PC、Cortex—A8及Cortex-M0等設計,依托各項互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、傳感器等技術(shù)實(shí)現,實(shí)現各個(gè)礦井井下環(huán)境的遠程監測、人員位置跟蹤,以實(shí)現最大限度的礦井環(huán)境監測。
系統分為三大模塊:服務(wù)器端(PC)、數據處理平臺(A8)和遠程環(huán)境監測終端(M0)。
本系統在礦區的安裝布置方式如圖1所示。

煤礦的礦區特點(diǎn)是單個(gè)礦井縱深長(cháng),而范圍卻比較小,各個(gè)終端和數據處理中心進(jìn)行連接時(shí)必須使用級聯(lián)的方式,各個(gè)終端相互之間進(jìn)行逐級上報,M0采集模塊完成數據采集,通過(guò)ZigBee通信上報到A8前端數據處理中心,然后A8前端模塊集中將數據通過(guò)WEB方式提供給遠程PC后臺。
1.2 系統功能描述
系統實(shí)現的基本功能主要包括:M0終端安裝在礦井的縱深方向,各個(gè)M0終端通過(guò)ZigBee進(jìn)行級聯(lián),實(shí)現整個(gè)礦井的分布式數據采集;M0終端實(shí)時(shí)采集礦下環(huán)境數據:溫度、濕度、瓦斯濃度、RFID刷卡數據;最靠近數據處理中心的M0終端、通過(guò)ZigBee通信,將采集到的環(huán)境數據及刷卡信息傳送給數據處理中心;數據處理中心(A8)接收到各個(gè)M0終端采集的數據后進(jìn)行統一處理(存儲、轉發(fā)、產(chǎn)生報警信息、更新到核心服務(wù)器端);數據處理中心(A8)通過(guò)GPRS模塊向綁定的手機發(fā)送報警信息;數據處理中心(A8)構建嵌入式WEB服務(wù)器,用戶(hù)通過(guò)網(wǎng)絡(luò )和PC進(jìn)行監控,并進(jìn)行相應的參數設置;服務(wù)器PC端為總的數據處理后臺,通過(guò)網(wǎng)絡(luò )連接到各個(gè)A8數據處理中心,下載各個(gè)數據中心數據以進(jìn)行二次數據處理。
1.3 系統通信方式
在本系統中,三個(gè)模塊間使用了以下幾種通信方式。
PC后臺和A8數據處理中心之間:使用WEB服務(wù)的方式,由A8數據處理中心構建的嵌入式WEB服務(wù)器,在模塊內實(shí)現簡(jiǎn)單的控制網(wǎng)頁(yè),PC通過(guò)普通網(wǎng)頁(yè)的方式進(jìn)行模塊的訪(fǎng)問(wèn)和控制。
A8數據處理中心和M0數據采集模塊之間:使用ZigBee短程無(wú)線(xiàn)的方式進(jìn)行數據的傳輸和模塊的控制。
A8模塊和手機之間:A8模塊連接一個(gè)GPRS模塊,目前主要使用短信的方式,在緊急事件發(fā)生時(shí),向用戶(hù)手機發(fā)出短信;同時(shí)GPRS模塊也可以提供數據連接方式,實(shí)現手機端的WEB訪(fǎng)問(wèn)。
各個(gè)M0數據采集模塊之間:使用ZigBee短程無(wú)線(xiàn)通信,在深井內的M0模塊由于距離過(guò)長(cháng),無(wú)法和A8進(jìn)行通信,所以必須使用級聯(lián)的方式,通過(guò)相鄰的M0模塊進(jìn)行逐級上報。
2 數據處理中心(A8)
基于Cortex-A8的數據處理中心模塊,需要實(shí)現與PC的WEB連接、與各個(gè)采集模塊的ZigBee通信、與手機的GPRS通信,為此使用基于ARMv7的Cortex—A8內核的高性能嵌入式處理器,構建嵌入式Linux系統,并在此基礎上構建嵌入式WEB服務(wù)器以實(shí)現遠端連接,移植QT圖像界面以實(shí)現本地化的簡(jiǎn)單控制。
2.1 系統架構
數據處理中心模塊為一個(gè)完整的嵌入式Linux系統,硬件設計上使用三星公司基于Cortex—A8內核ARMCPU S5PC100芯片作為主處理器,擴展SDRAM、Flash構成一個(gè)高性能的嵌入式控制板。在此基礎上使用Linux操作系統、QT圖形界面,以及BOA嵌入式WEB服務(wù)器,提供網(wǎng)頁(yè)連接方式。
模塊開(kāi)發(fā)過(guò)程中,使用了華清遠見(jiàn)公司的S5PC100開(kāi)發(fā)板進(jìn)行軟件開(kāi)發(fā)和系統評估,在開(kāi)發(fā)板的基礎上通過(guò)UART串口擴展了ZigBee和GPRS模塊,硬件架構如圖2所示。

作為一個(gè)嵌入式系統,系統的設計充分考慮了軟件的分層和模塊化設計方式,在評估板上移植了嵌入式Linux作為應用系統,并為各個(gè)部分的硬件模塊編寫(xiě)相應的Linux驅動(dòng),構成一個(gè)嵌入式Linux開(kāi)發(fā)平臺,在此平臺上再進(jìn)行應用程序的開(kāi)發(fā),整個(gè)系統的層次結構如圖3所示。

2.2 平臺設計
這里所說(shuō)的平臺,是在S5PC100開(kāi)發(fā)板上構建一個(gè)嵌入式Linux平臺,分為內核層和驅動(dòng)層兩個(gè)主要部分。其中,內核層完成Linux內核的裝載、啟動(dòng)、根文件系統的掛載,包括u—boot啟動(dòng)器、Linux內核、rootfs文件系統、yaffs文件系統,而驅動(dòng)層則是GPRS、LED、ZigBee等外部硬件設備的硬件驅動(dòng)。
系統啟動(dòng)時(shí),從NAND Flash中啟動(dòng)u—boot,通過(guò)u—boot從NAND Flash中裝載Linux內核鏡像,并掛載rootfs文件系統供內核使用。yaffs文件系統用于管理NAND Flash的余下分區,作為數據存儲使用。
2.3 應用設計
(1)系統架構
數據處理中心(A8)需要不停讀取各個(gè)采集終端(M0)采集到的環(huán)境信息,根據環(huán)境信息決定是否產(chǎn)生報警信號(發(fā)短信、網(wǎng)頁(yè)通知、聲光報警等)并進(jìn)行數據的保存。同時(shí),還要響應PC后臺的網(wǎng)頁(yè)請求,提供后臺PC的無(wú)線(xiàn)訪(fǎng)問(wèn)。
系統共設計了5個(gè)進(jìn)程,描述如下:
①主進(jìn)程負責采集數據,并做主要的事務(wù)處理,產(chǎn)生的數據及網(wǎng)頁(yè)報警信息通過(guò)共享內存和QT進(jìn)程,記錄進(jìn)程并交互;
②ZigBee進(jìn)程負責按設定好的時(shí)間間隔從各個(gè)分板將數據讀回來(lái),并通過(guò)消息隊列通知主進(jìn)程;
③QT進(jìn)程負責人機界面交互,從共享內存中讀取數據,顯示于LCD上,并處理用戶(hù)輸入,響應用戶(hù)操作;
④數據記錄進(jìn)程,從共享內存中取得各項數據記錄于數據庫中;
⑤CGI程序為獨立的可執行程序,從共享內存中讀取數據,響應網(wǎng)頁(yè)操作,并將網(wǎng)頁(yè)設置的值通過(guò)共享內存傳遞給主進(jìn)程,進(jìn)行事務(wù)的處理。
(2)HTML和QT界面設計
網(wǎng)頁(yè)頁(yè)面主要用來(lái)顯示相關(guān)信息,并提供設置選擇是否產(chǎn)生相應的報警信息。從安全角度考慮,進(jìn)入系統之前,必須進(jìn)行用戶(hù)校驗。用戶(hù)登錄進(jìn)入系統后,可以通過(guò)左側選擇查看各個(gè)終端,右側設計為實(shí)時(shí)切換各個(gè)終端的數據顯示,如圖4所示。

除了登錄檢查和監控,系統還提供了歷史數據查看功能,如圖5所示??梢圆榭辞皫滋斓臄祿?,類(lèi)似于監控界面,通過(guò)左側的選擇框選擇相應的終端,右邊實(shí)時(shí)切換至相應的信息顯示;此外增加了圖表方式進(jìn)行連接的曲線(xiàn)顯示。
3 數據采集終端(M0)
實(shí)際安裝在各個(gè)采集點(diǎn)的數據采集終端,在夜間斷電時(shí)還要能夠監測礦井里各個(gè)點(diǎn)的環(huán)境數據,使用電池和電力交叉供電的方式?;贑ortex—M0內核的LPC11C14微處理器作為主控芯片,它是一個(gè)超低功耗的ARM內核CPU,可以在保證系統功能的情況下,實(shí)現在電池供電狀態(tài)下的較長(cháng)待機時(shí)間。
3.1 系統架構及功能描述
數據采集終端M0,安裝于礦井的各個(gè)部分,負責各個(gè)點(diǎn)的環(huán)境監測與數據上報,整體架構如圖6所示。系統功能包括:環(huán)境信息采集,即如溫度、濕度、瓦斯濃度;RFID數據采集,每個(gè)M0終端可以連接一個(gè)RFID讀卡器,用于工人位置的簡(jiǎn)單定位;輔助信息采集,模塊本身電池電量、Axis_3三軸加速度(在發(fā)生地震時(shí),由于不平衡,震動(dòng)而觸發(fā));數據上報,通過(guò)ZigBee模塊將采集的數據上報到A8前端數據模塊進(jìn)行統一處理;異常報警,正常情況下,模塊的異常告警由A8模塊進(jìn)行控制,在異常產(chǎn)生時(shí),可以獨立生產(chǎn)異常報警信息;運行狀態(tài)指示,簡(jiǎn)單的LED指示系統當前運行狀態(tài)(是否在工作)等。

M0終端需要采集環(huán)境的濕度、溫度、瓦斯濃度及其他相關(guān)信息,并處理ZigBee通信。
主要包括:采用DHT11傳感器對溫濕度信息進(jìn)行采集;采用MMA7455L傳感器采集三軸加速度;采用CY14443/SPI對RFID信息采集;采用ADC 3通道對電池電量信息采集;采用ADC0通道對電位器信息采集;采用RS232接口的集成ZigBee模塊進(jìn)行無(wú)線(xiàn)通信。
3.2 M0終端工作流程
在本系統中,M0作為分布式模塊安裝于礦井的各個(gè)監測點(diǎn),負責采集各個(gè)環(huán)境信息并通過(guò)ZigBee模塊進(jìn)行上報,主要包括4個(gè)處理流程:ZigBee接收中斷處理、RFID中斷處理、秒中斷處理和主流程。
首先,系統上電初始化M0終端設備,系統定時(shí)器、GPIO口、SPI、UART、I2C總線(xiàn)等設備,配置系統定時(shí)器為1ms,配置中斷處理函數為1 s,第一次采集信息。
然后,主程序進(jìn)行輪詢(xún)判斷,在沒(méi)有外部中斷(ZigBee接收中斷,RFID刷卡中斷)情況下進(jìn)行數據的采集,嘗試與主站A8模塊進(jìn)行通信。在通信未成功之前,M0終端設置為自動(dòng)報警模式(自我環(huán)境監測、異常報警等)。
當有外部RFID時(shí),其他數據正常采集,RFID中斷函數同時(shí)對磁卡數據采集校驗,并通過(guò)ZigBee模塊發(fā)送給A8模塊。
當有外部中斷ZigBee接收中斷時(shí),中斷處理函數接收A8服務(wù)器發(fā)過(guò)來(lái)的命令,執行不同的操作,同時(shí)將M0終端設置為受控模式。
從安全穩定的角度考慮,在A(yíng)8模塊異常、M0終端無(wú)法和A8模塊通信超過(guò)30 s時(shí),M0終端將會(huì )切換到自動(dòng)模式,自己進(jìn)行異常檢測,根據設置好的參數判斷是否產(chǎn)生報警信息(聲光報警)。
結語(yǔ)
整個(gè)系統的構建比較復雜,涉及硬件設計、ARM內核編程、系統bootloader、Linux內核移植、驅動(dòng)程序、嵌入式Linux應用編程、網(wǎng)頁(yè)編程、AJAX網(wǎng)頁(yè)動(dòng)態(tài)加載技術(shù)、數據庫編程等多各項技術(shù)的綜合應用。
在系統的構建過(guò)程中,必須保持清晰的模塊化設計,并且在模塊分布架構前,必須設計好整個(gè)數據流,根據數據流來(lái)進(jìn)行模塊的劃分與交互,單個(gè)模塊的技術(shù)應用并不復雜,整個(gè)系統的實(shí)現與架構是設計的難點(diǎn)。
目前,本設計已經(jīng)實(shí)現了整個(gè)系統的基本框架,完成了整個(gè)系統的數據流閉環(huán),需要完善的是根據實(shí)際的使用情況改善用戶(hù)體驗度,例如網(wǎng)頁(yè)的操作模式、工人井下操作的便利性等。
評論