• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android智能手機(jī)的戶用沼氣池管理系統(tǒng)

      2014-08-12 08:45:17葉小嶺趙二擺朱春陽
      江蘇農(nóng)業(yè)科學(xué) 2014年6期
      關(guān)鍵詞:管理系統(tǒng)

      葉小嶺+趙二擺+朱春陽

      摘要:為了提高農(nóng)村戶用沼氣池的運(yùn)行效率,設(shè)計(jì)了一種基于手機(jī)平臺(tái)的戶用沼氣池實(shí)時(shí)監(jiān)控管理系統(tǒng)。系統(tǒng)結(jié)合GPRS、WEB服務(wù)器及數(shù)據(jù)庫技術(shù),對(duì)沼氣池進(jìn)行監(jiān)控管理。用戶通過Android手機(jī)客戶端軟件進(jìn)行注冊(cè)、登錄,查看對(duì)應(yīng)沼氣池實(shí)時(shí)運(yùn)行狀態(tài)、歷史數(shù)據(jù)曲線及服務(wù)器給出的管理意見,還可就一些具體問題與服務(wù)器進(jìn)行交互,有效提高沼氣池的運(yùn)行效率及安全性。

      關(guān)鍵詞:戶用沼氣池;WEB;Android智能手機(jī);管理系統(tǒng)

      中圖分類號(hào): S216.4;TP274文獻(xiàn)標(biāo)志碼: A文章編號(hào):1002-1302(2014)06-0358-03

      收稿日期:2013-09-07

      基金項(xiàng)目:江蘇省農(nóng)業(yè)科技自主創(chuàng)新資金[編號(hào):CX(12)3050];江蘇省六大人才高峰項(xiàng)目(編號(hào):WLW-021)。

      作者簡(jiǎn)介:葉小嶺(1964—),女,河南封丘人,教授,碩士生導(dǎo)師,主要從事檢測(cè)技術(shù)等研究,E-mial:xyz.nim@163.com。

      通信作者:趙二擺。E-mail:zhaoerbai200@163.com。作為人口大國(guó),能源短缺,人均資源不足已成為制約我國(guó)可持續(xù)發(fā)展的重要因素。沼氣作為一種可再生能源,不僅是農(nóng)村新能源建設(shè)至關(guān)重要的組成部分,也是中國(guó)可持續(xù)發(fā)展建設(shè)的重要一環(huán)。發(fā)展農(nóng)村沼氣可以避免因?yàn)榉贌斩捲斐傻目諝馕廴?,減少化石能源的消耗,降低對(duì)環(huán)境的壓力,改善農(nóng)民的生存條件和生活質(zhì)量,而且在一定程度上促進(jìn)了當(dāng)?shù)禺a(chǎn)業(yè)的發(fā)展[1]。然而沼氣的正常使用需要“三分建七分管”,很多地區(qū)重視建設(shè),忽視維護(hù)管理,導(dǎo)致許多沼氣池運(yùn)行不佳甚至廢棄。

      隨著移動(dòng)通訊產(chǎn)業(yè)的迅速發(fā)展,智能手機(jī)和3G網(wǎng)絡(luò)得到快速的發(fā)展和普及,預(yù)計(jì)2013年底,中國(guó)智能手機(jī)用戶可達(dá)5×108,其中Android操作系統(tǒng)的安裝量占51.4%[2]。此外Android智能手機(jī)操作系統(tǒng)開放性好、功能擴(kuò)展性強(qiáng),能很好地支持應(yīng)用程序開發(fā)。

      基于以上分析,并結(jié)合GPRS、WEB服務(wù)器及數(shù)據(jù)庫技術(shù)設(shè)計(jì)了一種基于Android手機(jī)平臺(tái)的農(nóng)村沼氣管理系統(tǒng)。系統(tǒng)通過GPRS將沼氣池的狀態(tài)信息發(fā)送至統(tǒng)一的WEB服務(wù)器進(jìn)行集中管理,用戶可通過Android手機(jī)客戶端軟件進(jìn)行用戶注冊(cè)、登錄,登錄后即可查看自家沼氣池實(shí)時(shí)運(yùn)行狀態(tài)、歷史數(shù)據(jù)以及服務(wù)器給出的管理意見,還可以就一些實(shí)際問題與服務(wù)器進(jìn)行交互,獲得專家意見。以此提高戶用沼氣池的運(yùn)行效率,普及戶用沼氣使用,減少化石能源消耗,改善民生,推動(dòng)社會(huì)的可持續(xù)發(fā)展。

      1系統(tǒng)框架設(shè)計(jì)

      系統(tǒng)主要由數(shù)據(jù)采集器、GPRS傳輸模塊、WEB服務(wù)器、基本數(shù)據(jù)庫、無線網(wǎng)絡(luò)以及手機(jī)客戶端,結(jié)構(gòu)圖如圖1所示。

      數(shù)據(jù)采集裝置采集沼氣池狀態(tài)信息,并通過GPRS傳輸模塊及無線網(wǎng)絡(luò)上傳到服務(wù)器,服務(wù)器端軟件進(jìn)行相應(yīng)的信

      息處理和數(shù)據(jù)庫存取操作,此外,服務(wù)器端還與手機(jī)客戶端進(jìn)行信息的交互,響應(yīng)手機(jī)信息請(qǐng)求。

      1.1數(shù)據(jù)采集及GPRS傳輸模塊

      甲烷的生產(chǎn)過程實(shí)際上是一個(gè)厭氧發(fā)酵的過程。厭氧發(fā)酵過程是一個(gè)很不穩(wěn)定的過程,為了提高沼氣產(chǎn)出,同時(shí)保證一個(gè)穩(wěn)定發(fā)酵過程,就需要對(duì)沼氣池發(fā)酵條件進(jìn)行過程控制,以優(yōu)化進(jìn)料以及發(fā)酵條件[3]。針對(duì)戶用沼氣池的特點(diǎn),數(shù)據(jù)采集器設(shè)計(jì)用來采集沼氣池內(nèi)的運(yùn)行信息(沼液溫度、池內(nèi)氣壓、沼液pH值及甲烷含量)。

      數(shù)據(jù)采集及GPRS傳輸模塊主要由msp430F149單片機(jī)、各種傳感器、A/D轉(zhuǎn)換電路、GPRS通信模塊及外圍電路(時(shí)鐘電路、Flash存儲(chǔ)、電源電路等)組成,框架圖如圖2所示。

      傳感器采集到沼氣池的信息,先經(jīng)過信號(hào)調(diào)理電路,然后經(jīng)12位A/D芯片ADS7834轉(zhuǎn)換后送至msp430F149,單片機(jī)將采集到的信息存儲(chǔ)至Flash芯片AT45DB32,單片機(jī)使用串口將沼氣池ID與采集到的數(shù)據(jù)送至GPRS通訊模塊。GPRS通訊采用工業(yè)級(jí)無線模塊WG-8010-232 GPRS DTU,模塊支持GSM、GPRS等多種連接方式,TCP、UDP通訊協(xié)議,提供標(biāo)準(zhǔn)RS232數(shù)據(jù)接口,模塊可采用常見5 V電源供電。設(shè)置模塊串口波特率為9 600、通信方式為TCP、數(shù)據(jù)中心IP地址等后,即可使用RS232與單片機(jī)控制模塊通信,通過GPRS與數(shù)據(jù)中心,從而實(shí)現(xiàn)沼氣池信息從設(shè)備到服務(wù)器的全透明傳輸。

      1.2數(shù)據(jù)庫與服務(wù)器設(shè)計(jì)

      服務(wù)器通過數(shù)據(jù)采集器和數(shù)據(jù)庫的信息交互,將沼氣池信息存儲(chǔ)到數(shù)據(jù)庫中,并可將數(shù)據(jù)庫中信息取出通過C/S架構(gòu)實(shí)時(shí)響應(yīng)手機(jī)客戶端的信息請(qǐng)求。

      服務(wù)器采用支持Servlet且可方便地部署Java Web應(yīng)用的Tomcat服務(wù)器[4]。服務(wù)器中部署所需要的Servlet類,用于實(shí)現(xiàn)客戶端的注冊(cè)、登錄、數(shù)據(jù)接收存儲(chǔ)以及響應(yīng)客戶端請(qǐng)求。服務(wù)器與客戶端通信采用Http通信協(xié)議的post方法。部署服務(wù)器時(shí),繼承HttpServlet類,在類中采用覆蓋HttpServlet的doGet()方法,然后通過HttpServletRequest對(duì)象獲取客戶端的請(qǐng)求信息,由HttpServletResponse對(duì)象生成響應(yīng)結(jié)果并將之送給客戶端。服務(wù)器端的Servlet程序完成后,在web.xml文件中進(jìn)行屬性配置,即可通過8080端口連接已部署的服務(wù)器[5]。

      系統(tǒng)采用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL,服務(wù)器利用JDBC(Java數(shù)據(jù)庫連接)建立數(shù)據(jù)庫連接,執(zhí)行SQL語句,對(duì)數(shù)據(jù)進(jìn)行處理[4]。在服務(wù)器端將mysql-connector-java-50.7-bin.jar文件放到Java安裝目錄中,并修改環(huán)境變量。Servlet程序中的主要步驟:

      Class.forName(“com.mysql.jdbc.Driver”);//加載驅(qū)動(dòng)

      Connection conn=DriverManager.getConnection(url,user,password);//連接數(shù)據(jù)庫

      然后通過實(shí)例化的Statement對(duì)象對(duì)數(shù)據(jù)庫執(zhí)行相應(yīng)的更新和查詢等操作,將取得的數(shù)據(jù)存放到ResultSet對(duì)象中,最后將請(qǐng)求的數(shù)據(jù)發(fā)送至客戶端。

      2客戶端設(shè)計(jì)

      客戶端是基于Android 2.2版本(API LEVEL 8),在搭建的Android SDK+Java JDK 6+Eclipse 4.2 的環(huán)境中進(jìn)行開發(fā)??蛻舳酥饕δ苁怯脩糇?cè)、登錄、在線實(shí)時(shí)監(jiān)控、歷史數(shù)據(jù)顯示以及獲取服務(wù)器參考意見5模塊,如圖3所示。根據(jù)需要客戶端創(chuàng)建了5個(gè)Activity,使用layout文件夾下的5個(gè)xml文件實(shí)現(xiàn)UI(用戶界面)的設(shè)計(jì)。

      2.1登錄模塊

      客戶端開啟后的首個(gè)界面,用戶可在本頁面輸入用戶名和登錄密碼,點(diǎn)擊登錄按鈕即可將用戶信息發(fā)送至服務(wù)器,采用http post網(wǎng)絡(luò)通信方式,通過驗(yàn)證即可跳轉(zhuǎn)至監(jiān)控頁面,否則使用Toast方法提示錯(cuò)誤信息。頁面還提供2個(gè)CheckBox用來選擇是否記住用戶名和密碼,采用SharedPreferences方法將用戶信息保存到本地,方便下次登錄,登錄界面如圖4所示。模塊關(guān)鍵代碼如下:

      HttpPost request=new HttpPost(urlStr_login);//request繼承HttpPost方法

      HttpResponse response=client.execute(request);//執(zhí)行請(qǐng)求返回響應(yīng)

      editor.putString(“nameIsChecked”,“1”+“,”+username);//將信息存儲(chǔ)到本地

      sp=getSharedPreferences(“sp_user”,Context . MODE_PRIVATE); //將本地信息取出

      2.2注冊(cè)模塊

      首次登錄需要注冊(cè),通過登錄界面里的注冊(cè)按鈕跳轉(zhuǎn)到注冊(cè)界面。在注冊(cè)界面,用戶可根據(jù)提示輸入用戶名、賬號(hào)密碼及相應(yīng)沼氣池編號(hào),客戶端將信息發(fā)送至服務(wù)器進(jìn)行注冊(cè)保存。

      2.3實(shí)時(shí)監(jiān)控

      監(jiān)控界面實(shí)時(shí)顯示沼氣池運(yùn)行參數(shù)。為防止UI主線程堵塞和界面假死,可通過實(shí)現(xiàn)Runnable接口,覆寫接口的run()方法,并實(shí)例化Thread類來創(chuàng)建子線程,讓子線程定時(shí)向服務(wù)器請(qǐng)求數(shù)據(jù),取得數(shù)據(jù)后使用SendMessage()方法向Handler傳送Message對(duì)象[6]。Handler接收消息后配合主線程更新UI,從而實(shí)現(xiàn)沼氣池運(yùn)行信息的實(shí)時(shí)顯示。此外,系統(tǒng)采用json數(shù)據(jù)交換格式,程序中引入org.json包,即可使用getJSONObject()將服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)換成JSONObject對(duì)象,并使用JSONObject.getString()方法將其轉(zhuǎn)換成可方便處理的字符串類型數(shù)據(jù)。

      2.4歷史數(shù)據(jù)顯示

      用沼氣產(chǎn)量與主要關(guān)聯(lián)參數(shù)的歷史數(shù)據(jù)變化曲線顯示歷史數(shù)據(jù),從而直觀地獲得沼氣產(chǎn)量變化情況,有利于用戶更好地管理沼氣池。模塊獲得數(shù)據(jù)方式與實(shí)時(shí)監(jiān)控模塊相同,并引入Canvas與Paint類參與繪制坐標(biāo)軸及數(shù)據(jù)變化曲線。首先在Activity中自定義一個(gè)繼承View的PathView類,在類中實(shí)例化3個(gè)Paint對(duì)象,設(shè)置其各自屬性來區(qū)分不同參數(shù)的變化情況。然后在類中使用canvas.getWidth()和canvas.getHeight()函數(shù)獲得Canvas的寬度和高度,Android的 Canvas以左上角點(diǎn)為坐標(biāo)原點(diǎn),由此可方便的計(jì)算出畫筆的起始點(diǎn)和終點(diǎn),最后應(yīng)用覆寫onDraw()方法,并在方法中調(diào)用 drawLine()、drawCircle()和drawText()等方法實(shí)現(xiàn)歷史曲線的繪制。

      2.5獲得參考意見

      當(dāng)沼氣池運(yùn)行出現(xiàn)問題時(shí),用戶可在客戶端中簡(jiǎn)要描述故障現(xiàn)象,并上傳到服務(wù)器,然后通過數(shù)據(jù)庫快速匹配方法給出專家的經(jīng)驗(yàn)處方。模塊主要是采用Httppost()方法將故障現(xiàn)象發(fā)送給服務(wù)器并取得反饋信息。

      客戶端程序完成后還需修改根目錄下的AndroidManifest.xml文件,在文件中注冊(cè)新添加的Activity和開啟程序所用到的權(quán)限。主要代碼如下:

      //注冊(cè)RegisterActivity

      //設(shè)置網(wǎng)絡(luò)權(quán)限

      //SD卡寫權(quán)限

      //SD卡創(chuàng)建、刪除文件權(quán)限

      3系統(tǒng)功能測(cè)試

      在Eclipse中右擊工程導(dǎo)出客戶端apk(Android安裝包),安裝到Android版本為2.2及以上的智能手機(jī)。數(shù)據(jù)中心開啟服務(wù)器和數(shù)據(jù)庫服務(wù),數(shù)據(jù)采集端開啟信息采集和GPRS DTU,手機(jī)端開啟客戶端,完成注冊(cè),然后進(jìn)入登錄界面,點(diǎn)擊登錄按鈕進(jìn)入實(shí)時(shí)監(jiān)控界面并刷新數(shù)據(jù)顯示沼氣池運(yùn)行狀態(tài),如圖5所示,然后分別進(jìn)入歷史曲線和獲得參考意見界面,如圖6、7所示。經(jīng)測(cè)試,系統(tǒng)運(yùn)行正常,性能穩(wěn)定,達(dá)到了預(yù)期的目標(biāo)。

      參考文獻(xiàn):

      [1]王飛,蔡亞慶,仇煥廣. 中國(guó)沼氣發(fā)展的現(xiàn)狀、驅(qū)動(dòng)及制約因素分析[J]. 農(nóng)業(yè)工程學(xué)報(bào),2012,28(1):184-189.

      [2]互聯(lián)網(wǎng)消費(fèi)調(diào)研中心.2012年第三季度中國(guó)手機(jī)市場(chǎng)研究報(bào)告[R]. 北京:IDC,2012.

      [3]林聰. 沼氣技術(shù)理論與工程[M]. 北京:化學(xué)工業(yè)出版社,2007:45-48.

      [4]孫衛(wèi)琴. Tomcat與Java Web開發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2009:156-159.

      [5]吳吉義,王中友. MySQL原理與Web系統(tǒng)開發(fā)[M]. 北京:清華大學(xué)出版社,2009:256-257.

      [6]姜凡. 基于Android的網(wǎng)絡(luò)化遙控器系統(tǒng)的研究與實(shí)現(xiàn)[D]. 武漢:武漢理工大學(xué),2010:

      然后通過實(shí)例化的Statement對(duì)象對(duì)數(shù)據(jù)庫執(zhí)行相應(yīng)的更新和查詢等操作,將取得的數(shù)據(jù)存放到ResultSet對(duì)象中,最后將請(qǐng)求的數(shù)據(jù)發(fā)送至客戶端。

      2客戶端設(shè)計(jì)

      客戶端是基于Android 2.2版本(API LEVEL 8),在搭建的Android SDK+Java JDK 6+Eclipse 4.2 的環(huán)境中進(jìn)行開發(fā)??蛻舳酥饕δ苁怯脩糇?cè)、登錄、在線實(shí)時(shí)監(jiān)控、歷史數(shù)據(jù)顯示以及獲取服務(wù)器參考意見5模塊,如圖3所示。根據(jù)需要客戶端創(chuàng)建了5個(gè)Activity,使用layout文件夾下的5個(gè)xml文件實(shí)現(xiàn)UI(用戶界面)的設(shè)計(jì)。

      2.1登錄模塊

      客戶端開啟后的首個(gè)界面,用戶可在本頁面輸入用戶名和登錄密碼,點(diǎn)擊登錄按鈕即可將用戶信息發(fā)送至服務(wù)器,采用http post網(wǎng)絡(luò)通信方式,通過驗(yàn)證即可跳轉(zhuǎn)至監(jiān)控頁面,否則使用Toast方法提示錯(cuò)誤信息。頁面還提供2個(gè)CheckBox用來選擇是否記住用戶名和密碼,采用SharedPreferences方法將用戶信息保存到本地,方便下次登錄,登錄界面如圖4所示。模塊關(guān)鍵代碼如下:

      HttpPost request=new HttpPost(urlStr_login);//request繼承HttpPost方法

      HttpResponse response=client.execute(request);//執(zhí)行請(qǐng)求返回響應(yīng)

      editor.putString(“nameIsChecked”,“1”+“,”+username);//將信息存儲(chǔ)到本地

      sp=getSharedPreferences(“sp_user”,Context . MODE_PRIVATE); //將本地信息取出

      2.2注冊(cè)模塊

      首次登錄需要注冊(cè),通過登錄界面里的注冊(cè)按鈕跳轉(zhuǎn)到注冊(cè)界面。在注冊(cè)界面,用戶可根據(jù)提示輸入用戶名、賬號(hào)密碼及相應(yīng)沼氣池編號(hào),客戶端將信息發(fā)送至服務(wù)器進(jìn)行注冊(cè)保存。

      2.3實(shí)時(shí)監(jiān)控

      監(jiān)控界面實(shí)時(shí)顯示沼氣池運(yùn)行參數(shù)。為防止UI主線程堵塞和界面假死,可通過實(shí)現(xiàn)Runnable接口,覆寫接口的run()方法,并實(shí)例化Thread類來創(chuàng)建子線程,讓子線程定時(shí)向服務(wù)器請(qǐng)求數(shù)據(jù),取得數(shù)據(jù)后使用SendMessage()方法向Handler傳送Message對(duì)象[6]。Handler接收消息后配合主線程更新UI,從而實(shí)現(xiàn)沼氣池運(yùn)行信息的實(shí)時(shí)顯示。此外,系統(tǒng)采用json數(shù)據(jù)交換格式,程序中引入org.json包,即可使用getJSONObject()將服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)換成JSONObject對(duì)象,并使用JSONObject.getString()方法將其轉(zhuǎn)換成可方便處理的字符串類型數(shù)據(jù)。

      2.4歷史數(shù)據(jù)顯示

      用沼氣產(chǎn)量與主要關(guān)聯(lián)參數(shù)的歷史數(shù)據(jù)變化曲線顯示歷史數(shù)據(jù),從而直觀地獲得沼氣產(chǎn)量變化情況,有利于用戶更好地管理沼氣池。模塊獲得數(shù)據(jù)方式與實(shí)時(shí)監(jiān)控模塊相同,并引入Canvas與Paint類參與繪制坐標(biāo)軸及數(shù)據(jù)變化曲線。首先在Activity中自定義一個(gè)繼承View的PathView類,在類中實(shí)例化3個(gè)Paint對(duì)象,設(shè)置其各自屬性來區(qū)分不同參數(shù)的變化情況。然后在類中使用canvas.getWidth()和canvas.getHeight()函數(shù)獲得Canvas的寬度和高度,Android的 Canvas以左上角點(diǎn)為坐標(biāo)原點(diǎn),由此可方便的計(jì)算出畫筆的起始點(diǎn)和終點(diǎn),最后應(yīng)用覆寫onDraw()方法,并在方法中調(diào)用 drawLine()、drawCircle()和drawText()等方法實(shí)現(xiàn)歷史曲線的繪制。

      2.5獲得參考意見

      當(dāng)沼氣池運(yùn)行出現(xiàn)問題時(shí),用戶可在客戶端中簡(jiǎn)要描述故障現(xiàn)象,并上傳到服務(wù)器,然后通過數(shù)據(jù)庫快速匹配方法給出專家的經(jīng)驗(yàn)處方。模塊主要是采用Httppost()方法將故障現(xiàn)象發(fā)送給服務(wù)器并取得反饋信息。

      客戶端程序完成后還需修改根目錄下的AndroidManifest.xml文件,在文件中注冊(cè)新添加的Activity和開啟程序所用到的權(quán)限。主要代碼如下:

      //注冊(cè)RegisterActivity

      //設(shè)置網(wǎng)絡(luò)權(quán)限

      //SD卡寫權(quán)限

      //SD卡創(chuàng)建、刪除文件權(quán)限

      3系統(tǒng)功能測(cè)試

      在Eclipse中右擊工程導(dǎo)出客戶端apk(Android安裝包),安裝到Android版本為2.2及以上的智能手機(jī)。數(shù)據(jù)中心開啟服務(wù)器和數(shù)據(jù)庫服務(wù),數(shù)據(jù)采集端開啟信息采集和GPRS DTU,手機(jī)端開啟客戶端,完成注冊(cè),然后進(jìn)入登錄界面,點(diǎn)擊登錄按鈕進(jìn)入實(shí)時(shí)監(jiān)控界面并刷新數(shù)據(jù)顯示沼氣池運(yùn)行狀態(tài),如圖5所示,然后分別進(jìn)入歷史曲線和獲得參考意見界面,如圖6、7所示。經(jīng)測(cè)試,系統(tǒng)運(yùn)行正常,性能穩(wěn)定,達(dá)到了預(yù)期的目標(biāo)。

      參考文獻(xiàn):

      [1]王飛,蔡亞慶,仇煥廣. 中國(guó)沼氣發(fā)展的現(xiàn)狀、驅(qū)動(dòng)及制約因素分析[J]. 農(nóng)業(yè)工程學(xué)報(bào),2012,28(1):184-189.

      [2]互聯(lián)網(wǎng)消費(fèi)調(diào)研中心.2012年第三季度中國(guó)手機(jī)市場(chǎng)研究報(bào)告[R]. 北京:IDC,2012.

      [3]林聰. 沼氣技術(shù)理論與工程[M]. 北京:化學(xué)工業(yè)出版社,2007:45-48.

      [4]孫衛(wèi)琴. Tomcat與Java Web開發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2009:156-159.

      [5]吳吉義,王中友. MySQL原理與Web系統(tǒng)開發(fā)[M]. 北京:清華大學(xué)出版社,2009:256-257.

      [6]姜凡. 基于Android的網(wǎng)絡(luò)化遙控器系統(tǒng)的研究與實(shí)現(xiàn)[D]. 武漢:武漢理工大學(xué),2010:

      然后通過實(shí)例化的Statement對(duì)象對(duì)數(shù)據(jù)庫執(zhí)行相應(yīng)的更新和查詢等操作,將取得的數(shù)據(jù)存放到ResultSet對(duì)象中,最后將請(qǐng)求的數(shù)據(jù)發(fā)送至客戶端。

      2客戶端設(shè)計(jì)

      客戶端是基于Android 2.2版本(API LEVEL 8),在搭建的Android SDK+Java JDK 6+Eclipse 4.2 的環(huán)境中進(jìn)行開發(fā)??蛻舳酥饕δ苁怯脩糇?cè)、登錄、在線實(shí)時(shí)監(jiān)控、歷史數(shù)據(jù)顯示以及獲取服務(wù)器參考意見5模塊,如圖3所示。根據(jù)需要客戶端創(chuàng)建了5個(gè)Activity,使用layout文件夾下的5個(gè)xml文件實(shí)現(xiàn)UI(用戶界面)的設(shè)計(jì)。

      2.1登錄模塊

      客戶端開啟后的首個(gè)界面,用戶可在本頁面輸入用戶名和登錄密碼,點(diǎn)擊登錄按鈕即可將用戶信息發(fā)送至服務(wù)器,采用http post網(wǎng)絡(luò)通信方式,通過驗(yàn)證即可跳轉(zhuǎn)至監(jiān)控頁面,否則使用Toast方法提示錯(cuò)誤信息。頁面還提供2個(gè)CheckBox用來選擇是否記住用戶名和密碼,采用SharedPreferences方法將用戶信息保存到本地,方便下次登錄,登錄界面如圖4所示。模塊關(guān)鍵代碼如下:

      HttpPost request=new HttpPost(urlStr_login);//request繼承HttpPost方法

      HttpResponse response=client.execute(request);//執(zhí)行請(qǐng)求返回響應(yīng)

      editor.putString(“nameIsChecked”,“1”+“,”+username);//將信息存儲(chǔ)到本地

      sp=getSharedPreferences(“sp_user”,Context . MODE_PRIVATE); //將本地信息取出

      2.2注冊(cè)模塊

      首次登錄需要注冊(cè),通過登錄界面里的注冊(cè)按鈕跳轉(zhuǎn)到注冊(cè)界面。在注冊(cè)界面,用戶可根據(jù)提示輸入用戶名、賬號(hào)密碼及相應(yīng)沼氣池編號(hào),客戶端將信息發(fā)送至服務(wù)器進(jìn)行注冊(cè)保存。

      2.3實(shí)時(shí)監(jiān)控

      監(jiān)控界面實(shí)時(shí)顯示沼氣池運(yùn)行參數(shù)。為防止UI主線程堵塞和界面假死,可通過實(shí)現(xiàn)Runnable接口,覆寫接口的run()方法,并實(shí)例化Thread類來創(chuàng)建子線程,讓子線程定時(shí)向服務(wù)器請(qǐng)求數(shù)據(jù),取得數(shù)據(jù)后使用SendMessage()方法向Handler傳送Message對(duì)象[6]。Handler接收消息后配合主線程更新UI,從而實(shí)現(xiàn)沼氣池運(yùn)行信息的實(shí)時(shí)顯示。此外,系統(tǒng)采用json數(shù)據(jù)交換格式,程序中引入org.json包,即可使用getJSONObject()將服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)換成JSONObject對(duì)象,并使用JSONObject.getString()方法將其轉(zhuǎn)換成可方便處理的字符串類型數(shù)據(jù)。

      2.4歷史數(shù)據(jù)顯示

      用沼氣產(chǎn)量與主要關(guān)聯(lián)參數(shù)的歷史數(shù)據(jù)變化曲線顯示歷史數(shù)據(jù),從而直觀地獲得沼氣產(chǎn)量變化情況,有利于用戶更好地管理沼氣池。模塊獲得數(shù)據(jù)方式與實(shí)時(shí)監(jiān)控模塊相同,并引入Canvas與Paint類參與繪制坐標(biāo)軸及數(shù)據(jù)變化曲線。首先在Activity中自定義一個(gè)繼承View的PathView類,在類中實(shí)例化3個(gè)Paint對(duì)象,設(shè)置其各自屬性來區(qū)分不同參數(shù)的變化情況。然后在類中使用canvas.getWidth()和canvas.getHeight()函數(shù)獲得Canvas的寬度和高度,Android的 Canvas以左上角點(diǎn)為坐標(biāo)原點(diǎn),由此可方便的計(jì)算出畫筆的起始點(diǎn)和終點(diǎn),最后應(yīng)用覆寫onDraw()方法,并在方法中調(diào)用 drawLine()、drawCircle()和drawText()等方法實(shí)現(xiàn)歷史曲線的繪制。

      2.5獲得參考意見

      當(dāng)沼氣池運(yùn)行出現(xiàn)問題時(shí),用戶可在客戶端中簡(jiǎn)要描述故障現(xiàn)象,并上傳到服務(wù)器,然后通過數(shù)據(jù)庫快速匹配方法給出專家的經(jīng)驗(yàn)處方。模塊主要是采用Httppost()方法將故障現(xiàn)象發(fā)送給服務(wù)器并取得反饋信息。

      客戶端程序完成后還需修改根目錄下的AndroidManifest.xml文件,在文件中注冊(cè)新添加的Activity和開啟程序所用到的權(quán)限。主要代碼如下:

      //注冊(cè)RegisterActivity

      //設(shè)置網(wǎng)絡(luò)權(quán)限

      //SD卡寫權(quán)限

      //SD卡創(chuàng)建、刪除文件權(quán)限

      3系統(tǒng)功能測(cè)試

      在Eclipse中右擊工程導(dǎo)出客戶端apk(Android安裝包),安裝到Android版本為2.2及以上的智能手機(jī)。數(shù)據(jù)中心開啟服務(wù)器和數(shù)據(jù)庫服務(wù),數(shù)據(jù)采集端開啟信息采集和GPRS DTU,手機(jī)端開啟客戶端,完成注冊(cè),然后進(jìn)入登錄界面,點(diǎn)擊登錄按鈕進(jìn)入實(shí)時(shí)監(jiān)控界面并刷新數(shù)據(jù)顯示沼氣池運(yùn)行狀態(tài),如圖5所示,然后分別進(jìn)入歷史曲線和獲得參考意見界面,如圖6、7所示。經(jīng)測(cè)試,系統(tǒng)運(yùn)行正常,性能穩(wěn)定,達(dá)到了預(yù)期的目標(biāo)。

      參考文獻(xiàn):

      [1]王飛,蔡亞慶,仇煥廣. 中國(guó)沼氣發(fā)展的現(xiàn)狀、驅(qū)動(dòng)及制約因素分析[J]. 農(nóng)業(yè)工程學(xué)報(bào),2012,28(1):184-189.

      [2]互聯(lián)網(wǎng)消費(fèi)調(diào)研中心.2012年第三季度中國(guó)手機(jī)市場(chǎng)研究報(bào)告[R]. 北京:IDC,2012.

      [3]林聰. 沼氣技術(shù)理論與工程[M]. 北京:化學(xué)工業(yè)出版社,2007:45-48.

      [4]孫衛(wèi)琴. Tomcat與Java Web開發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2009:156-159.

      [5]吳吉義,王中友. MySQL原理與Web系統(tǒng)開發(fā)[M]. 北京:清華大學(xué)出版社,2009:256-257.

      [6]姜凡. 基于Android的網(wǎng)絡(luò)化遙控器系統(tǒng)的研究與實(shí)現(xiàn)[D]. 武漢:武漢理工大學(xué),2010:

      猜你喜歡
      管理系統(tǒng)
      基于James的院內(nèi)郵件管理系統(tǒng)的實(shí)現(xiàn)
      基于Excel固定資產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      聯(lián)調(diào)聯(lián)試管理系統(tǒng)的研究及實(shí)現(xiàn)
      基于LED聯(lián)動(dòng)顯示的違停管理系統(tǒng)
      停車場(chǎng)尋車管理系統(tǒng)
      電子制作(2018年9期)2018-08-04 03:31:18
      生產(chǎn)管理系統(tǒng)概述
      船舶壓載水管理系統(tǒng)
      海盾壓載水管理系統(tǒng)
      基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      一種基于Web新型校園門禁管理系統(tǒng)
      辉县市| 麻城市| 宜宾县| 湾仔区| 河北省| 漾濞| 土默特左旗| 清新县| 平和县| 惠水县| 伽师县| 富蕴县| 石家庄市| 黑水县| 洪雅县| 资阳市| 都匀市| 莆田市| 开封市| 贺州市| 渭南市| 安宁市| 南漳县| 桂东县| 资阳市| 彩票| 黔西县| 新安县| 监利县| 通许县| 丹凤县| 光山县| 芜湖县| 新营市| 松滋市| 勐海县| 建昌县| 会理县| 奉化市| 双柏县| 宁城县|