999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android開發技術在無人值守遙測站中的應用研究

2016-01-26 10:15:54于興晗侯煜蓋優普郭易
單片機與嵌入式系統應用 2015年12期

于興晗,侯煜,蓋優普,郭易

(中國水利水電科學研究院,北京 100044)

?

于興晗,侯煜,蓋優普,郭易

(中國水利水電科學研究院,北京 100044)

摘要:Android是一種基于Linux的開放源代碼的操作系統,主要用于移動設備,由Google公司和開放手機聯盟領導及開發。通過實例,詳細描述Android開發技術在新型無人值守遙測站上的應用研究。對于其中的關鍵實現技術,給出了Java源代碼。通過研究,實現了一個可以在裝有Android系統的無人值守遙測站上運行的App。

關鍵詞:Android;無人值守遙測站;App;Java

引言

自2008年10月,第一部Android智能手機發布以來,Android系統逐漸擴展到平板電腦及其他很多領域,如電視、數碼相機、游戲機等。目前,在水情測報領域,我國自主開發的無人值守遙測站仍以單片機為主,開發模式也還是使用基于C語言的單流程結構,所有的工作流程都是通過單一程序實現的,代碼可讀性差,很難實施團隊開發,不利于技術的推廣。國內基于嵌入式操作系統的無人值守遙測站還處于起步階段,一些重大項目,如《長江三峽水利樞紐梯級水庫調度自動化系統屏山—寸灘區間水情遙測系統》項目中使用的嵌入式遙測站就是由美國Sutron公司開發的嵌入式數據采集器Xpert和Xlite。國內嵌入式開發技術還是處于起點低、基數小、資源少和技術落后的狀態。

水情測報領域的無人值守遙測站,是一種先進的水情信息實時收集處理系統,也是一項現代化的、非工程性的防洪措施,應用通信、遙測和計算技術來完成江河、水庫、流域內的降雨量、水位和流量等數據的實時收集和處理,以實現防洪、供水、發電等優化調度,提高防洪能力及水資源利用水平[2]。因此,通信作為無人值守遙測站和中心站聯系的主要手段,其穩定性和工作效率是設計無人值守遙測站重點考慮的問題。

本文通過對Android系統的幾項關鍵技術進行分析,結合無人值守遙測站的工作流程,在Android 4.0基礎上設計并實現出一款高效和實用的App,為Android開發技術在水利行業應用提供了依據。

1研究概況

1.1Android開發技術簡介

在快速發展的移動開發領域,Android的發展較為迅速。Android系統正以其開放性(開發的平臺允許任何移動終端廠商加入到Android聯盟中來)、豐富的硬件(越來越多的硬件產品支持)、方便開發(Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾)和Google應用(Android手機平臺可以無縫結合一些優秀的Google服務,如地圖、郵件、搜索等)的特點吸引越來越多的嵌入式開發者加入其中。

Android開發技術是以應用其4大開發組件為主,4大組件為:活動、服務、廣播接收器、內容提供商。

1.2設計結構

根據Android開發技術的特點,結合水情測報領域無人值守遙測站的工作過程,App設計結構如圖1所示。

圖1 App結構圖

其中各層的細節如表1所列。

表1 各層詳細內容

在整個App設計中,只有應用層是與水情測報領域無人值守遙測站的工作業務相關,因此這一部分的設計對專業的要求也比較高,應能以提高用戶體驗為主。其中Web發布和email通信都是作為數據庫應用的擴展功能而存在,不再單獨設計。

2實現

在本文中,由于篇幅有限,只針對關鍵技術實現的關鍵節點給出源代碼,列出的所有代碼均是在開發環境eclipse-java-luna-SR1+ADT23.0.4下編譯完成的,而且均在實際無人值守遙測站硬件上運行測試過。

2.1App主視圖

App主視圖采用“圖標+標題”的表格形式實現,使用戶可以直接快速定位并啟動應用App模塊。本文設計并實現的App界面視圖如圖2所示。

圖2 App主視圖

其中,界面UI元素定義如表2所列,應用App定義如表3所列,啟動相應App使用長擊動作。

表2 界面UI元素定義

表3 應用App定義

本系統中,所有的應用App設計都包含3部分:UI視圖設計(用于與用戶交互,與具體專業業務相關)、啟動代碼(用于和驅動層的連接,提供給驅動層使用的接口函數)和配置信息存儲(調用驅動層存儲配置信息函數來實現)。

2.2數據庫

傳統的無人值守遙測站將現場采集的數據以二進制自定義格式的形式按順序存儲在本地,一般不存在單獨的數據管理,功能單一、效率不高。

在App設計中,為了提高數據管理效率,增加高級數據管理功能,使用了一款輕型的遵守ACID關系型的數據庫,即Android的SQLite。

數據庫顯示視圖略——編者注,為了使數據顯示美觀,使用隨機變換的字體顏色,且相鄰行的顏色不完全相同,凸顯數據元素,使用戶一目了然(注:字體顏色的區分可以參見網絡版)。

