劉波平 胡敏 楊國強 湯輝 付康
摘要:根據養殖場的實際生產情況研發一套APP使傳統應用系統的功能拓展到智能終端。前端客戶端基于Andriod系統進行開發,后臺服務器端基于J2EE框架進行開發并以Web Service的方式實現與前端移動APP的數據交互。
關鍵詞:安卓系統;養殖;Web 服務
中圖分類號:TP311文獻標識碼:A
Abstract:According to the real production situation in breeding farm, an application on smart terminal equipment implementing the function of traditional software application can be developed. The frontend client is developed based on Andriod system, the background server is developed based on J2EE, which provides web service to interact with the front-end app.
Key words:andriod;breeding;Web service
1引言
互聯網+農業的本質是將互聯網的技術創新、理念創新、模式創新充分應用到農業產業鏈的各個環節,旨在推動農業的轉型與升級,最終把農業引領到智慧農業的道路。本文依托生豬、肉牛、肉雞等特色禽畜養殖產品,集成應用現代信息化技術,探索互聯網+養殖產業的融合發展之路。
隨著物聯網技術、計算機技術、網絡通信技術等的發展,很多規模化的禽畜養殖企業搭建了圈舍環境監測與控制系統、視頻信息采集系統、綜合管理系統等軟硬件平臺。然而,傳統管理軟件有個最大的劣勢,就是不能脫離PC而存在,必須得打開電腦進入系統才能進行查詢、收錄等各種操作。目前,智能手機的普及和移動業務應用的飛速發展使得信息化通信技術與禽畜養殖業的結合成為了可能。本文將研究的即是基于Android智能終端的養殖管理助手的開發與實現,利用手機、平板電腦等設備通過2G/3G/4G或者 WIFI連接互聯網,通過APP應用輔助生產管理人員收集養殖生產活動中的各種數據,實時查看生產環境信息(視頻和數據),解決生產過程中出現的各類問題,以及快速查詢產品溯源信息等。
2系統設計
2.1總體架構
從技術實現角度上可將養殖管理助手分成移動客戶端和后臺服務器端兩個部分。移動客戶端是實現移動APP的開發,將傳統應用系統的功能拓展到智能終端,采用Android系統作為移動終端的軟件開發平臺,Andriod平臺具有技術完整統一、開源免費、拓展性強等特點且市場潛力巨大。后臺服務器端承擔了養殖信息化核心業務的處理,采用J2EE框架進行開發并提供接口以Web Service的方式用于與前端移動APP的數據交互。
2.2系統客戶端
本文研究的養殖管理助手將從實際生產管理的角度出發,為企業生產管理人員提供各種手持端的輔助功能,如登錄、首頁、養殖、問專家、百科和追溯等。具體功能如下圖1所示。
登錄:通過用戶名和密碼,驗證生產管理用戶身份。
首頁:從生產管理者的角度出發,將其最關心的內容加載到首頁中,同時配合快捷操作導航,為使者提供更加貼心的操作體驗。
首頁-菜單-關于:介紹本系統承接單位和功能說明。
首頁-菜單-更新:顯示當前版本及更新最新版。
養殖:根據用戶所負責的區域信息,以圖文列表的方式加載養殖信息。
養殖-菜單-掃二維: 通過掃描“區域標簽”,快速加載該區域的養殖信息
養殖-菜單-養殖歷史: 根據年份篩選養殖檔案記錄,默認當年,以圖文列表方式顯示。
養殖-詳細:顯示當前養殖記錄詳細信息、所在區域信息和生長環境最新信息,以及添加農事記錄的操作導航。
養殖-詳細-菜單-設備控制:顯示當前環境數據和區域可控制設備情況,并提供設備控制操作。
養殖-詳細-菜單-視頻控制:顯示當前環境數據和視頻設備情況(槍機和球機),通過切換不同的攝像頭查看不同方位的視頻情況,并且可對攝像頭拉進、拉遠、左右上下旋轉等控制。
養殖-詳細-菜單-環境數據:根據環境因子,查看歷史數據記錄和近7天、15天、30天統計圖。
養殖-詳細-菜單-農事記錄:文字列表方式顯示農事記錄,內容為操作時間,操作人,活動內容,投入品使用情況,備注,圖片(3張)。
養殖-詳細-添加農事:內容為操作時間,操作人,活動內容,投入品使用情況,備注,圖片(3張),可支持掃描二維碼快速完成活動內容選擇。
問專家:顯示用戶提問列表,含圖片和回復內容。
問專家-專家詳細:點擊回復問題的專家頭像,查看專家信息。
問專家-菜單-提問:內容為問題簡述、問題描述、圖片(3張)、問題環境區域選取(1個)。
問專家-菜單-專家群:顯示所有專家群的信息,微信群二維碼、群介紹。
百科:按分類檢索以及通過關鍵字查詢知識,以文字列表方式顯示查詢結果。
百科-知識詳細:查看知識詳細,內容包括圖片、標題、內容、相關資料下載。
追溯:掃描或輸入二維碼,快速查詢履歷及養殖信息。
追溯-追溯詳細:查看產品基本信息,并以頁簽方式顯示農事記錄、銷售記錄等信息。
2.3系統服務端
本文中服務器端基于Java語言進行開發, 采用Eclipse作為開發工具、SQL Server 2008作為數據庫、Tomcat 7.0作為web服務器。系統服務器端的作用是為實現客戶端界面的各項功能提供接口,根據客戶端發送過來的請求執行相關業務流程(如增加、刪除、修改,查詢等)并返回結果。因此可采用Web Service的方式提供一系列通過Web鏈接進行調用的API接口。在服務器端,使用Java語言定義接口SEI(service endpoint interface)并提供相關的實現,通過調用JAX-WS的服務發布接口就可以將其發布為Web Service接口。在客戶端,用戶可以通過JAX-WS的API創建一個代理(用本地對象來替代遠程的服務)來實現對于遠程服務器端的調用。
3系統實現
3.1服務器端功能的實現
3.1.1Web Service的實現
本文中采用Apache CXF并集成Spring 作為開發Web 服務的框架,登陸Apache網站下載相應的jar包,開發要點如下:
1.新建一個“Web Service Project”,命名為“BreedWS”,在web.xml文件中集成Spring并配置Servlet。
3.1.3視頻控制模塊的實現
在養殖場區域內安裝網絡攝像機,選擇一臺服務器用來搭建由網絡攝像機廠商提供的視頻監控服務平臺。采用JAVA代碼訪問平臺IP,調用平臺提供的視頻控制接口實現對網絡攝像機的遠程操作。
3.2客戶端功能的實現
3.2.1Andriod開發環境的搭建
搭建Andriod客戶端的開發環境,步驟如下:
1.安裝JDK配置java環境;
2.下載Eclipse開發工具并安裝ADT(Andriod Development Tools)插件;
3.下載Andriod SDK包,并在安裝了ADT的Eclipse環境上配置Andriod SDK的路徑;
4.最后,在Eclipse工具下新建一個Andriod虛擬設備,構建Android運行的仿真器環境。
環境配置好之后即可在Eclipse的ADT環境下新建一個“Andriod Project”,逐步實現頁面布局和各項功能。
3.2.2客戶端數據庫的實現
SQLite是一款輕量級數據庫,在嵌入式設備中,占用的資源非常少可能只需要幾百KB。Android 在運行時(runtime)集成了 SQLite, 每個 Android 應用程序都可以使用 SQLite 數據庫。通過繼承 SQLiteOpenHelper 類創建數據庫,調用 getReadableDatabase() 或 getWriteableDatabase() 方法得到 SQLiteDatabase 實例進行創建表、插入數據、刪除表等數據庫操作。
3.2.3客戶端調用服務器端Web服務的實現
手機的Web Service客戶端比較常用 的SDK有 Ksoap2,下載相應的JAR包同時在Andriod工程中引用這個JAR包。手機端調用Web Service的步驟如下:
1.實例化SoapObject 對象,指定Web Service的命名空間和調用方法,如果調用的方法有參數,則需要給參數賦值;
2.獲得序列化的SoapSerializationEnvelope,設置SOAP請求信息(第一步中的SoapObject對象),并注冊該Envelope;
3.構建傳輸對象AndroidHttpTransport,指定調用的WSDL文檔URL;
4.通過傳輸對象調用web service方法,指定命名空間、方法名稱、Envelope對象;
5.解析返回的數據并運用到手機客戶端。
3.2.4客戶端頁面的設計
登入養殖管理助手頁面之前需要設置服務器鏈接地址,如下圖2所示。
4結束語
本文研究的基于Andriod智能終端的養殖管理助手解決了以往信息化辦公所必須遵循的地域、場所限制,提高了養殖生產信息的采集效率,實現了對養殖場的實時監測,擴大了產品追溯體系的覆蓋面。由此可以看出,智能終端在養殖業信息化建設中可以發揮重要作用,對推動互聯網+農業的體系建設、豐富農業互聯網管理服務模式產生積極影響。
參考文獻
[1]顧玲艷, 李鵬, 許永斌.畜牧業互聯網+戰略實施現狀與建議 [J].中國畜牧雜志, 2015, 51(22):15-19.
[2]李越.基于Android的地質災害野外調查信息采集系統的設計及實現[D].昆明:云南大學, 2015.
[3]張佳,和迎.基于Andriod系統的思政課程移動教學系統設計 [J]. 網絡與信息工程, 2015(1):110-112.
[4]李如平, 徐珍玉.基于ASP.NET和移動andriod平臺的物聯網系統 [J]. 佳木斯大學學報:自然科學版, 2015, 33(5):710-714.
[5]仇明.Andriod技術在遠程健康監護系統中的應用[J]. 江蘇科技信息, 2015(27):65-66.
[6]馬常霞,王文明,張占強,等.基于安卓的閘站智能調度系統的研發 [J] .淮海工學院學報:自然科學版, 2015, 24(4):17-21.
[7]姜建華,張廣云.一種基于Andriod的氣息服務系統 [J].計算機與現代化, 2015 (10):69-72.
[8]郭奇志,陳光,任卓君,等.基于Andriod智能手機的實驗室管理系統 [J].計算機與現代化, 2015 (10):73-76.
[9]張穎. Web Services在ERP系統中的應用研究 [J]. 信息技術與信息化, 2015 (12):124-127.
[10]張胤,尹長青. 基于Web服務的醫療自助服務系統的設計與實現 [J]. 電腦知識與技術, 2015,11(32):69-71.
[11]劉菲,郝風杰.云計算環境下Web服務集成系統的研究[J].計算機科學, 2015,42(11A):417-421.
[12]朱威. Android開發環境中的SQLite性能優化 [J]. 湖南郵電職業技術學院學報, 2015,14(1):41-43.
[13]劉仕華. 基于Android的SQLite數據庫操作管理 [J]. 信息化建設, 2015 (9):252-252.