羅桂蘭,張 梅,黃 偉,張麗娜
(大理大學數學與計算機學院,云南大理 671003)
隨著無線傳感器技術的快速發展和安卓系統的普遍使用,在物聯網、“互聯網+”和云計算不斷深入各個領域的今天,傳統的生物研究受到了巨大的沖擊,生物研究的技術和方式也發生了巨大的改變。
國外在昆蟲監測方面的現代化研究起步較早,2010年前就有人提出用于昆蟲種群自動監測的電子陷阱,研究了兩個電子陷阱原型的設計和實現,一個基于光敏電阻(LDR)傳感器,另一個基于紅外(IR)傳感器〔1〕。日本通過昆蟲仿生學的研究已成功研制出依據氣味尋找目標的機器人,美國國防部甚至訓練蜜蜂來負責搜查地雷的工作〔2〕。近幾年來,國外做了很多關于自然保護方面的昆蟲研究。例如設計一個標準化的框架,以促進昆蟲生境監測與物種恢復工作的整合,通過適應性管理來明確地識別和跟蹤生境目標和最終昆蟲物種恢復的進展情況,從而提高瀕危昆蟲恢復工作的透明度和決策過程〔3〕;開發一種基于MODIS(中分辨率成像光譜儀)衍生NDVI(歸一化植被指數)的方法,用于近實時監測瑞典北部亞高山白樺林中昆蟲誘導的森林落葉,有助于及時進行實地研究,并能夠更快地采取對策對樹木進行保護〔4〕。
我國由于技術水平的限制,對昆蟲生境的研究一直以人工方法為主,由專業研究人員定期到捕捉昆蟲的樣點進行現場采集昆蟲生境數據,將采集到的昆蟲樣本和生境數據帶回實驗室進行研究分析。這種方法既耗費人力,又存在很多弊端。人工采集昆蟲生境數據在數據測量和記錄過程中往往引入了人為誤差,由于數據是定期采集,也很難反映出它的變化規律。而且能夠采集到的生境數據種類也比較少,使得利用所采集數據進行的研究分析是不夠充分的〔5-6〕。近幾年來,隨著遙感技術的不斷發展,將其應用在生物生境監測方面的研究也不斷增多〔7-8〕。其中,在昆蟲方面的應用主要涉及害蟲防治。例如利用遙感技術獲取與蝗蟲密切相關的各種生境因子,并結合GIS(地理信息系統)技術研究蝗蟲的生境因子對東亞飛蝗的產卵、孵化、成蟲、遷飛等生育周期的影響機理,可實現對蝗蟲監測、預測預警〔9〕;通過衛星遙感反演獲取稻飛虱的生境因子,有利于深入研究稻飛虱發生動態以及暴發規律,以便作出可靠的預測〔10〕。
以上這些監測系統的終端大多是固定的,用于監測昆蟲生境的移動監測終端的研究較少。濕地的地理特征給人工采集昆蟲的生境數據帶來諸多不便,不利于生物多樣性的研究與保護〔11〕。與此同時,4G移動通信技術已經普及,智能移動終端更是鋪天蓋地,其中安卓系統占據了最大的市場份額,成為最主流的操作系統。隨著物聯網的發展,安卓系統的應用不再停留在社交娛樂上,而是逐漸應用在智能的生活和生產之中,但是在昆蟲研究方面的應用卻是少見〔12-13〕。本文提出的基于安卓系統的昆蟲生境移動監測系統,為洱海濕地昆蟲種群研究提供了便利。洱海濕地昆蟲生境數據的分析與研究對生物防治、物種培育、藥理研究以及洱海保護等都有重要意義,同時也將促進洱海濕地生態學的健康發展。
1.1 采集節點硬件設計昆蟲生境數據來自于安放在洱海月濕地、羅時江濕地和洱源東湖濕地的數據采集節點,各個節點都搭載太陽能供電系統。數據采集節點每隔1 min就會通過各類傳感器采集到一條昆蟲生境數據并發送回來,數據包括環境溫度、環境濕度、土壤溫度、土壤濕度、土壤pH值、光照強度、紫外輻射強度、紫外日累計值、瞬時風速、2 min風速、10 min風速、風向、降雨量等生境因子以及時間、經度、緯度、電量等參數。圖1所示的就是一個數據采集節點。

