范鵬,王益祥
(南京理工大學(xué) 機械工程學(xué)院,江蘇 南京 210094)
倉庫是存放物品高度集中的場所,其安全、通風(fēng)、濕度、溫度、光照度的變化都可能對貨件產(chǎn)生影響。傳統(tǒng)的倉庫中,對這類數(shù)據(jù)監(jiān)測都是通過人工對各個點進行巡回視察,這種方式,勞動效率低下,人力資源嚴重浪費,同時還可能由于人為判斷失誤,造成巨大損失,很不安全。介紹了一種基于以太網(wǎng)的倉庫監(jiān)控系統(tǒng)的終端,借助于溫濕度傳感器、光照傳感器,它能夠采集現(xiàn)場實時的環(huán)境數(shù)據(jù),并能傳送信號給外接調(diào)節(jié)設(shè)備來控制數(shù)據(jù)處于相應(yīng)的合格范圍。為方便實時監(jiān)控,在終端主控板linux系統(tǒng)上移植了boa服務(wù)器和mjpg-streamer,為遠程web訪問提供了視頻支持。
圖1為數(shù)字化倉庫監(jiān)控系統(tǒng)的架構(gòu)圖,系統(tǒng)采用B/S架構(gòu),監(jiān)控終端作為系統(tǒng)的核心,可以發(fā)出指令控制現(xiàn)場執(zhí)行設(shè)備,同時通過以太網(wǎng)提供人機訪問界面,以便遠程管理者通過瀏覽器進行訪問。
圖1 系統(tǒng)架構(gòu)簡圖
系統(tǒng)中,監(jiān)控終端作為整個系統(tǒng)的核心,起著“心臟”的作用。監(jiān)控終端采用的微處理器是三星公司的高性能微處理器s5pc100,采用的操作系統(tǒng)是Linux系統(tǒng)。
監(jiān)控終端主要分為三部分:1) 為主控模塊,其在整個終端中起到調(diào)度和管理的作用;2) 傳感器,用作采集數(shù)據(jù);3) 攝像頭,用作獲取現(xiàn)場視頻流。
如圖2所示,整個監(jiān)控終端采用擴展板與核心板結(jié)構(gòu)設(shè)計,核心板以三星的s5pc100處理器為核心,擴展256M內(nèi)存和128M Nandflash。擴展板則包括多種傳感器和相應(yīng)的電路,攝像頭通過USB接入監(jiān)控終端。終端通過以太網(wǎng)和pc進行交互,同時通過串口控制調(diào)節(jié)設(shè)備。
圖2 硬件框架圖
主控芯片采用基于ARM A8核的s5pc100,其采用64位內(nèi)部總線架構(gòu),含有強大的硬件加速器。芯片集成了200多個IO引出腳、24bitLCD接口、TVout接口、camera輸入接口、串口、SD卡接口、SPI、100M網(wǎng)口、USB Host接口、音頻輸入輸出接口、I2C接口等硬件資源。
S5PC100主頻833MHz,最高可達1GHz,本系統(tǒng)終端模塊核心板上外接256M的Nandflash和SDRAM,可適用于對性能和處理能力有更高要求的嵌入式系統(tǒng)應(yīng)用場合。
2.3.1 溫濕度傳感器的電路設(shè)計
溫濕度檢測采用DHT11數(shù)字溫濕度傳感器,如圖3所示,DHT11共有4個引腳,1號引腳為電源引腳,2號引腳是數(shù)據(jù)引腳,采用單總線的方式,串行發(fā)送數(shù)據(jù)。3號引腳為空腳,通常懸空,4號引腳接地。
圖3 DHT11工作原理圖
ARM發(fā)出開始信號,DHT11在主機開始信號后發(fā)送響應(yīng)信號,2號腳送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集。其中40bit的數(shù)據(jù)格式為8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗和當(dāng)ARM發(fā)送數(shù)據(jù)采集信號后,DHT11被觸發(fā)由低功耗轉(zhuǎn)為高速運行,接收到主機結(jié)束信號時,DHT11拉高數(shù)據(jù)線電平,送出數(shù)據(jù),數(shù)據(jù)發(fā)送完畢后,釋放總線。
2.3.2 光照傳感器的電路設(shè)計
光照傳感器采用的是BH1750,較好地解決了傳統(tǒng)測光系統(tǒng)的弊端,它內(nèi)置16位模數(shù)轉(zhuǎn)換器,能夠直接輸出一個數(shù)字信號,不需要做復(fù)雜的計算。BH1750是具有優(yōu)良光譜靈敏度特性,在3.3v的工作電壓下可對亮度進行1勒克斯的高精度測定。如圖4所示,ARM通過I2C與BH1750進行通信,接收BH1750輸出的照明度的值。
圖4 BH1750 工作原理圖
2.3.3USB攝像頭的電路設(shè)計
視頻監(jiān)控攝像頭采用中微星的ZC301P,USB接口,采用的是中微星301+鎂光芯片,130萬像素。采用的是高品質(zhì)CMOS傳感器,超CCD的感光效果。電路中,USB hub 采用的是Fe1.1S,其具有高性能,低功耗和高性價比的特點,支持熱插拔功能,其可最大支持4個USB Port,電路中,在USB CH0處插入USB攝像頭,在USB驅(qū)動的支持下,攝像頭即可實時使用。如圖5所示。
圖5 USB接口原理圖
軟件設(shè)計分為系統(tǒng)軟件和應(yīng)用軟件兩部分,如圖6所示,通電后,首先執(zhí)行運行uboot,啟動系統(tǒng)內(nèi)核,掛載文件系統(tǒng),加載驅(qū)動,然后運行boa服務(wù)器,加載視頻流。至此系統(tǒng)軟件加載完成。最后運行應(yīng)用層軟件,監(jiān)控各采集點數(shù)據(jù)信息。
圖6 系統(tǒng)的軟件流程圖
操作系統(tǒng)采用的是Linux,Linux內(nèi)核是Linux系統(tǒng)的核心,它負責(zé)協(xié)調(diào)管理各項工作,給硬件提供支持,是應(yīng)用層和硬件層之間的橋梁和紐帶。Linux內(nèi)核的選擇,一定程度上決定了系統(tǒng)的性能。綜合考慮,選用Linux 2.6.35的內(nèi)核。
由圖6可知,系統(tǒng)通電后,主控制器執(zhí)行內(nèi)部ROM中的代碼,從Nandflash中搬移uboot至內(nèi)存中,然后執(zhí)行內(nèi)存中的uboot代碼。
uboot代碼執(zhí)行過程中,將內(nèi)核zImage復(fù)制進內(nèi)存中執(zhí)行,接下掛載根文件系統(tǒng)。在系統(tǒng)初始化后創(chuàng)建系統(tǒng)的第一個進程init進程,此時內(nèi)核啟動結(jié)束,運行init時,分別做了以下幾件事:
1) 將編寫好的I2C模塊驅(qū)動,DHT11模塊驅(qū)動動態(tài)加載進內(nèi)核中;
2) 配置boa服務(wù)器;
3) 加載mjpg視頻流;
4) 運行負責(zé)倉庫監(jiān)控的主程序。
系統(tǒng)啟動后,監(jiān)控終端輪詢傳感器數(shù)據(jù),并傳送給boa服務(wù)器,同時分析數(shù)據(jù)值,判斷是否需要啟動相應(yīng)調(diào)節(jié)設(shè)備,此類工作需要應(yīng)用層軟件完成。
在應(yīng)用層,采用多進程控制,主程序運行后,通過fork系統(tǒng)調(diào)用創(chuàng)建4個子進程,四個子進程中,通過exec函數(shù)族,跳轉(zhuǎn)執(zhí)行humi進程(檢測濕度),tem進程(檢測溫度),light進程(檢測光照),boa進程(實現(xiàn)服務(wù)器功能,實現(xiàn)web瀏覽及監(jiān)控)。
PC機通過遠程登錄可訪問boa服務(wù)器,boa服務(wù)器的網(wǎng)頁采用cgi腳本和共享內(nèi)存的方法和各進程進行通信。
共享內(nèi)存是最快的IPC形式。兩個不同進程A,B共享內(nèi)存的意思是,同一塊物理內(nèi)存被映射到進程A,B各自的進程地址空間。進程A可以即時看到B對共享內(nèi)存中數(shù)據(jù)的更新,反之亦然。如圖7所示。
圖7 共享內(nèi)存示意圖
最終網(wǎng)頁主要分為3個模塊,如圖8所示,左邊區(qū)域為功能設(shè)置區(qū),通過單選按鈕的選擇可選定是否打開空調(diào)系統(tǒng)、溫度控制系統(tǒng)、燈光調(diào)節(jié)系統(tǒng)、視頻監(jiān)控系統(tǒng)。
中間區(qū)域為視頻實時監(jiān)控窗口。右邊界面則為現(xiàn)場數(shù)據(jù)實時顯示,其中分別包括三個采集點的相關(guān)環(huán)境數(shù)據(jù)。
圖8 網(wǎng)頁效果圖
現(xiàn)代社會豐富的物資種類和特性要求使得人們對物資倉庫的要求越來越高,如何保證物資倉庫的監(jiān)控系統(tǒng)穩(wěn)定運行具有重要意義。在監(jiān)控系統(tǒng)中,監(jiān)控終端起著指揮,協(xié)調(diào)的核心作用,可以說,監(jiān)控終端的性能決定了整個系統(tǒng)最終能否穩(wěn)定有效的運行。
本數(shù)字化監(jiān)控終端尚處于實驗室實驗階段,基本功能已經(jīng)實現(xiàn),由于水平有限,還有許多亟待解決的問題,尚需調(diào)試和改進,相信未來嵌入式物資倉庫管理系統(tǒng)還會有更廣闊的發(fā)展。
[1] 于毅,張璐,劉偉,等.一種嵌入式倉庫智能監(jiān)控報警終端設(shè)計 [J].遙測遙控 2012(12): 66-70.
[2] 譚偉平.物資倉庫嵌入式遠程監(jiān)控系統(tǒng)研究[D].武漢:武漢理工大學(xué),2010.
[3] 劉佳.基于PLC+ARM的倉庫環(huán)境監(jiān)控系統(tǒng)設(shè)計[J]無線互聯(lián)科技 2012(4): 57-58.
[4] 吳忻生,袁鵬.數(shù)字化倉庫遠程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J]華南理工大學(xué)學(xué)報 2003(9):31-34.