李佳轅 劉彬
摘? 要:隨著網(wǎng)絡(luò)的不斷發(fā)展和無線通信技術(shù)的成熟,傳統(tǒng)的溫室物聯(lián)網(wǎng)系統(tǒng)已經(jīng)遠(yuǎn)不能滿足現(xiàn)代溫室大棚的需求。當(dāng)前,國內(nèi)多數(shù)大棚的溫室監(jiān)測采用有線部署,不僅成本高而且管理復(fù)雜。采用B/S模式體系結(jié)構(gòu)并結(jié)合Vue框架開發(fā)設(shè)計(jì)一種基于Linux的ZigBee遠(yuǎn)程溫室環(huán)境監(jiān)測系統(tǒng),可有效解決傳統(tǒng)溫室環(huán)境數(shù)據(jù)采集低效、人工成本高等問題。該系統(tǒng)能夠使用戶實(shí)時遠(yuǎn)程掌握溫室環(huán)境變化,遠(yuǎn)程動態(tài)調(diào)節(jié)溫室環(huán)境,從而使溫室內(nèi)作物穩(wěn)定高效的生長。
關(guān)鍵詞:溫室大棚;環(huán)境監(jiān)測;遠(yuǎn)程控制;ZigBee
中圖分類號:TP274? ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)24-0013-04
Design and Implementation of Greenhouse Monitoring System Based on ZigBee
LI Jiayuan,LIU Bin
(Panzhihua University,Panzhihua? 617000,China)
Abstract:With the continuous development of network and the maturity of wireless communication technology,the traditional greenhouse internet of things system has been far from meeting the needs of modern greenhouse. At present,most greenhouse monitoring in China adopts wired deployment,which is not only high cost but also complex management. A ZigBee remote greenhouse environment monitoring system based on Linux is designed by using B/S mode architecture and Vue framework,which can effectively solve the problems of low efficiency and high labor cost of traditional greenhouse environment data collection. The system can remotely grasp the greenhouse environmental changes in real time,remotely modulating the greenhouse environment,so as to make crops grow stably and efficiently in the greenhouse.
Keywords:greenhouse;environmental monitoring;remote control;ZigBee
0? 引? 言
隨著互聯(lián)網(wǎng)時代的逐步發(fā)展,網(wǎng)絡(luò)應(yīng)用到了各行各業(yè),傳統(tǒng)的溫室環(huán)境檢測系統(tǒng)也必定迎來新一輪的技術(shù)革新。在各種大棚種植基地中,大棚的環(huán)境監(jiān)測是農(nóng)作物成長尤為重要的一個因素。目前,我國在溫室環(huán)境監(jiān)測上的物聯(lián)網(wǎng)技術(shù)相比于其他國家較為落后,大棚種植基地采用的環(huán)境監(jiān)測方式大多數(shù)還是傳統(tǒng)的有線部署方式。這種方式存在諸多問題,一是維護(hù)性差,例如當(dāng)農(nóng)場需要改造或擴(kuò)大規(guī)模時,需要先拆掉原有線路然后重新對線路進(jìn)行部署,十分不便。二是成本較高,種植基地除購置相關(guān)設(shè)備外,還有昂貴的人工費(fèi)用。三是管理不夠方便,不能將數(shù)據(jù)實(shí)時地傳給用戶,不能自動反饋調(diào)節(jié)大棚溫度,工作人員的工作效率低下。
為了克服有線方式的溫室監(jiān)測控制缺點(diǎn),近幾年來,無線通信技術(shù)成了重點(diǎn)關(guān)注點(diǎn)。無線通信技術(shù)具有易拓展、移動性強(qiáng)、費(fèi)用低、自動連接組織、靈活性高等優(yōu)點(diǎn),使它在溫室大棚技術(shù)應(yīng)用中具有明顯的優(yōu)勢。ZigBee作為一種新型的無線通信技術(shù),由于對網(wǎng)絡(luò)要求低、擴(kuò)展方便、易于維護(hù)、移動性強(qiáng),在新型現(xiàn)代化農(nóng)、工業(yè)控制,智能家居、商業(yè)樓宇自動化等各個領(lǐng)域都得到了廣泛的認(rèn)可,是目前使用最廣泛的一種無線網(wǎng)技術(shù),表現(xiàn)出了強(qiáng)大的應(yīng)用前景。該技術(shù)還適用于網(wǎng)絡(luò)信號較差的環(huán)境,能夠有效地應(yīng)對農(nóng)村地區(qū)的溫室大棚環(huán)境,可有效解決用戶的問題。
本文提出一種基于Linux的ZigBee遠(yuǎn)程溫室環(huán)境監(jiān)測系統(tǒng),使用ZigBee自組網(wǎng)代替?zhèn)鹘y(tǒng)的有線網(wǎng)絡(luò),使用輕型的SQLite3數(shù)據(jù)庫和超小型boa服務(wù)器。用戶可以通過手機(jī)信息獲取溫室大棚內(nèi)溫度、濕度、光照強(qiáng)度、煙霧濃度等環(huán)境數(shù)據(jù),能夠及時發(fā)現(xiàn)異常,有效保證溫室大棚作物的產(chǎn)量和質(zhì)量。
1? 需求分析
隨著大棚產(chǎn)業(yè)的不斷發(fā)展,人們對自動化、精確化和效益最大化不斷提出更高要求。利用快速發(fā)展的互聯(lián)網(wǎng)技術(shù)取代人工管理,減少人工費(fèi)用是當(dāng)前所需。使用無線技術(shù)部署溫室監(jiān)測更加方便和靈活。針對當(dāng)前大棚產(chǎn)業(yè)的需求提出“基于ZigBee的溫室監(jiān)測系統(tǒng)設(shè)計(jì)”項(xiàng)目,我們從可行性和功能需求兩個方面進(jìn)行分析。
1.1? 可行性分析
1.1.1? 經(jīng)濟(jì)可行性
傳統(tǒng)的溫室監(jiān)測方式大多采用有線部署方式,有線方式在初次使用時,不僅安裝麻煩,而且在成本上相對于無線部署方式更高。當(dāng)農(nóng)場需要改造時,有線方式需要拆掉以前的線路然后重新部署,花費(fèi)大量的人力、財力,而無線方式只需把傳感器移到需要監(jiān)測的位置即可,具有經(jīng)濟(jì)、方便部署及維護(hù)等特點(diǎn),更適用于現(xiàn)代農(nóng)業(yè)。
1.1.2? 技術(shù)可行性
當(dāng)前網(wǎng)絡(luò)信息技術(shù)快速發(fā)展,該系統(tǒng)總體使用B/S模式,前端采用當(dāng)下最為流行的Vue框架進(jìn)行開發(fā)。在技術(shù)層面,該項(xiàng)目運(yùn)用到的技術(shù)有Zigbee、MQTT等一些主流信息傳輸和收集技術(shù),這些技術(shù)具備良好的兼容性和易于在該項(xiàng)目實(shí)現(xiàn)的操作性,有很好的前景和潛力。
1.1.3? 市場可行性
市場對大棚產(chǎn)品的需求不斷增加,溫室大棚得到了應(yīng)有的發(fā)展,所以在溫室環(huán)境監(jiān)測方面有很大的需求。該系統(tǒng)使用ZigBee無線傳輸協(xié)議進(jìn)行數(shù)據(jù)收集和傳輸,部署方便,靈活性強(qiáng),符合用戶對大棚監(jiān)測的需求,另外,目前采用無線設(shè)計(jì)的環(huán)境監(jiān)測系統(tǒng)很少,市場競爭方面也有著巨大優(yōu)勢,在市場方面可行性高。
1.2? 系統(tǒng)功能需求
遠(yuǎn)程溫室環(huán)境系統(tǒng)設(shè)計(jì)主要分為四大模塊,分別為數(shù)據(jù)采集模塊、遠(yuǎn)程數(shù)據(jù)轉(zhuǎn)發(fā)、分析存儲控制模塊以及用戶模塊,功能需求設(shè)計(jì)如圖1所示。
其功能需求描述為:
(1)數(shù)據(jù)采集模塊。在終端處通過傳感器進(jìn)行溫室數(shù)據(jù)的采集,并等待數(shù)據(jù)轉(zhuǎn)發(fā),當(dāng)后臺通過數(shù)據(jù)分析,發(fā)現(xiàn)光照不夠時,就傳入增加光照的控制信號,開啟日照燈,達(dá)到環(huán)境控制的功能。
(2)遠(yuǎn)程數(shù)據(jù)轉(zhuǎn)發(fā)模塊。將采集的數(shù)據(jù)通過消息傳送協(xié)議將數(shù)據(jù)進(jìn)行上傳,并把這些數(shù)據(jù)實(shí)時的顯示在QT面板上,另外負(fù)責(zé)接收分析存儲控制模塊處理后的調(diào)控信號。
(3)分析存儲控制模塊。第一,對溫室數(shù)據(jù)進(jìn)行存儲,也是最基礎(chǔ)的功能。第二,對溫室數(shù)據(jù)進(jìn)行分析,比如求平均值、判斷是否超過閾值(即超過用戶設(shè)定的范圍),自動將數(shù)據(jù)反饋給用戶模塊,然后做出相應(yīng)的調(diào)節(jié),第三,起到橋梁作用,將數(shù)據(jù)轉(zhuǎn)發(fā)模塊和用戶模塊連接起來。
(4)用戶模塊。首先實(shí)現(xiàn)登錄和個人信息修改,然后實(shí)現(xiàn)溫室數(shù)據(jù)查詢功能,并發(fā)出控制信號,實(shí)現(xiàn)溫室設(shè)備的控制功能。
2? 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1? 系統(tǒng)總體設(shè)計(jì)
該系統(tǒng)采用當(dāng)下主流的無線監(jiān)測與控制方式,使用ZigBee終端實(shí)現(xiàn)數(shù)據(jù)的采集,通過ZigBee協(xié)調(diào)器對終端實(shí)現(xiàn)管理,通過MQTT協(xié)議實(shí)現(xiàn)轉(zhuǎn)發(fā)控制信息和采集的數(shù)據(jù)信息。服務(wù)器和數(shù)據(jù)庫之間的數(shù)據(jù)交互利用CGI通用網(wǎng)關(guān)接口實(shí)現(xiàn),然后用戶通過帶有用戶信息等參數(shù)請求服務(wù)器進(jìn)行溫室數(shù)據(jù)查詢并進(jìn)行控制,服務(wù)器自動對收集的數(shù)據(jù)進(jìn)行自動化分析存儲,通過對比用戶設(shè)置的參數(shù)對光照控制器等終端節(jié)點(diǎn)實(shí)現(xiàn)自動化的控制。
該系統(tǒng)主要由三大部分組成,總體設(shè)計(jì)如圖2所示。
根據(jù)數(shù)據(jù)的主要狀態(tài)分為三大部分,第一部分Zigbee自組網(wǎng)絡(luò)部分對數(shù)據(jù)進(jìn)行收集,第二部分?jǐn)?shù)據(jù)的轉(zhuǎn)發(fā)分析存儲和控制模塊對數(shù)據(jù)進(jìn)行分析存儲,第三部分用戶終端的使用模塊對數(shù)據(jù)進(jìn)行查看,具體功能為:
(1)ZigBee自組網(wǎng)絡(luò)。通過協(xié)調(diào)器開啟終端節(jié)點(diǎn),通過終端節(jié)點(diǎn)采集數(shù)據(jù),包括溫度、陽光、濕度和煙霧等,組成最基礎(chǔ)的邊緣部分。
(2)數(shù)據(jù)的轉(zhuǎn)發(fā)分析存儲和控制。利用協(xié)調(diào)器完成對終端數(shù)據(jù)收集,轉(zhuǎn)發(fā)到網(wǎng)關(guān),然后上轉(zhuǎn)數(shù)據(jù)到服務(wù)器,經(jīng)過一系列自動化處理后,通過分析的數(shù)據(jù)和用戶設(shè)置的閾值進(jìn)行對比,服務(wù)器做出響應(yīng),發(fā)送控制信息到網(wǎng)關(guān),然后協(xié)調(diào)器再對控制信息進(jìn)行分析,最終達(dá)到自動控制的目的。
(3)用戶終端的使用。用戶使用網(wǎng)頁請求服務(wù)器,服務(wù)器判斷數(shù)據(jù)庫是否有請求數(shù)據(jù),有就直接從數(shù)據(jù)庫取出,否則通過服務(wù)器將數(shù)據(jù)轉(zhuǎn)發(fā)到協(xié)調(diào)器,然后進(jìn)行解釋和響應(yīng)。
2.2? 系統(tǒng)具體設(shè)計(jì)
2.2.1? 數(shù)據(jù)采集模塊設(shè)計(jì)
數(shù)據(jù)采集模塊主要包含溫室數(shù)據(jù)采集、環(huán)境控制和數(shù)據(jù)轉(zhuǎn)發(fā)3個功能:
(1)溫室數(shù)據(jù)采集。傳感器部署在ZigBee終端上,當(dāng)收到來自協(xié)調(diào)器的開啟監(jiān)測信號后,溫濕度傳感器置于OSAL系統(tǒng)的事件,實(shí)現(xiàn)5秒自動采集數(shù)據(jù)。光敏傳感器的數(shù)據(jù)采集類似于溫濕度傳感器,但控制是設(shè)置在協(xié)調(diào)器上,使用I2C通信方式讀取。煙霧傳感器的數(shù)據(jù)采集同溫濕度,但讀取時先是將煙霧傳感器采集的AD模數(shù)轉(zhuǎn)換為電壓值,再通過計(jì)算得到煙霧值百分比。
(2)溫室環(huán)境控制。繼電器連接光照調(diào)節(jié)器,部署在協(xié)調(diào)器上,協(xié)調(diào)器接收到光照傳感器的數(shù)據(jù)時,就將繼電器狀態(tài)和光照傳感器讀取的數(shù)據(jù)打包通過UART發(fā)送到網(wǎng)關(guān)。
(3)數(shù)據(jù)轉(zhuǎn)發(fā)。數(shù)據(jù)轉(zhuǎn)發(fā)是關(guān)鍵部分,ZigBee數(shù)據(jù)轉(zhuǎn)發(fā)功能主要包含UART串口收發(fā)和ZigBee無線自組網(wǎng)絡(luò)的通信功能,實(shí)現(xiàn)遠(yuǎn)程轉(zhuǎn)發(fā)和ZigBee無線自組網(wǎng)絡(luò)的相互通信。UART串口先是讀取協(xié)調(diào)器,然后再將數(shù)據(jù)通過MQTT協(xié)議轉(zhuǎn)發(fā)到服務(wù)器上,同時接受服務(wù)器傳回的數(shù)據(jù),UART進(jìn)行解析并判斷系統(tǒng)閾值,如果當(dāng)前煙霧值大于了閾值,打開煙霧報警器,反之則關(guān)閉煙霧報警器,這樣就實(shí)現(xiàn)了終端和服務(wù)器的通信。前端通過Vue來進(jìn)行項(xiàng)目的界面開發(fā),通過Ajax異步通信技術(shù)與后臺網(wǎng)關(guān)程序進(jìn)行交互,后臺網(wǎng)關(guān)收到請求后進(jìn)行解析,如果能直接從數(shù)據(jù)庫拿到數(shù)據(jù),則訪問數(shù)據(jù)庫讀取數(shù)據(jù)并返回,如果需要與守護(hù)進(jìn)程通信或需要發(fā)送到硬件部分,則通過FIFO管道將數(shù)據(jù)發(fā)送到守護(hù)進(jìn)程,并由守護(hù)進(jìn)程的MQTT線程將數(shù)據(jù)發(fā)送到硬件部分,同時守護(hù)進(jìn)程對請求做出響應(yīng),同樣,再由網(wǎng)關(guān)響應(yīng)轉(zhuǎn)發(fā)給前端,實(shí)現(xiàn)數(shù)據(jù)交互。
2.2.2? 分析存儲控制模塊設(shè)計(jì)
該模塊是核心部分,類似于中央處理器,設(shè)計(jì)采用boa輕型服務(wù)器和SQLite3數(shù)據(jù)庫作為核心控件,接收到數(shù)據(jù)后進(jìn)行智能化分析和存儲,通過分析存儲的數(shù)據(jù)和閾值對比,做出響應(yīng)實(shí)現(xiàn)自動化控制。
服務(wù)器部署的遠(yuǎn)程數(shù)據(jù)轉(zhuǎn)發(fā)模塊的溫室環(huán)境控制功能和分析存儲控制模塊的MQTT數(shù)據(jù)收發(fā)功能通過信號量實(shí)現(xiàn)同步,同一時間只能有一個消息可以發(fā)送,當(dāng)MQTT訂閱線程接收到來遠(yuǎn)程數(shù)據(jù)轉(zhuǎn)發(fā)模塊的數(shù)據(jù)后,將在回調(diào)函數(shù)中進(jìn)行數(shù)據(jù)處理,該回調(diào)函數(shù)中主要完成數(shù)據(jù)解析和自動控制兩個功能,數(shù)據(jù)解析主要包括溫室環(huán)境的平均、最大、最小值,每5秒解析一次,設(shè)置一個定時器,判斷當(dāng)前數(shù)據(jù)是否接收正常,每分鐘執(zhí)行一次,出現(xiàn)異常則自動重啟設(shè)備,用戶設(shè)定的晝夜切換時間,當(dāng)達(dá)到時間就自動切換晝夜模式。另外在自動控制之后,通過對比閾值,若超過閾值,表明煙霧值過高,很有可能發(fā)生火災(zāi),就需立即向用戶發(fā)送短信進(jìn)行通知,而其他預(yù)警不是很緊急,則無需要通知,僅當(dāng)用戶查看時顯示。以煙霧預(yù)警功能實(shí)現(xiàn)為例,當(dāng)UART接收到數(shù)據(jù)之后,進(jìn)行解析并判斷系統(tǒng)閾值,如果當(dāng)前煙霧值大于系統(tǒng)閾值則打開煙霧報警器,反之則關(guān)閉煙霧報警器,核心代碼為:
void read_count(){
char gpio_file[12] = "/dev/gpioC";
unsigned int value = 0, data = 0, stop = 0;unsigned int bit = 14;
fd_gpio = open(gpio_file, O_RDWR); //打開煙霧報警器
ioctl(fd_gpio, S5P_GPIO_SET_OUTPUT, bit); //煙霧報警器工作模式設(shè)置
write(fd_gpio, &value, 4); //煙霧報警器控制,(默認(rèn)關(guān)閉
while(1){
if(tehu_count> 0 &&ligh_count> 0 &&smok_count> 0){
if(write_current_data() == 0){ //一次完整數(shù)據(jù)采集,發(fā)送到QT
tehu_count = 0;ligh_count = 0;smok_count = 0;//清空標(biāo)志位
}
}
if(smok_warning> 0 &&bee_sign == 0){ //煙霧值超過煙霧閾值,需預(yù)警
data = 1;value = data< write(fd_gpio, &value, 4); }else{ //解除預(yù)警,關(guān)閉煙霧報警器 data = 0;value = data< write(fd_gpio, &value, 4); } sleep(1); } } 2.2.3? 用戶管理 用戶管理模塊主要包含登錄、注冊、個人信息修改、密碼修改和管理員重置普通用戶密碼5個功能,密碼重置功能僅有系統(tǒng)內(nèi)置的管理員才能使用該權(quán)限,主界面效果如圖3所示。 用戶在瀏覽器中輸入本系統(tǒng)的IP和端口,即可跳轉(zhuǎn)到登錄界面,輸入賬號密碼請求服務(wù)器進(jìn)入系統(tǒng)。如果沒有賬號則可以進(jìn)行注冊,按照格式要求輸入正確的信息,使用MD5加密向持久層插入一條用戶記錄即可。登錄之后,我們可以通過點(diǎn)擊修改密碼按鈕,對密碼進(jìn)行更正,然后跳回登錄頁面重新登錄。另外,和修改密碼類似的步驟進(jìn)行對個人信息的更正,先是將需要更正的姓名電話信息輸入,然后點(diǎn)擊確認(rèn),即可實(shí)現(xiàn)信息的修改。 3? 結(jié)? 論 將無線通信技術(shù)應(yīng)用于溫室中,是溫室環(huán)境監(jiān)測和控制從有線到無線的一次變革和新的嘗試。無線通信技術(shù)在溫室中的應(yīng)用主要涉及藍(lán)牙,ZigBee,GPRS,GS等模塊。從實(shí)際的應(yīng)用狀況來看,ZigBee無線技術(shù)具有價格相對較低、功耗低、自組網(wǎng)能力強(qiáng)等諸多優(yōu)點(diǎn),其應(yīng)用比較廣泛。實(shí)現(xiàn)了溫室大棚環(huán)境數(shù)據(jù)的遠(yuǎn)程監(jiān)測和控制,提高了監(jiān)測系統(tǒng)的可靠性、實(shí)時性、穩(wěn)定性、可擴(kuò)展性??傊?,從測試效果來看,能夠滿足現(xiàn)代溫室大棚的發(fā)展和需求,具有較好的實(shí)用性。 參考文獻(xiàn): [1] 田晨林,陳正宇.嵌入式系統(tǒng)Web服務(wù)器的移植與CGI的應(yīng)用 [J].金陵科技學(xué)院學(xué)報,2019,35(2):40-43. [2] 馮春衛(wèi),胡國強(qiáng).基于6LoWPAN和WLAN的溫室大棚智能監(jiān)測系統(tǒng) [J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016,16(12):70-73. [3] CHEN B Y,ZHANG F H. Plant Nutrient Solution Detection System Based on ZigBee Wireless Technology [J].Journal of Computer and Communications,2018,6(6):61-68. [4] 余歡.基于ZigBee技術(shù)的溫室監(jiān)測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].上海:上海應(yīng)用技術(shù)大學(xué),2016. [5] 王子維.基于zigbee技術(shù)的智能溫室大棚監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [D].武漢:華中師范大學(xué),2016. [6] 李曉娟,徐君鵬,秦國慶.基于ZigBee的溫室監(jiān)測系統(tǒng)協(xié)調(diào)器節(jié)點(diǎn)設(shè)計(jì) [J].河南科技學(xué)院學(xué)報(自然科學(xué)版),2016,44(4):67-73. [7] 周素茵,章云,曾斌.無線通信技術(shù)在我國現(xiàn)代溫室中的應(yīng)用綜述 [J].傳感器與微系統(tǒng),2011,30(12):14-17. [8] 周健,羅杰.一種遠(yuǎn)程分布式溫室環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì) [J].微型機(jī)與應(yīng)用,2014,33(22):11-13+16. 作者簡介:李佳轅(2000—),男,漢族,四川廣安人,本科在讀;研究方向:物聯(lián)網(wǎng);劉彬(1982—),男,漢族,四川資陽人,網(wǎng)絡(luò)安全高級工程師,講師,碩士,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。