圖1 數據采集節點
1.2 節點通訊方式在數據采集模塊中安裝了GPRS DTU設備,將監測終端的IP地址配置到GPRS DTU設備上,并設置一個TCP協議公用通訊端口,端口號為5002。然后GPRS DTU設備就會通過安裝在它里面的SIM卡訪問互聯網,將數據采集模塊采集到的昆蟲生境數據發送到對應IP地址的監測終端。在監測終端處理原始數據并上傳至Bmob后端云數據庫,安卓移動監測終端可以隨時隨地通過2G、3G、4G或者Wi-Fi上網,從Bmob后端云上獲取昆蟲生境數據并顯示出來。
2.1 軟件功能模塊設計軟件系統的總體設計目標是可以隨時隨地地對洱海濕地昆蟲的生境數據進行實時監測。在昆蟲生境數據上傳至后端云數據庫后,應用程序將會自動獲取更新的數據并顯示出來,達到實時移動監測昆蟲生境的目的,同時讓昆蟲生境數據的采集更加方便,對昆蟲的研究更加高效。
軟件功能模塊主要包括數據獲取模塊和數據顯示模塊。其中,數據獲取模塊負責獲取Bmob后端云數據庫上更新的昆蟲生境數據,數據顯示模塊負責將獲取到的數據顯示在昆蟲生境移動監測軟件的用戶界面上。軟件系統的功能模塊設計見圖2。

圖2 系統功能模塊
2.2 后端云數據庫的建立在云數據庫里創建表_User和表Data分別用來存放用戶數據和昆蟲生境數據。
2.2.1 表_User 表_User用于存放昆蟲生境移動監測軟件的用戶數據,包括用戶名username、密碼password和手機號碼mobilePhoneNumber等。
2.2.2 表Data 表Data用于存放昆蟲生境數據,包括環境溫度、環境濕度、土壤溫度、土壤濕度、土壤pH值、光照強度、紫外輻射強度、紫外日累計值、瞬時風速、2 min風速、10 min風速、風向、降雨量等生境因子以及時間、經度、緯度、電量等參數。
2.3 軟件設計流程在完成Bmob后端云服務器的搭建與配置基礎上,設計并開發由線性界面布局、數據獲取模塊和數據顯示模塊組成的應用程序,實現服務器連接、數據庫監聽、數據獲取、數據顯示等一系列流程。昆蟲生境移動監測軟件數據獲取模塊會實時監聽Bmob后端云數據庫中的昆蟲生境數據的更新狀態,如果發生了數據的更新,就將新上傳的那條數據獲取下來。數據獲取模塊獲取到數據后就把數據交給數據顯示模塊,數據顯示模塊拿到數據后使用SimpleAdapter適配器將昆蟲生境數據顯示在ListView視圖上。軟件設計流程見圖3。

圖3 軟件流程圖
2.4 數據獲取功能實現
2.4.1 創建BmobRealTimeData對象 BmobRealTime-Data是Bmob SDK提供的用于實現安卓端與后端云數據實時同步的對象,昆蟲生境數據移動監測軟件在InsectActivity中創建了一個該類型的對象data。
代碼如下:BmobRealTimeDatadata=newBmobRealTimeData()
2.4.2 連接Bmob后端云服務器 使用start方法連接Bmob后端云,并監聽服務器是否連接成功和后端云數據庫更新的回調。代碼如下:

2.4.3 監聽數據 成功連接Bmob后端云服務器后,就使用Bmob SDK提供的方法監聽后端云數據庫的表和行的更新或者刪除,昆蟲生境數據移動監測軟件采用監聽表更新的方法。代碼如下:

