張強武,唐露新,陳超鋒,范航郡
(廣東工業大學 信息工程學院,廣州510006)
隨著大規模養殖業和物聯網技術的快速發展,傳統的依靠自然資源、效率低下的養殖業已不能滿足現代高產、優質、高效、安全、生態的要求,現代養殖業正伴隨著物聯網技術向信息化的方向發展[1-3]。如何在第一時間內獲取更多養殖所需的環境參數以實現最佳狀態下的養殖是現代養殖業成功的關鍵。目前國內一些基于物聯網技術的養殖雖可測量多個養殖環境參數,但大多設計復雜、價格昂貴,難以得到廣泛的應用[4-5]。
Arduino是一款基于AVR單片機系統,軟硬件系統都具有高度模塊化的開源電子產品開發平臺[6]。其內部封裝了各種常用的開發庫和常用傳感器測量的庫函數供開發者調用,開發者只需著眼于程序的邏輯結構而無需了解底層函數設計,大大簡化了傳感器測量系統的設計[7]。
Machtalk開放平臺能夠采集任何信息,如城市環境、農業生產、智能家居,可以使用各種傳輸協議(ZigBee、WiFi、藍牙、GPRS)和傳感器設備。在面向遠程數據采集的行業應用中,用于M2M終端的大范圍組網和管理,涵蓋設備接入、設備管理、數據轉發、數據存儲、數據展示、數據挖掘、終端認證、運營計費功能。該平臺支持HTTP、Socket、MQTT等數據上傳方式,既滿足低端單片機的數據接入,又提供了小型傳輸方式(近距離可考慮ZigBee、藍牙、WiFi方式)。數據采用 MD5加密,確保云數據安全,其存儲、挖掘、分析和展現托管給此平臺,可以極大地提高信息化水平。此外,Machtalk平臺提供觸發器設備,當用戶數據超出設置的觸發器范圍時,以此提醒用戶數據指數超標。采用高實時性的Socket通信技術,傳感器數據送達時間只取決于網絡環境。
本文設計了一種基于Arduino和Machtalk的溫棚環境監測系統,可實時采集養殖系統的環境參數,應用于養殖環境突變狀況下的及時報警;兼具界面友好、性價比高、設計簡單、實時性強、隨時隨地查看、安全的特點,可以起到養殖環境突變時及時警報的作用。
溫棚環境監測系統由Arduino最小系統、環境參數采集模塊、WiFi模塊、人機交互模塊以及基于Machtalk的上位機監控室組成,其結構框圖如圖1所示。環境參數采集模塊將采集到的溫濕度、土壤濕度、PH值、CO2以及光照強度等參數,經A/D轉換成數字信號送入微處理器,微處理器對轉換后的信號進行處理并實時顯示。然后,無線傳輸模塊將處理后的數據打包發送出去。上位機監控室采用Machtalk平臺,通過設置 WiFi、設備ID、值ID、數據ID、相應的觸發條件和APIkey,該平臺可以直接通過互聯網接收到參數采集節點的數據,將數據進行拆包。最后,通過設備ID來分別顯示溫棚環境測量參數。Machtalk平臺可以自動通過表格、曲線圖等方式記錄近一年或一個月、一個小時內的數據。此外,該平臺提供觸發器設備,當用戶數據超出設置的觸發器的觸發范圍時,觸發器可以提醒用戶數據指數超標。在設計過程中,當采集到的溫濕度、土壤PH值、空氣中CO2、土壤濕度以及光照強度與預設值(標準范圍)有差異時,一方面可以通過 Machtalk平臺觸發的方式,發送郵件或者觸發開關,另一方面可直接在Arduino軟件設計中加入判斷條件觸發蜂鳴器等。本設計采用郵件觸發與蜂鳴器報警相結合的方式,便于在第一時間內獲取養殖系統環境異常的情況。

