高弘揚+徐琴
摘要:隨著電子產(chǎn)業(yè)快速發(fā)展,對于電子倉庫的智能化管理和實時監(jiān)控也有了更高的需求。在一些較為精密的電子倉庫中,需要進(jìn)行實時的溫濕度環(huán)境監(jiān)控,以Arduino開源板和AndroidTVBox作為開發(fā)平臺,設(shè)計了一套無線網(wǎng)絡(luò)電子倉環(huán)境監(jiān)控系統(tǒng)。通過傳感器將電子倉內(nèi)的溫濕度環(huán)境信息以及設(shè)備運轉(zhuǎn)狀態(tài)采集到Arduino控制器中,再通過Wifi模塊將數(shù)據(jù)傳送至網(wǎng)關(guān)模塊,通過無線網(wǎng)絡(luò)在服務(wù)器端實現(xiàn)數(shù)據(jù)的存儲,同時在顯示屏上進(jìn)行實時的數(shù)據(jù)顯示,如果超出閾值范圍則會進(jìn)行聲、畫報警提示,從而實現(xiàn)對電子倉內(nèi)環(huán)境的調(diào)控。該系統(tǒng)具有部署方便、成本低、可靠性高、擴展性強等優(yōu)點,具有推廣應(yīng)用價值。
關(guān)鍵詞:Ardunio;環(huán)境監(jiān)控系統(tǒng);wIFI;Android;電子倉
1概述
電子工業(yè)是在電子科學(xué)技術(shù)發(fā)展和應(yīng)用的基礎(chǔ)上發(fā)展起來的。20世紀(jì)以來,隨著大規(guī)模集成電路和計算機的大量生產(chǎn)和使用,以及光纖通信、數(shù)字化通信、衛(wèi)星通信技術(shù)的興起,使電子工業(yè)成為一個迅速崛起的高技術(shù)產(chǎn)業(yè)。伴隨著這種快速發(fā)展,電子產(chǎn)品零部件的精密度、復(fù)雜度也越來越高,有些核心電子器件的成本很高,需要做到多方面的保護(hù),因此對于電子倉的環(huán)境也提出了較高的要求。目前,大多的電子倉都需要做到恒溫、恒濕、防靜電。在傳統(tǒng)的電子倉環(huán)境監(jiān)控中,一般采取在倉內(nèi)配置少量的溫濕度監(jiān)控報警設(shè)備,這種設(shè)備大多精度較低,并且由于設(shè)備自身較大,不利于多點布局。鑒于此,設(shè)計了一種分布式、多節(jié)點的電子倉溫濕度環(huán)境監(jiān)控系統(tǒng),利用Ardu-ino開源板與AndroidTVBox作為控制系統(tǒng)的核心單元,對電子倉內(nèi)環(huán)境進(jìn)行調(diào)控,同時利用WiFi模塊進(jìn)行無線傳輸,解決了繁雜的布線問題。
2電子倉環(huán)境監(jiān)控系統(tǒng)設(shè)計
隨著電子工業(yè)和信息的發(fā)展,有兩個架構(gòu)概念使用范圍很廣,分別是“互聯(lián)網(wǎng)+”和“物聯(lián)網(wǎng)”。其中,“互聯(lián)網(wǎng)+”是以互聯(lián)網(wǎng)為主,外圍智能模塊和傳感器為輔,構(gòu)建互聯(lián)生態(tài);而“物聯(lián)網(wǎng)”卻是以互聯(lián)網(wǎng)為基礎(chǔ),重點在傳感器數(shù)據(jù)采集,設(shè)備控制,遠(yuǎn)程監(jiān)控為主。在一個典型的物聯(lián)網(wǎng)系統(tǒng)中,從組成上來看分為三個部分:感知(實現(xiàn)對物理世界的智能感知識別、信息采集處理和自動控制,包括了傳感器、執(zhí)行器,RFID,二維碼和智能裝置等)、連接(網(wǎng)絡(luò)層)、智能(應(yīng)用層,包涵應(yīng)用基礎(chǔ)設(shè)施、中間件和物聯(lián)網(wǎng)應(yīng)用)。本電子倉環(huán)境監(jiān)控系統(tǒng)正是基于“物聯(lián)網(wǎng)”的架構(gòu)為基礎(chǔ)而設(shè)計的。
該電子倉環(huán)境監(jiān)控系統(tǒng)主要由3個部分組成:控制系統(tǒng)終端層、中心網(wǎng)關(guān)層、服務(wù)器層??刂葡到y(tǒng)終端層:主要包含多路溫濕度傳感器數(shù)據(jù)采集模塊以及終端控制模塊(Ardmfio)。根據(jù)現(xiàn)場的不同環(huán)境參數(shù),設(shè)置對應(yīng)的控制模塊(Ardunio),可任意進(jìn)行的擴展和改造;中心網(wǎng)關(guān)層(TVBox):主要通過Wifi模塊與控制系統(tǒng)終端層的各個小的終端模塊(Ardunio)進(jìn)行數(shù)據(jù)交互,同時將所獲取的數(shù)據(jù)以網(wǎng)格的形式在顯示屏上進(jìn)行直觀顯示,針對不同的溫濕度監(jiān)測情況會有不同的顯示效果。此外進(jìn)行雙網(wǎng)關(guān)設(shè)置,以做備用;服務(wù)器層:將中心網(wǎng)關(guān)發(fā)送和接收的數(shù)據(jù)統(tǒng)一存儲于服務(wù)器的數(shù)據(jù)庫中,服務(wù)器的編碼使用spring-boot,數(shù)據(jù)庫使用MongoDB,將所獲取的數(shù)據(jù)進(jìn)行分布式存儲,便于后期將數(shù)據(jù)接入云端進(jìn)行大數(shù)據(jù)的處理。其總體設(shè)計見圖1。
2.1系統(tǒng)硬件設(shè)計
系統(tǒng)的硬件部分主要實現(xiàn)的功能是溫濕度數(shù)據(jù)的采集和無線傳輸,并且能夠依據(jù)數(shù)據(jù)的實際情況作出報警等相應(yīng)操作。主要包括溫濕度傳感器、WIFI模塊和每條線路的控制器(Ardunio),在實際的開發(fā)中選用DHT11數(shù)字溫濕度傳感器、ESP8266 WIFI模塊和Ardunio UNO R3開發(fā)板。DHTl 1數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性,尤其適用于中小型系統(tǒng)設(shè)計應(yīng)用。該傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接,產(chǎn)品為4針單排引腳封裝,連接方便。具體的溫濕度感知模塊設(shè)計如圖2所示。
結(jié)合電子倉的實際布局,我們在房間共設(shè)置了7條線路,每條線路上包含一個控制器(Ardunio)、一個WIFI模塊和五個溫濕度傳感器(DHT11),其中每一條線路上Ardunio和溫濕度傳感器的引腳連線如圖3所示。
2.2系統(tǒng)軟件設(shè)計
系統(tǒng)的軟件部分主要包括中心網(wǎng)關(guān)和服務(wù)器的設(shè)計,其中網(wǎng)關(guān)在整個系統(tǒng)中起到橋梁的作用,它實現(xiàn)的主要功能是實現(xiàn)控制系統(tǒng)終端數(shù)據(jù)的存儲和顯示,同時具備一定的控制功能。服務(wù)器主要實現(xiàn)數(shù)據(jù)的存儲,在存儲過程中我們選用了Man-goDB作為數(shù)據(jù)庫來進(jìn)行存儲。
2.2.1中心網(wǎng)關(guān)設(shè)計
鑒于網(wǎng)關(guān)部分承載的數(shù)據(jù)展示作用,選用了Askey生產(chǎn)的TVBox Android智能盒子,盒子預(yù)裝了4.4KitKat版本的Android系統(tǒng),提供四個USB插口供存儲設(shè)備或外部設(shè)備接入?;谠撛O(shè)備和人機界面人性化的需求,設(shè)計了一款與該系統(tǒng)相匹配的APP運行于智能盒子上。Android是一種以linux為基礎(chǔ)的開放源碼操作系統(tǒng),主要應(yīng)用于移動設(shè)備。Android采用Eclipse作開發(fā)環(huán)境,以Java作為開發(fā)語言。程序由用戶界面(UI)層、服務(wù)層、保持層三大部分組成。其中UI層完成與用戶交互和環(huán)境數(shù)據(jù)的顯示,也就是我們最直觀看到的顯示;服務(wù)層由服務(wù)程序在后臺運行,創(chuàng)建線程執(zhí)行與服務(wù)器間的數(shù)據(jù)交互以及本地數(shù)據(jù)處理;保持層刷新服務(wù)器發(fā)送過來的實時數(shù)據(jù),同時反饋給界面進(jìn)行顯示。應(yīng)用軟件設(shè)計好之后,將該apk文件拷貝至Android智能盒子中安裝后即可運行,正常狀態(tài)下的運行初始界面如圖4所示。圖中字母后面的序號1-7表示房間中所安置的7條線路,A-E表示每條線路上的5個溫濕度傳感器。當(dāng)控制系統(tǒng)終端所上傳的數(shù)據(jù)高于或低于所設(shè)置的閾值范圍時,該傳感器所在方格的背景色和文字會進(jìn)行相應(yīng)改變,從而達(dá)到警示的效果,警示狀態(tài)顏色標(biāo)示遵從表1。
2.2.1服務(wù)器設(shè)計
服務(wù)器主要用于接收中心網(wǎng)關(guān)傳上來的溫濕度數(shù)據(jù),對數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換后存儲在MongoDB數(shù)據(jù)庫中,然后可以通過MongoDB數(shù)據(jù)庫指令對數(shù)據(jù)進(jìn)行查詢。另一個功能是對網(wǎng)關(guān)的狀態(tài)進(jìn)行判斷,當(dāng)一個網(wǎng)關(guān)出現(xiàn)故障時,會自動切換到備用網(wǎng)關(guān),同時在原網(wǎng)關(guān)上進(jìn)行警示,提醒工作人員進(jìn)行替換。服務(wù)器編碼使用spring-boot,數(shù)據(jù)庫使用MongoDB。spring-boot是基于spring框架上的技術(shù),主要優(yōu)點是嵌入了tomcak簡化了Maven配置且自動配置spring無須配置Xml文件,整體代碼風(fēng)格易懂簡潔。MongoDB是NoSql數(shù)據(jù)庫,在大型數(shù)據(jù)處理上比關(guān)系數(shù)據(jù)庫(relational database)更優(yōu),同時也是目前主流的云服務(wù)所采用的數(shù)據(jù)庫。
3結(jié)論
該系統(tǒng)先在實驗室模擬狀態(tài)下進(jìn)行了測試,測試時搭建了兩條數(shù)據(jù)采集線路,配置本地服務(wù)器進(jìn)行測試,為了驗證系統(tǒng)的穩(wěn)定性和可靠性,在測試過程中給予部分人工干預(yù),效果良好,達(dá)到了預(yù)期的效果。目前該系統(tǒng)已在實際的電子倉中進(jìn)行安裝,運行較穩(wěn)定,數(shù)據(jù)實時反饋效果較好,同時由于使用了分布式的節(jié)點進(jìn)行監(jiān)測,對于電子倉的溫濕度調(diào)控能達(dá)到更為精準(zhǔn)的效果。
本系統(tǒng)以Arduino開源板和AndroidTVbox作為開發(fā)平臺,設(shè)計了一套分布式無線網(wǎng)絡(luò)電子倉環(huán)境監(jiān)控系統(tǒng),提高了自動化控制的手段,解決了傳統(tǒng)電子倉環(huán)控系統(tǒng)數(shù)據(jù)不夠準(zhǔn)確,控制不方便的缺陷。Android平臺和WIFI模塊的加入,使得只要是廠區(qū)里覆蓋了WIFI的電子倉都可進(jìn)行安裝、監(jiān)控,利用Mon-goDB數(shù)據(jù)庫進(jìn)行分布式存儲,也為之后的云端管理做了鋪墊,具有一定的擴展能力。endprint