數據庫實現的代碼主要包含3部分:顯示視圖、數據訪問接口和配置信息存儲。本文在視圖處理上采用了與App主界面相同的處理辦法,即使用Activity的派生類來實現;為實現逐行顯示的效果,使用了Android提供的ListView組件,對每行元素的單元格分別逐個處理顯示(內容和顏色)。數據訪問接口代碼則是通過派生Android SQLiteOpenHelper類實現的。

2.3JavaMail

由于Android系統是由Google公司領導開發的,因此在有些功能實現上具有明顯的傾向性,如Android系統自帶的郵件系統只支持Google公司的Gmail系統,在國內使用會受到明顯的限制,為了支持國內的郵件系統,本文使用了由Sun公司發布的用于處理Email的API(JavaMail),來實現一些常用的電子郵件應用。JavaMail結構圖略——編者注。

JavaMail通過SMTP Server進行郵件的發送,用戶只需要根據 JavaMail 定義的接口實現自己的 Provider,即可實現對不同協議Store郵件的收取。

通過JavaMail實現的數據分享功能執行結果略——編者注。其中0000 0000為無人值守遙測站的站號,郵件內容為分享的數據。

2.4Web發布

Web服務器是可以為向其發出請求的瀏覽器提供文檔的程序,主要功能是提供網上信息瀏覽服務。本文在App中,使用Android的內置服務功能實現了Http Web服務器功能,可以將選定的數據發布到固定IP上,其他處在同一局域網內的設備(如電腦、手機、iPad和PC機等)可以通過瀏覽器瀏覽數據。本文提供的代碼僅支持微軟IE和360瀏覽器。

2.4.1工作流程

Web服務器的工作流程如圖3所示。

圖3 Web服務器工作流程

其中,監視端口要使用Android Service的派生類,TCP連接和會話線程使用的是Thread的派生類,對端口的訪問使用Android的ServerSocket和Socket類。

2.4.2視圖

圖4 Web Server啟動界面

啟動Web分享數據功能后,彈出視圖如圖4所示。單擊啟動按鈕,可將選定的數據發布到地址http://192.168.2.114:8080,其中IP地址為遙測站的默認地址,在WiFi連接的時候不可設置,端口號可以修改。

本界面的視圖使用的是Android提供的AlertDialog類自定義的顯示視圖,單擊啟動按鈕后將啟動Web Server服務線程,在后臺監視8080端口,當接收到請求數據訪問時,啟動數據發布線程將數據發布到端口。這時,若通過IE或者360瀏覽器訪問http://192.168.2.114:8080時,在瀏覽器界面上將會顯示分享的數據,顯示結果略——編者注。

2.5通信服務

本文通信任務大部分是使用Android系統本身提供的通信服務實現的,如發送短信使用的是Android提供的SmsManager服務,接收短信使用Android的BroadcastReceiver服務,網絡使用WIFI_SERVICE服務等。針對這些常用的通信服務,Android系統都做了代碼優化,開發者只需編寫少量的代碼即可實現高效的通信功能。為便于讀者理解,本文給出了實現手機對無人值守遙測站控制的典型的短信接收服務的關鍵代碼。

//注冊短信廣播

final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";

IntentFilterfilter = new IntentFilter(SMS_RECEIVED);

BroadcastReceiverreceiver = new SMSReceive();

registerReceiver(receiver, filter);

只需將這段代碼放在onCreate()函數中,即可實現對短信的監控。其中SMSReceive為BroadcastReceiver的派生類,用于對系統所接收信息進行處理。本文代碼運行結果如圖5所示。其中(+86 136-0117-5481)為無人值守遙測站的手機號,123456為遙測站密碼,vd為招測當前數據命令;后續的為遙測站返回數據,其中00000000為站號,后面為數據采集時間、傳感器名和數據的當前值。

圖5 手機招測執行結果

2.6數據圖表

為了增強系統的實用性,提高數據處理效率,在App設計時增加了數據分析圖表功能,使用的是一個Android系統上制作圖表的框架achartengine圖表引擎實現,目前它支持如下的圖表類型:line chart(折線圖)、area chart(面積圖、分區圖、對比圖)、scatter chart(散點圖)、time chart(時間圖/進度表)、bar chart(條形圖/柱狀圖)、pie chart(餅圖)、bubble chart(氣泡圖)、doughnut chart(圓環圖)、range (high-low) bar chart(范圍條形圖)、dial chart/gauge(撥號盤/壓力表) 、combined (any combination of line, cubic line, scatter, bar, range bar, bubble) chart(組合圖)、cubic line chart(立方折線圖)。

上述所有支持的圖表類型都可以包含多個系列,支持水平(默認)或垂直方式展示圖表,并且支持許多其他的自定義功能。所有圖表都可以建立為一個view,也可以建立為一個用于啟動activity的intent。這個模型和繪圖過程的代碼進行了很好的優化處理,可以處理和顯示值的數量非常大。本文通過圖表框架achartengine實現的餅狀圖如圖6所示。

