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