圖1 溫棚環境監測系統結構框圖
硬件部分主要包括控制器的選取與電源模塊的設計以及環境參數測量模塊、WiFi模塊與人機交互模塊的設計。其中,最小系統采用 Arduino ATmega2560,主要在于ATmega2560具有54路數字輸入輸出接口(15路用于PWM)和4個硬件串口,豐富的I/O接口便于擴展;人機交互部分由蜂鳴器和LCD1602組成。蜂鳴器用于報警;LCD1602采用4線接法,用于測量數據的顯示。最小系統電路如圖2所示。

圖2 單片機最小系統
溫濕度測量采用具有專用數字模塊采集技術和溫濕度傳感技術的DHT11。DHT11包括一個電阻式感濕元件和一個NTC測溫元件,其輸出為數字信號(8位溫度和8位濕度),具有響應快、抗干擾性強、可靠性高、性價比高的優點。其超小的體積、極低的功耗,使其成為最佳選擇。Arduino平臺提供了DHT11的開發庫,設計過程中只需將數據引腳與Arduino的數字采集接口相連,然后調用庫直接讀取數據,利用串口監視其結果,如圖3所示。

圖3 溫濕度測試結果
土壤濕度測量采用廣泛應用于節水農業灌溉、溫室大棚、花卉蔬菜、草地牧場、土壤速測、植物培養、科學試驗的FC-28。FC-28具有體積小,攜帶方便,安裝、操作及維護簡單的優點。其合理的結構設計和不繡鋼探針保證了其使用壽命,外部以環氧樹脂純膠體封裝,密封性好,可直接埋入土壤中使用且不受腐蝕;測量精度高,性能可靠,響應速度快,數據傳輸效率高。光照強度測量直接利用光敏二級管的特性,其光照強度測量模塊輸出的結果提供模擬量和數字量輸出。FC-28和光照強度測量硬件電路如圖4所示。圖中FC-28和光敏二極管分別與參考基準值進行比較,比較后的模擬結果作為輸出。
PH值測量采用連線簡單、方便實用、專為Arduino設計的模擬PH測量計。使用時,只需將PH傳感器與板載BNC相連,板載PH2.0連接到Arduino控制器的模擬采集口,結合Arduino開源測試代碼,稍作修改便可測量溶液的PH值。CO2測量采用范圍為0~10 000 ppm的MG811。MG811采用模擬量和TTL雙路輸出,具有靈敏度高、穩定性好、快速的響應恢復特性。在使用模擬量采集過程中,只需將其與控制板模擬采集接口相連,讀取引腳數據。

圖4 采集模塊電路
WiFi模塊選用嵌入串口、以太網和 WiFi模塊的HLK-RM04。HLK-RM04基于通用串行接口,符合網絡標準,內置的TCP/IP協議棧使其能夠實現用戶串口、以太網和WiFi的轉換。通過該模塊,串口設備在不需要更改任何配置的情況下,即可通過網絡傳輸數據。本設計結合HLK-RM04和相應的擴展底板,實現了數據的傳輸。其配置流程如下:
①使用串口與底板串口相連,搜索串口模塊。
②搜索到串口后,設置為串口轉WiFi模式。本設計中采集系統作為客戶端向服務器發送數據,因此網絡協議選擇TCP客戶端。
③無線參數設置。無線參數根據自己所開的熱點設置,確保連網。
④遠端IP、端口、串口參數的設置與TCP服務器參數(Machtalk 提 供 的IP 為 60.211.253.162、端 口 為10086、波特率115 200 bps、數據位8、校驗位NONE、停止位1)相對應。
⑤網絡參數與無線參數一致,需根據實際的網絡環境設置。利用HLK-RM04提供的調試助手(如圖5所示),檢測WiFi模塊是否連網,可直接執行ping命令設置遠端IP。

