張 廣 宇
(上海瀛明市政工程有限公司 上海 202150)
中國是一個(gè)自古以來就一直以農(nóng)業(yè)為主的國家,農(nóng)業(yè)生產(chǎn)的糧食一直是人民生存的最主要物質(zhì)基礎(chǔ)。我國人口數(shù)量的增加使糧食的存儲關(guān)系到國家的長期穩(wěn)定發(fā)展。糧食的存儲受許多因素影響,最常見的就是溫度、濕度和通風(fēng)情況,當(dāng)糧倉中的環(huán)境發(fā)生變化時(shí),管理人員要及時(shí)對環(huán)境進(jìn)行處理,不然就會造成糧食儲存事故。所以建立安全的糧食存儲監(jiān)控系統(tǒng)是非常重要的工作。
如果糧倉中的溫度和濕度發(fā)生變化,導(dǎo)致糧食不在合理的溫度和濕度下,糧食就會發(fā)生霉變,最終導(dǎo)致糧食浪費(fèi),給國家造成非常大的損失。因此對糧倉中的溫度和濕度的檢測對防止糧食霉變具有非常重要的意義[1]。隨著物聯(lián)網(wǎng)的飛速發(fā)展,人們可以通過無線方式實(shí)時(shí)地采集和監(jiān)測糧倉中存儲糧食的溫度和濕度,并通過采集的數(shù)據(jù)對糧倉做及時(shí)的管理工作,來預(yù)防糧倉中糧食的霉變。另外,采用這種方式還能大大降低人工檢測的勞動(dòng)強(qiáng)度,降低人工成本,提高管理糧食儲存的質(zhì)量和效率。
本文中低功耗糧倉無線溫度采集系統(tǒng)的底層硬件模塊主要由低功耗MSP430單片機(jī)模塊、NFR24L01無線發(fā)送和接收模塊、DS18B20溫度采集模塊組成。根據(jù)不同糧庫的堆糧方式和糧食在儲存中的溫度變化情況,測溫器分成無線數(shù)據(jù)采集端和無線數(shù)據(jù)接收端2個(gè)部分。無線數(shù)據(jù)采集端由5個(gè)DS18B20、一個(gè)單片機(jī)和數(shù)據(jù)發(fā)射器組成[2]。無線采集端采集到的數(shù)據(jù)通過無線發(fā)射模塊NFR24L01和無線接收端的NFR24L01通信進(jìn)行數(shù)據(jù)中轉(zhuǎn),再通過接收端的RS232串口與上位機(jī)進(jìn)行數(shù)據(jù)通信。上位機(jī)采集到的數(shù)據(jù)需要及時(shí)地進(jìn)行保存并上送服務(wù)端,保證數(shù)據(jù)的準(zhǔn)確記錄和保存。主要的系統(tǒng)硬件組成結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件組成結(jié)構(gòu)圖
每個(gè)溫度采集節(jié)點(diǎn)由4個(gè)數(shù)字化溫度傳感器(DS18B20)、數(shù)據(jù)處理單元(MSP430F2011)、無線傳輸模塊(NFR24L01)組成。系統(tǒng)由3.6V的鋰電池供電,系統(tǒng)每采集一次溫度數(shù)據(jù)后,通過廣播方式直接發(fā)送數(shù)據(jù),數(shù)據(jù)發(fā)送完畢后,系統(tǒng)進(jìn)入低功耗模式LMP3,此時(shí)所有接口的電流都最小。系統(tǒng)進(jìn)入低功耗模式后,系統(tǒng)的待機(jī)電流在3 μA左右[3],耗電電量非常小,這樣就可以保證系統(tǒng)能長期地運(yùn)行,節(jié)約電量,保障采集數(shù)據(jù)運(yùn)行時(shí)間變長。另外,溫度采集到的數(shù)據(jù)需要通過NFR24L01無線傳輸模塊進(jìn)行數(shù)據(jù)發(fā)送工作,每次采集到數(shù)據(jù)都需要實(shí)時(shí)地進(jìn)行數(shù)據(jù)發(fā)送。對應(yīng)的具體模塊就是圖1中的無線溫度采集節(jié)點(diǎn)。
DS18B20硬件設(shè)置根據(jù)廠商定義,總線只有一條數(shù)據(jù)線。每個(gè)設(shè)備(主或從)通過一個(gè)開放的或3個(gè)狀態(tài)的端口連接到數(shù)據(jù)線??梢栽试S每個(gè)設(shè)備在不傳輸數(shù)據(jù)時(shí)“釋放”數(shù)據(jù)線,這樣總線就可以被另一個(gè)設(shè)備使用,保證總線不會一直被占用。DS18B20 (DQ引腳)的1線端口是打開的,內(nèi)部電路設(shè)計(jì)圖如圖2所示。
圖2 DS18B20硬件配置圖
DS18B20的1線母線需要一個(gè)約5 kΩ的外拉電阻,因此,1線總線的空閑狀態(tài)是高的。如果事務(wù)要恢復(fù),總線必須處于空閑狀態(tài)。在恢復(fù)期間,只要1線總線處于非活動(dòng)狀態(tài),就可以在比特之間發(fā)生無限的恢復(fù)時(shí)間。如果公共總線被保持在較低的位置,公共總線上的所有部件將被重置。具體實(shí)際的實(shí)物圖如圖3所示。
圖3 DS18B20硬件1模塊實(shí)物圖
MSP430F149模塊和NFR24L01模塊節(jié)點(diǎn),主要負(fù)責(zé)數(shù)據(jù)的無線接收,接收到的數(shù)據(jù)通過RS232串口模塊轉(zhuǎn)發(fā)到PC服務(wù)器[4]。數(shù)據(jù)中轉(zhuǎn)模塊在收到主機(jī)請求后,將接收到的數(shù)據(jù)上傳給主機(jī)。NFR24L01模塊配合MSP430F149模塊是低功耗的無線通信模塊,使用3.3 V電壓就可以正常地驅(qū)動(dòng),而且功率非常低,發(fā)射的頻率保持在2.4 GHz。具體的硬件PCB設(shè)計(jì)圖如圖4所示。
圖4 NFR24L01模塊PCB設(shè)計(jì)圖
NFR24L01模塊的收發(fā)器可以同時(shí)進(jìn)行發(fā)送和接收幾個(gè)字節(jié)的數(shù)據(jù)包,并且其內(nèi)部具有糾錯(cuò)和重發(fā)功能,一個(gè)單元可以同時(shí)與其他6個(gè)類似的單位通信。NFR24L01模塊的網(wǎng)絡(luò)庫將此擴(kuò)展到相互關(guān)聯(lián)的收發(fā)器的多個(gè)“層”,大大提升了傳輸數(shù)據(jù)的效率。實(shí)際的NFR24L01模塊實(shí)物效果圖如圖5所示。
圖5 NFR24L01模塊實(shí)物圖
系統(tǒng)硬件模塊程序主要包括溫度數(shù)據(jù)采集發(fā)送程序、數(shù)據(jù)中轉(zhuǎn)交換程序和服務(wù)器對采集數(shù)據(jù)分析的程序。溫度采集程序主要是對MSP430單片機(jī)、NFR24L01射頻芯片和DS18B20的初始化,以及對SPI接口等進(jìn)行設(shè)置。程序先對DS18B20的溫度進(jìn)行采集[5],將采集到的溫度數(shù)據(jù)通過MSP430單片機(jī)的SPI接口發(fā)送至NFR24L01無線模塊輸出,等溫度數(shù)據(jù)全部發(fā)送后,MSP430單片機(jī)自動(dòng)進(jìn)入低功耗休眠模式運(yùn)行,這樣可以節(jié)約系統(tǒng)電量,加強(qiáng)系統(tǒng)續(xù)航能力。當(dāng)系統(tǒng)再次啟動(dòng),就繼續(xù)采集溫度,再進(jìn)行數(shù)據(jù)發(fā)送。
數(shù)據(jù)中轉(zhuǎn)程序先對無線數(shù)據(jù)中轉(zhuǎn)交換模塊上的MSP430單片機(jī)和NFR24L01射頻芯片進(jìn)行初始化,然后等待無線溫度采集模塊發(fā)出的數(shù)據(jù),一旦監(jiān)聽到接收緩存有數(shù)據(jù)就接收并存儲,并由RS232串口與上位機(jī)通信,當(dāng)上位機(jī)發(fā)出信號要采集溫度數(shù)據(jù)時(shí)與上位機(jī)進(jìn)行數(shù)據(jù)傳送[6]。上位機(jī)通過數(shù)據(jù)中轉(zhuǎn)模塊采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,當(dāng)某個(gè)溫度點(diǎn)的溫度異常升高時(shí),系統(tǒng)自動(dòng)發(fā)出報(bào)警,提醒倉庫保管人員進(jìn)行核查。提前預(yù)防將來可能發(fā)生的霉變。
無線溫度采集系統(tǒng)上層軟件模塊主要分為手機(jī)APP端軟件模塊、PC上位機(jī)模塊和服務(wù)器端軟件模塊。為了保證基本的系統(tǒng)模塊完整并且良好地運(yùn)行,需要對一些基本的硬件設(shè)備有一定的功能要求。根據(jù)業(yè)務(wù)需求,本系統(tǒng)需同時(shí)滿足Android和iOS兩端手機(jī)系統(tǒng)。對于Android手機(jī)需要具備Android 4.0以上的操作系統(tǒng)版本,并且配備2 GB以上的內(nèi)存。對于iOS手機(jī)需要具備iOS 8.0以上的操作系統(tǒng)版本,同時(shí)需要具備Wi-Fi無線網(wǎng)絡(luò)功能、藍(lán)牙功能和移動(dòng)蜂窩數(shù)據(jù)網(wǎng)絡(luò)功能。服務(wù)器端軟件模塊主要選用阿里云的云服務(wù)器,基本的云端主機(jī)配置為2核4 GB系列,系統(tǒng)盤選用/dev/xvda高效云盤,存儲空間為100 GB,帶寬為100 Mbit/s,統(tǒng)一配置基本的緩存服務(wù),操作系統(tǒng)為CentOS 7.4 64位[7],數(shù)據(jù)庫類型選用MySQL。
無線溫度采集系統(tǒng)的云服務(wù)端主要負(fù)責(zé)數(shù)據(jù)的保存和通知預(yù)警的功能。主要設(shè)計(jì)流程如圖6所示。上位機(jī)模塊把采集到的溫度實(shí)時(shí)信息上送云服務(wù)端對數(shù)據(jù)進(jìn)行保存,云服務(wù)端對異常的數(shù)據(jù)實(shí)時(shí)的監(jiān)控,一旦數(shù)據(jù)達(dá)到危險(xiǎn)值,立即推送報(bào)警信息至用戶手機(jī)端并短信預(yù)警。這樣用戶就可以第一時(shí)間得到信息,采取措施防止危險(xiǎn)的發(fā)生。
圖6 系統(tǒng)整體結(jié)構(gòu)圖
無線溫度采集系統(tǒng)的云服務(wù)端主要負(fù)責(zé)處理系統(tǒng)基本的數(shù)據(jù)信息,包括用戶數(shù)據(jù)管理、基本報(bào)表管理、日常信息管理和當(dāng)前系統(tǒng)基本信息管理。另外,無線溫度采集系統(tǒng)云服務(wù)端還開啟了權(quán)限管理機(jī)制,管理人員配置了管理員權(quán)限,可以查詢所有的用戶信息和溫度記錄信息。普通工作人員只負(fù)責(zé)本人對應(yīng)的模塊信息,防止數(shù)據(jù)泄漏,保障數(shù)據(jù)安全[8]。其基本模塊如圖7所示。
圖7 系統(tǒng)服務(wù)端基本模塊圖
無線溫度采集系統(tǒng)的云服務(wù)端中的基本數(shù)據(jù)模塊負(fù)責(zé)處理人員數(shù)據(jù)信息管理和實(shí)時(shí)溫度數(shù)據(jù)管理,包括對實(shí)時(shí)溫度的保存和查詢工作,以及數(shù)據(jù)報(bào)警功能。當(dāng)發(fā)現(xiàn)實(shí)時(shí)溫度值處于報(bào)警值時(shí),需要給對應(yīng)的用戶推送報(bào)警信息,并且及時(shí)記錄當(dāng)前時(shí)間和溫度信息。無線溫度采集系統(tǒng)的云服務(wù)端中,基本報(bào)表模塊主要負(fù)責(zé)統(tǒng)計(jì)全部或者某段時(shí)間內(nèi)的溫度數(shù)據(jù)報(bào)表,報(bào)表數(shù)據(jù)需要留存?zhèn)浞?,用戶統(tǒng)計(jì)分析管理方式,后期及時(shí)地改進(jìn)管理方式[9]。同時(shí),異常數(shù)據(jù)的保存和管理也非常的重要,后期需要對數(shù)據(jù)及時(shí)進(jìn)行分析和改進(jìn),這樣才能及時(shí)地分析什么時(shí)間段,由于什么原因?qū)е庐惓?shù)據(jù)。針對異常的數(shù)據(jù)進(jìn)行及時(shí)地改進(jìn),盡量減少類似問題的發(fā)生。對于遺漏的數(shù)據(jù)需要及時(shí)進(jìn)行查找和對比,系統(tǒng)在采集和傳輸時(shí),如果因軟件的缺陷導(dǎo)致數(shù)據(jù)丟失,就需要及時(shí)進(jìn)行修復(fù),避免影響數(shù)據(jù)的準(zhǔn)確性。不能因?yàn)閿?shù)據(jù)丟失導(dǎo)致異常的數(shù)據(jù)丟失,這樣非常容易出現(xiàn)危險(xiǎn)的場景。
日常管理模塊主要負(fù)責(zé)對系統(tǒng)信息公告通知的發(fā)布和基本安全保障的基本公共信息的發(fā)布。對于值班表還需要及時(shí)地發(fā)布和管理,并更新值班信息,保障24小時(shí)有人在堅(jiān)守系統(tǒng),防止造成危險(xiǎn)發(fā)生[10]。巡查排班也需要及時(shí)更新和維護(hù),保障系統(tǒng)在24小時(shí)內(nèi)有人員進(jìn)行維護(hù)和保障工作?;竟芾砟K主要負(fù)責(zé)系統(tǒng)日志的搜集工作[11],檢測系統(tǒng)是否處于故障,保障整個(gè)系統(tǒng)處于合理的運(yùn)轉(zhuǎn)之中,系統(tǒng)一些基本的設(shè)置可以幫助解決一些常見的系統(tǒng)問題。另外,還需要給用戶提供一些常見問題的解決辦法。
系統(tǒng)的總體布局如圖8所示。
圖8 糧食倉儲溫度監(jiān)控系統(tǒng)總體布局
從圖8中可以看出,整個(gè)園區(qū)的所有糧倉通過無線網(wǎng)絡(luò)進(jìn)行連接,將糧倉中采集到的數(shù)據(jù)通過無線數(shù)據(jù)中轉(zhuǎn)交換模塊傳給機(jī)房的PC上位機(jī),PC上位機(jī)對收集到的數(shù)據(jù)做進(jìn)一步處理。
在每個(gè)糧倉中放置如圖9所示的測溫棒,該測溫棒的核心硬件為上文所述無線溫度采集模塊。在糧食倉儲中長度和寬度每間隔5米放置一根測溫線,共80根無線測溫線。每個(gè)測溫線長5米,用沖擊桿將測溫線打入糧堆中,無線測溫頭露在糧食外面,接收轉(zhuǎn)發(fā)器將接收到的數(shù)據(jù)上傳給服務(wù)器,服務(wù)器采集到每根溫度桿的數(shù)據(jù)后顯示在電腦屏幕中,如圖10所示。為了更好地識別數(shù)據(jù),計(jì)算機(jī)先對采集到數(shù)據(jù)進(jìn)行溫度平均處理,把溫度低于平均值的數(shù)據(jù)標(biāo)定為綠色。
圖9 測溫棒
圖10 系統(tǒng)溫度采集界面
從圖10中可以看出,當(dāng)溫度偏差超過平均值時(shí),調(diào)高RGB的R值,超過越多R值越高。通過系統(tǒng)溫度測量界面,管理員可以清晰地看到溫度的差異變化,進(jìn)而及時(shí)地發(fā)現(xiàn)問題,做出相對應(yīng)的策略。此方式相對于傳統(tǒng)的保管方式能通過溫度變化及時(shí)地發(fā)現(xiàn)問題,大大減少糧食存儲過程中發(fā)生霉變的問題。
本文以無線低功耗采集數(shù)據(jù)為目標(biāo),采用無線低功耗NFR24L01芯片,設(shè)計(jì)基于MPS430單片機(jī)的無線糧庫溫度采集系統(tǒng)。無線結(jié)構(gòu)簡單,系統(tǒng)成本低,且易于擴(kuò)展。整個(gè)系統(tǒng)能夠滿足大面積糧庫長時(shí)間溫度監(jiān)測的需求,具有較高的可靠性和穩(wěn)定性。系統(tǒng)實(shí)現(xiàn)了糧庫溫度信息的自動(dòng)控制和無線集中遠(yuǎn)程監(jiān)控,節(jié)省了大量的勞動(dòng)力,降低了成本。同時(shí),系統(tǒng)的實(shí)時(shí)性強(qiáng)、誤差小,實(shí)現(xiàn)了糧庫溫度的精確采集,保證了糧庫糧食的存儲質(zhì)量,在糧食存儲中具有廣闊的應(yīng)用前景。