主要測試應用程序用戶注冊登錄功能、數據獲取功能、數據顯示功能以及數據的實時分析功能。
3.1 用戶注冊登錄打開昆蟲生境數據監測軟件的賬號注冊頁面,輸入測試用戶名為admin,密碼為admin,并再次輸入密碼確認注冊。此時軟件提示“注冊成功—用戶名:admin”,并進入昆蟲生境監測首頁。打開昆蟲生境數據監測軟件的用戶登錄頁面,使用之前注冊的賬號admin登錄。此時軟件提示“登錄成功—用戶名:admin”,并進入昆蟲生境監測首頁,此后進入系統主界面。
3.2 數據獲取為了測試昆蟲生境移動監測軟件的數據獲取功能模塊能否正常運行,本節通過上傳一條昆蟲生境數據至Bmob后端云數據庫,檢查軟件的數據獲取功能模塊能否連接到Bmob后端云,連接云服務器成功后能否獲取到數據以及獲取到的數據是否與上傳的昆蟲生境數據一致,具體步驟如下。
3.2.1 云服務器連接測試 為了測試昆蟲生境移動監測軟件在運行時能否正常連接到Bmob后端云,在軟件的數據獲取功能模塊中的onConnectCompleted方法里添加一行Log.d信息打印代碼,代碼如下:

該代碼將data.isConnected()的值輸出到Android Studio的調試信息框中,通過查看data.isConnected()的值是true還是false來判斷服務器連接是否成功,運行效果見圖4。輸出的信息表明昆蟲生境移動監測軟件已經成功連接到了Bmob后端云。

圖4 軟件成功連接Bmob后端云
3.2.2 數據獲取測試 該部分是測試昆蟲生境移動監測軟件的數據獲取功能模塊在連接Bmob后端云服務器后能否正常監聽到數據庫的更新,并將更新的數據獲取下來,步驟如下:
首先,在昆蟲生境移動監測軟件的數據獲取功能模塊中的onDataChange方法里添加一條Toast提示語句,具體代碼如下:

如果數據獲取功能模塊成功監聽并獲取到Bmob后端云數據庫的數據更新,則該代碼會將獲取的數據通過Toast消息提示的方式顯示在昆蟲生境移動監測軟件上。其次,使用Postman插件向Bmob后端云數據庫上傳一條昆蟲生境數據后,進入Bmob后端云控制臺查看數據更新狀態,數據已經成功上傳到Bmob后端云數據庫。需要注意的是,在數據上傳期間軟件要在運行狀態中。最后,在數據上傳成功后,軟件立刻獲取到數據。
3.3 數據顯示為測試昆蟲生境移動監測軟件的數據顯示功能模塊能否正常運行,本節通過自定義的兩個String類型的數組title〔〕和text〔〕分別模擬生境因子名稱以及對應的參數值,內容如下:


將這兩個數組放在軟件數據顯示功能模塊中的組織數據步驟里,運行效果見圖5。結果表明數據顯示功能模塊能夠將接受到的數據正常地顯示在布局中。

圖5 測試數據顯示成功
3.4 數據實時監測為實現對昆蟲生境數據的實時監測,昆蟲生境移動監測軟件獲取并顯示數據的速度必須滿足實時性要求。通過多次測試,從開始上傳昆蟲生境數據,一直到軟件將數據顯示出來的平均時間約為0.8 s。效果見圖6。

圖6 數據實時列表顯示
為滿足動態生境數據實時監測,系統根據云數據庫樣本計算和統計分析,列出了當天每個濕地監測點的整點環境溫度。見圖7。

圖7 環境溫度整點實時變化曲線
在通信技術發展日新月異的今天,移動監測終端已經逐漸廣泛地應用在家居生活、交通控制、消防控制、農業生產和工業控制等領域之中,其功能愈發的健全和成熟,并且還在趨于更加多元化的發展。針對移動通信技術和安卓智能移動終端設備的普及,本文設計了基于物聯網、安卓平臺和后端云的濕地昆蟲生境移動監測系統,應用程序通過監聽后端云數據庫上昆蟲生境數據的更新狀態,獲取最新上傳的數據并顯示,從而達到監測昆蟲生境數據的目的,為昆蟲的研究提供信息化手段和數據實時分析方法。