許江淳 岳秋燕 任向陽等



摘要將物聯(lián)網(wǎng)技術(shù)與微信公眾平臺相結(jié)合,設計了一套接入方便、交互友好的溫室監(jiān)測系統(tǒng)。該系統(tǒng)以虛擬儀器為核心,STM8S105C6單片機作為數(shù)據(jù)處理器和多個傳感器實現(xiàn)溫室環(huán)境監(jiān)測,傳感器采集溫室內(nèi)信息,通過RS232傳至Lab VIEW進行顯示存儲及報警。監(jiān)測系統(tǒng)的服務器與公眾平臺服務器連接,從而實現(xiàn)移動終端對溫室情況的實時查詢和歷史回溯等功能。
關(guān)鍵詞溫室測系統(tǒng);Lab VIEW;數(shù)據(jù)處理;微信公眾平臺;物聯(lián)網(wǎng)技術(shù)
中圖分類號S126文獻標識碼A文章編號0517-6611(2016)04-301-03
Greenhouse Environment Detection System Based on the Virtual Instrument and WeChat Public Platform
XU Jiangchun, YUE Qiuyan, REN Xiangyang et al(Kunming University of Science and Technology, Kunming, Yunnan 650000)
AbstractBy combining the networking technology with WeChat public platform, a interactive and friendly greenhouse monitoring system was designed with convenient access. With virtual instrument as the core, STM8S105C6 microcontroller was used as data processors and multiple sensors to achieve greenhouse environmental monitoring. Information was collected by sensors inside the greenhouse, and transmitted to Lab VIEW for display and alarm storage via RS232. Server of monitoring system was connected with public platform server, so as to realize the realtime and historical backtracking query functions of greenhouse conditions by mobile terminal.
Key wordsGreenhouse measurement system; Lab VIEW; Data processing; WeChat public platform; Networking technology
作者簡介許江淳(1962- ),男,云南昆明人,副教授,碩士生導師,從事嵌入式系統(tǒng)技術(shù)及應用、SOC及FPGA系統(tǒng)技術(shù)應用、自動化控制系統(tǒng)應用等研究。
收稿日期20160108溫室是利用溫室效應原理,采用自動控制技術(shù)等現(xiàn)代工程技術(shù)和工業(yè)化生產(chǎn)方式為動植物提供可控的適宜的生長環(huán)境[1]。為了實現(xiàn)高效生產(chǎn)的的科學化,推動我國農(nóng)業(yè)的發(fā)展,對溫室中環(huán)境參數(shù)的科學管理極為重要。虛擬儀器技術(shù)就是利用高性能的模塊化硬件,結(jié)合高效靈活的軟件來完成各種測試、測量和自動化的應用[2-3]。靈活高效的軟件能幫助人們創(chuàng)建完全自定義的用戶界面,模塊化的硬件能方便地提供全方位的系統(tǒng)集成,標準的軟硬件平臺能滿足對同步和定時應用的需求。農(nóng)業(yè)自動化是在物聯(lián)網(wǎng)的影響之下物聯(lián)化體現(xiàn),溫室環(huán)境監(jiān)測是溫室自動化的基礎,設計結(jié)合虛擬儀器這種圖形化編程語言的溫室環(huán)境監(jiān)測系統(tǒng)具有非常重要的意義[4-5]。
隨著移動終端及移動網(wǎng)絡的發(fā)展,移動終端的數(shù)據(jù)通訊功能被越來越多的運用在實時監(jiān)測方面,也有文獻報導基于智能手機終端對溫室監(jiān)測系統(tǒng)進行開發(fā)和應用[6-7]。近年來微信的發(fā)展非常迅速,微信公眾平臺也為開發(fā)者提供了一個優(yōu)異的平臺及解決方案。基于微信公眾平臺開發(fā)溫室監(jiān)測系統(tǒng),為溫室管理者提供豐富的溫室信息查詢等服務。筆者基于虛擬儀器和對微信公眾平臺的開發(fā),將物聯(lián)網(wǎng)技術(shù)與微信公眾平臺相結(jié)合,設計了一套接入方便、交互友好的溫室監(jiān)測系統(tǒng)。
1系統(tǒng)設計
系統(tǒng)由多個傳感器及安裝有Lab VIEW的計算機組成。傳感器采集溫室內(nèi)的信息,通過RS232傳至Lab VIEW,各環(huán)節(jié)之間互不干擾。Lab VIEW將所采集到的信息進行存儲顯示及報警并與公眾平臺服務器連接,從而把所采集到的信息發(fā)送至移動終端。
1.1硬件部分設計該系統(tǒng)數(shù)采集中心主要由兩部分組成:①傳感器,包括溫濕度傳感器、煙霧傳感器、二氧化碳傳感器及光敏電阻傳感器;②STM8S105C6微處理器,主要完成數(shù)據(jù)采集和對執(zhí)行機構(gòu)的控制工作。
1.1.1傳感器。該系統(tǒng)采用已校準數(shù)字信號輸出的溫濕度復合傳感器DHT11和MQ2煙霧傳感器、二氧化碳傳感器TGS4160及光敏傳感器。它們均采用傳感變送一體化設計,適用于一般室內(nèi)溫濕度、CO2濃度、光照強度、煙霧濃度的測量;配有RS232通信接口,采用標準的SWIM通信協(xié)議。各傳感器性能指標見表1。
1.1.2STM8S中的AD轉(zhuǎn)換。 STM8S系列ADC是一個逐次逼近模數(shù)轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器的分辨率為10 bit,最大轉(zhuǎn)換值為1 024,最多包含16通道,配置左對齊或右對齊的寄存器為ADC_CR2。AD轉(zhuǎn)換速度取決于ADC的時鐘信號,時鐘的預分頻因子是由ADC_CR2寄存器的SPSEL[2∶0]決定的,ADC轉(zhuǎn)換可由定時器1的TRGO事件或是外部引腳ADC_ETR的上升沿觸發(fā),也可通過設置ADON位來軟件觸發(fā),用于選擇觸發(fā)源的寄存器為ADC_CR2。最大的轉(zhuǎn)換速度為3.5 μs。ADC模塊結(jié)構(gòu)見圖1。
1.1.2STM8S中的AD轉(zhuǎn)換。 STM8S系列ADC是一個逐次逼近模數(shù)轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器的分辨率為10 bit,最大轉(zhuǎn)換值為1 024,最多包含16通道,配置左對齊或右對齊的寄存器為ADC_CR2。AD轉(zhuǎn)換速度取決于ADC的時鐘信號,時鐘的預分頻因子是由ADC_CR2寄存器的SPSEL[2∶0]決定的,ADC轉(zhuǎn)換可由定時器1的TRGO事件或是外部引腳ADC_ETR的上升沿觸發(fā),也可通過設置ADON位來軟件觸發(fā),用于選擇觸發(fā)源的寄存器為ADC_CR2。最大的轉(zhuǎn)換速度為3.5 μs。ADC模塊結(jié)構(gòu)見圖1。
的參考電壓設置在模擬電壓范圍內(nèi),最小為2.75 V,選擇模擬通道寄存器ADC_CSR,關(guān)閉施密特觸發(fā)器為ADC_TDRL(H),數(shù)據(jù)存儲在2個8位的寄存器中,當讀第一個數(shù)據(jù)寄存器時,第二個數(shù)據(jù)寄存器被鎖存,阻止被下一次轉(zhuǎn)換結(jié)果覆蓋,并等待被讀取,讀取寄存器的順序取決于數(shù)據(jù)的對齊模式,左對齊先高后低,右對齊先低后高,ALIGN位用來選擇轉(zhuǎn)換后的數(shù)據(jù)對齊方式。單次轉(zhuǎn)換模式,ADC僅執(zhí)行一次轉(zhuǎn)換,連續(xù)轉(zhuǎn)換模式,ADC循環(huán)的進行轉(zhuǎn)換。
2Lab VIEW監(jiān)測軟件開發(fā)
由傳感器采集到的室內(nèi)環(huán)境的數(shù)據(jù)在STM8S105C6里進行了處理和轉(zhuǎn)換,Lab VIEW的程序設計要完成的部分是將處理完成的數(shù)據(jù)在PC機上進行接收,并以波形和數(shù)值的形式顯示出來,以及設定適宜的室內(nèi)環(huán)境溫濕度等的數(shù)值范圍,與接收到的數(shù)據(jù)值進行比較,超出設定值報警燈進行報警,同時儲存數(shù)據(jù)以及互聯(lián)網(wǎng)通訊。程序框圖設計見圖2。
上位機軟件采用Lab VIEW編寫,程序由左至右依次是串口的初始化、數(shù)據(jù)在PC機上的存儲、參數(shù)的采集及顯示、參數(shù)的閾值的判定及報警部分,PC與STM8S105C6單片機串口通訊采用RS232通信協(xié)議,VISA串口初始化設置串口號為COM3、波特率設置為9 600、數(shù)據(jù)比特為8、停止位設置為10、奇偶位設置為0。大多數(shù)植物的生長適宜溫度為12~33 ℃,溫室內(nèi)溫度的測量范圍為0~50 ℃,濕度的測量范圍為0~100%RH,不同的植物最適宜生長的CO2濃度不同,大氣的CO2濃度為300 μL/L,MQ2氣體傳感器所使用的氣敏材料是在清潔空氣中電導率較低的SnO2。當傳感器所處環(huán)境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大。根據(jù)這些數(shù)據(jù)在Lab VIEW上設置適宜的監(jiān)測范圍,超出這些范圍進行報警。
前面板主要用來實現(xiàn)對數(shù)據(jù)的實時顯示,從左到右依次是溫度報警燈、溫度計、停止按鈕、濕度報警燈、濕度計、光照強度報警燈、CO2濃度報警燈、煙霧濃度報警燈、各個溫室環(huán)境參數(shù)波形圖以及VISA串口設置框、數(shù)據(jù)儲存框、進行互聯(lián)網(wǎng)通信設置框,如圖3所示。
3微信公眾平臺的開發(fā)
微信是騰訊公司推出的一款為智能終端提供即時通訊服務的應用程序,它支持跨通信運營商、跨操作系統(tǒng)平臺,通過網(wǎng)絡快速發(fā)送包含文本、圖片、語音等信息。通過對微信公眾平臺的開發(fā),可實現(xiàn)移動終端對溫室情況的實時查詢和歷史回溯等功能。具體實現(xiàn)路線見圖 4。首先需把存有溫室監(jiān)測數(shù)據(jù)的服務器與微信公眾平臺服務器進行連接,公眾平臺開發(fā)要求開發(fā)者設置 URL 及 Token(用來驗證)。URL 指向用于存儲采集數(shù)據(jù)的服務器,公眾平臺服務器要求接入開發(fā)者計算機的端口必須為 80,非 80端口無法正常的接收和發(fā)送數(shù)據(jù)。該研究使用“花生殼”申請二級域名,由于溫室內(nèi)計算機大部分都是非公網(wǎng) IP,需要對路由器進行端口映射設置,才能建立起用戶服務器與公眾平臺服務器的連接[8]。公眾平臺服務器的連接請求通過 HTTP 的 GET 參數(shù)傳輸,會額外帶上 signature、time stamp、nonce 3個參數(shù),signature 是 對 time stamp、nonce 及 Token 進 行 SHA1 加密后的字符串,監(jiān)測系統(tǒng)服務器收到公眾平臺服務器的請求后同樣進行加密算法,得到 signature 后與公眾平臺服務器的signature 對比,從而排除惡意第三方的連接。該研究使用 PHP 進行開發(fā),在用戶微信客戶端向溫室監(jiān)測系統(tǒng)服務器發(fā)送消息時,微信公眾服務器會將消息以特定格式的XML 形式發(fā)給公眾賬號服務器,包含發(fā)送方的 ID、消息類型以及消息內(nèi)容等。在溫室監(jiān)測系統(tǒng)服務器對 XML 進行解析后則可讀取用戶客戶端所發(fā)出的請求,從本地MySQL數(shù)據(jù)庫中讀取相應數(shù)據(jù)以 XML 格式發(fā)回給公眾平臺服務器,在用戶微信客戶端則能接收到相應數(shù)據(jù)。溫室環(huán)境監(jiān)測記錄見圖5。
4結(jié)語
該研究通過對微信公眾平臺的開發(fā),實現(xiàn)了利用智能手機終端對溫室環(huán)境的監(jiān)測,并用于溫室環(huán)境監(jiān)測的數(shù)據(jù)反饋,為溫室管理人員提供了良好的接入及用戶體驗。相比于其他智能手機系統(tǒng)開發(fā)移動終端應用程序,該方法更加容易實現(xiàn),設備使用及管理人員的操作也更為簡單。微信作為一款成熟的軟件,在跨平臺、跨操作系統(tǒng)的移動終端的兼容性上都具有很大的優(yōu)勢。且用戶完全可以根據(jù)自己對溫室的環(huán)境需求增加傳感器等模塊和在Lab VIEW上調(diào)用不同的功能模塊,改變設定的參數(shù),完成對溫室的個人需求設置。
但是通過微信公眾平臺進行開發(fā)也具有一定的局限性,公眾賬號所提供的接口受微信平臺本身限制,在消息的主動推送上也受限制(訂閱號每天 1 條,服務號每月 1 條),而且微信本身為了避免公眾賬號對微信用戶的打擾,訂閱號的推送消息不對用戶進行提醒,用戶只有在聊天界面打開訂閱號時才能查看消息。這意味著在異常報警的實時性受到了一定程度的影響,用戶要獲取相關(guān)信息時必須首先向微信公眾平臺賬號發(fā)送相應的命令。在實際應用中,不僅可以將微信公眾平臺與溫室監(jiān)測系統(tǒng)相結(jié)合,而且只要針對采集前端進行開發(fā),就可以應用于溫室其他的狀態(tài)監(jiān)測及管理上,具有廣泛的應用前景。
參考文獻
[1] 陶然,王樹文,薛圓滿,等.智能化的溫室環(huán)境控制系統(tǒng)的研究[J].農(nóng)機化研究,2015(2):53-54.
[2] 李敏,孟臣.溫室大棚計算機測控系統(tǒng)研制[J].計算機與農(nóng)業(yè),2013(6):9-11.
[3] 王貴恩,洪添勝,王衛(wèi)星,等.南方溫室節(jié)水調(diào)溫自動控制系統(tǒng)的研制[J].廣西大學學報(自然科學版),2003,28(1):57-60.
[4] 李永芳,朱榮新,姚肩倉.利用Data Socket技術(shù)實現(xiàn)網(wǎng)絡化虛擬儀器[J].現(xiàn)代電子技術(shù),2013(19):50-51.
[5] 毛頓,郭慶平.Lab VIEW中用Data Socket技術(shù)實現(xiàn)網(wǎng)絡化應用[J].現(xiàn)代電子技術(shù),2014(3):70-71.
[6] 劉金寧,孟晨,方晨,等.Data Socket技術(shù)及其網(wǎng)絡化虛擬儀器[J].網(wǎng)絡與總線,2003(3):31-33.
[7] 王希華,趙偉.Data Socket技術(shù)及其在遠程測控中應用[J].儀表技術(shù),2001(5):17-18.
[8] 顏全生.溫室的自動控制設計及實現(xiàn)[J].電力系統(tǒng)及其自動化學報,2001,13(4):65-69.44