圖5 WiFi模塊配置
本系統軟件設計主要包括基于Machtalk的上位機配置和基于Arduino的測量系統。上位機配置分為三步:第一,注冊Machtalk賬號,獲取APIkey。第二,根據相應的傳感器模塊添加設備(以溫濕度傳感器為例,需要填寫設備的名稱、測量數據范圍和單位等),獲取設備ID和設備Value。第三,設置觸發條件。可按照養殖所需的條件設置觸發,本設計通過郵件觸發的方式,給出最大和最小的閾值進行提醒。
測量模塊主程序設計基于Arduino IDE的開發平臺完成。由于Arduino平臺提供了WiFi和傳感器測量的庫函數,大大降低了系統設計的難度。其流程如下:首先,完成初始化(中斷、LCD、DHT11、串口、WiFi等)。接著,按照順序讀取測量數據并將其與預定值進行比較。若查詢到測量的數據超出預定閾值,則啟動蜂鳴器報警,然后通過串口將數據以HTTP協議格式發送至WiFi模塊。發送的串口數據中,根據設備設置相應的device ID和device value,加上相應的標簽設置,即可區別不同地方的設備測量數據。如果測量數據在閾值以內,則直接將數據打包發送。完成發送后返回,循環上述過程,其程序流程如圖6所示。如果設備和WiFi配置正確、串口發送格式無誤,在Machtalk上即可看到測量數據。

圖6 主程序流程圖
參照上述WiFi模塊配置,設置好WiFi模塊的參數。然后,將溫濕度傳感器DHT11與Arduino的數字采集接口連接,光照強度和土壤濕度分別連接模擬采集接口。其測量數據(溫度、土壤濕度和光照)通過 WiFi上傳到Machtalk平臺。當測量的閾值超出預定范圍時,蜂鳴器發出警報聲,接收到Machtalk平臺發送的電子郵件。Machtalk平臺顯示的數據略——編者注。
基于Arduino開源環境和Machtalk物聯網平臺提出一種溫棚養殖系統中多環境參數監測的設計方案,完成了相應傳感器模塊測試,以及Arduino測量系統通過WiFi模塊與Machtalk物聯網平臺的連接,驗證了方案的可行性。結果表明,系統可以準確測量相關環境參數并在Machtalk物聯網平臺上顯示,對異常環境進行預警。測量系統采用具有54路數字I/O的ATmega2560,便于后期擴展更多的傳感器。Arduino和Machtalk平臺結合,可以降低設計的難度和開發成本、縮短開發周期。此外,本系統只需修改WiFi模塊設置,加入9 V鋰電池與相應穩壓電路,就可結合智能設備提供的熱點將其擴展成便攜式測量裝置,也可通過手機應用軟件隨時隨地查看數據。在實際應用中,應結合特定養殖系統的需要選取相應的傳感器。另外,傳感器集中封裝問題還有待解決。
編者注。本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
[1]姚世鳳,馮春貴,賀園園,等.物聯網在農業領域的應用[J].農機化研究,2011(7):190-193.
[2]樂英高,任小洪,徐衛東,等.基于ZigBee技術的物聯網開發平臺構建[J].單片機與嵌入式系統應用,2011(2):22-23,38.
[3]劉玉飛,黃敏,朱啟兵.基于ARM/GPRS/ZigBee水產養殖遠程監控系統設計[J].計算機技術與發展,2012,22(9):181-184.
[4]劉彤,謝永超,汪科.ARM和ZigBee的遠程溫濕度監控系統設計[J].單片機與嵌入式系統應用,2012(9):49-52.
[5]李慧,劉星橋,李景,等.基于物聯網Android平臺的水產養殖遠程監控系統[J].2013,29(13):175-181.
[6]吳勇,李林濤,陳世純,等.基于Arduino開發環境的光電編碼器檢測儀的設計[J].現代電子技術,2014,37(2):124-126.
[7]紀欣然.基于Arduino開發環境的智能尋光小車設計[J].現代電子技術,2012,35(15):161-163.