圖6 餅狀視圖

結語

本文所開發出的App不但實現了無人值守遙測站的基本功能(包括現場數據的采集、存儲和發送),而且使用Android系統提供的軟件資源,將一些復雜的實用功能(如與智能手機互聯、WiFi通信、Web發布和數據圖表等)也在App中得到了實現。本次App的開發研究,將用戶體驗首次引入無人值守遙測站的設計中。

隨著通信技術更新換代的周期越來越短,支持新通信技術的無人值守遙測站也會不斷更新。而作為以通信技術為核心的嵌入式操作系統Android就非常適合應用到水情測報領域的無人值守遙測站,并且隨著應用Android系統的設備越來越多,其資源也會越來越豐富。

將Android系統加入無人值守遙測站,還會為無人值守遙測站帶來新的研究方向,如消息推送、云中心、WiFi熱點、WiFi Direct、Webkit、GIS和云存儲等,極大地豐富了無人值守遙測站的功能。

參考文獻

[1] 軟件開發技術聯盟.Android開發實踐[M].北京:清華大學出版社,2013.

[2] 于興晗,胡宇豐,郭易,等.CE數據采集器設計和開發實例[M].北京:中國水利水電出版社,2014.

[3] 孫增義,吳躍.水情自動測報技術基礎及其應用[M].北京:中國水利水電出版社,1999.

[4] 毛學工,安波,蹇德平,等.雅礱江流域梯級電站水情自動測報系統[M].北京:中國水利水電出版社,2012.

于興晗(工程師),長期從事32位嵌入式數據采集系統研究。

Yu Xinghan,Hou Yu,Gai Youpu,Guo Yi

(China Water Conservancy and Hydropower Research Institute,Beijing 100044,China)

Abstract:Android is an operating system of free and opening source codes based on Linux,which mainly is used in mobile devices.It is leaded and developed by Google company and the open handset alliance.In this paper,the application of Android technology in the novel unattended telemetry station is introduced.The Java source codes of the key technology are given.Through this study,an App running on the telemetering station is achieved,which installs Android system.

Key words:Android;unattended telemetry station;App;Java

收稿日期:(責任編輯:薛士然2015-07-09)

中圖分類號:TP316

文獻標識碼:A

主站蜘蛛池模板: 亚洲日韩第九十九页| 99精品国产自在现线观看| 国产精品刺激对白在线| 国产一级一级毛片永久| 精品少妇人妻无码久久| 亚洲精品无码av中文字幕| 欧美久久网| 欧美在线导航| 国产不卡在线看| 国产精品人人做人人爽人人添| 亚州AV秘 一区二区三区| 国产在线麻豆波多野结衣| 亚洲欧美日韩另类| 韩国v欧美v亚洲v日本v| 亚洲第一黄色网| 精品亚洲欧美中文字幕在线看| 亚洲欧美另类中文字幕| yjizz国产在线视频网| 国产在线91在线电影| 国产亚洲视频免费播放| 91日本在线观看亚洲精品| 久草美女视频| 91日本在线观看亚洲精品| 成人精品亚洲| 亚洲欧洲一区二区三区| 国产jizz| 亚洲一欧洲中文字幕在线| 成人午夜视频免费看欧美| 国产精品一老牛影视频| 波多野结衣的av一区二区三区| 91破解版在线亚洲| 成年人视频一区二区| 中文字幕在线观看日本| 欧美激情视频一区| 亚洲高清在线天堂精品| 91色爱欧美精品www| 色综合综合网| 欧美日本在线观看| 国产精品亚洲一区二区在线观看| 久久久久88色偷偷| 国产精品v欧美| 免费无码AV片在线观看国产| 国产日韩欧美黄色片免费观看| 国产男人的天堂| 国产精品午夜电影| 日韩在线1| 99激情网| 毛片久久网站小视频| 亚洲视频在线网| 一边摸一边做爽的视频17国产| 亚洲高清无码久久久| 国产正在播放| 国产特一级毛片| 一级爱做片免费观看久久| 18禁黄无遮挡网站| 综合色在线| 国产一级做美女做受视频| 国产在线观看99| 丰满人妻一区二区三区视频| 国产区免费精品视频| 在线看片免费人成视久网下载 | 精品一区二区三区水蜜桃| 人妻中文字幕无码久久一区| 四虎永久免费在线| 久久国产拍爱| 国产精品伦视频观看免费| 中字无码av在线电影| 欧美国产综合视频| 国产在线啪| 亚洲中文在线看视频一区| swag国产精品| 亚洲区视频在线观看| 国产成人盗摄精品| 香蕉伊思人视频| 国产亚洲男人的天堂在线观看| 91在线播放国产| 国产福利影院在线观看| 黄色福利在线| 2021国产在线视频| 国产一区二区福利| 亚洲综合激情另类专区| 亚洲精品自拍区在线观看|