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

一種基于藍牙的交互式系統設計與實現*

2014-09-13 12:35:08王昭順徐柏權
計算機工程與科學 2014年8期
關鍵詞:界面用戶設備

王昭順,徐柏權

(1.北京科技大學計算機與通信工程學院,北京 100083;2.廊坊東方職業技術學院電子信息工程系,河北 廊坊 065001)

一種基于藍牙的交互式系統設計與實現*

王昭順1,徐柏權2

(1.北京科技大學計算機與通信工程學院,北京 100083;2.廊坊東方職業技術學院電子信息工程系,河北 廊坊 065001)

隨著無線互聯技術和移動終端技術的發展,手機等移動終端用戶對藍牙產品的功能提出了更高的要求。藍牙采用推送技術進行數據傳輸,用戶只能選擇是否接收,不能對藍牙發送端的數據進行自主交互瀏覽。采用J2ME和藍牙技術實現一種在移動藍牙終端上使用的交互式系統,有效地利用了J2ME 跨平臺的優勢,以及藍牙傳送數據易用性和實用性等優點。根據對JSR82規范提供的Java藍牙無線技術API的研究,給出了藍牙交互式系統的設計方案和系統結構。通過J2ME的無線應用開發包和MIDlet編程模型,實現了交互式系統。

藍牙技術;J2ME;交互式

1 引言

藍牙(Bluetooth)是一種用于替代某些電子設備上使用電纜或連線的短距離無線連接技術,具有低功耗、低成本的特性[1]。隨著無線互聯技術和各種移動終端技術的發展,手機等移動終端用戶對于藍牙產品的功能提出了更高的要求。藍牙采用推送技術進行數據傳輸,用戶只能選擇是否接收,不能對藍牙發送端的數據進行自主交互瀏覽。

本文參照目前的藍牙技術以及J2ME平臺,開發一個基于J2ME的藍牙交互式系統,提出了采用J2ME和藍牙技術,實現一種在移動藍牙終端上使用的交互式系統,用戶到達一個藍牙信號覆蓋區域時會接收到藍牙發送設備發送到手機上的J2ME應用程序,用戶手機安裝上系統后可以自主交互地瀏覽藍牙發送終端的內容。同時,可以有效地利用J2ME 跨平臺的優勢,以及藍牙傳送數據易用性和實用性等優點。

2 關鍵技術

2.1 藍牙技術

藍牙是一種支持設備短距離通信(一般10 m內)的無線電技術,能在包括移動電話、PDA、無線耳機、筆記本電腦、相關外設等眾多設備之間進行無線信息交換[1]。

藍牙技術由一組稱為協議棧的技術協議規定,規范的目標是允許遵循規范的應用能夠進行相互間操作。為了實現互操作,在遠程設備上的對應應用程序必須以同一協議棧運行。不同應用可運行于不同協議棧。每一協議棧都使用同一公共藍牙數據鏈路和物理層。圖 1所示為藍牙的協議結構(協議不包含最低的射頻層)。

Figure 1 Architecture of Bluetooth protocol圖1 藍牙協議結構

藍牙2.0 使用EDR技術增加了帶寬,提高設備同時處理多項任務或同時連接多個藍牙設備的能力,大大提高了藍牙技術的數據傳輸速率。藍牙3.0的核心是AMP(Generic Alternate MAC/PHY)交替射頻技術,允許藍牙協議棧針對任一任務動態地選擇正確射頻。通過集成802.11 PAL協議適應層,藍牙在需要的時候調用802.11 WI-FI用于實現高速數據傳輸,可以用于錄像機至高清電視、PC至PMP、UMPC至打印機之間的資料傳輸。同時,引入了增強電源控制(EPC)機制,降低實際空閑功耗。藍牙4.0技術包含三個子規范:傳統藍牙技術、高速藍牙和新的藍牙低功耗技術。這三個規范可以組合或者單獨使用。

2.2 JSR82(JABWT)規范

JSR82規范揭示了藍牙軟件棧給Java平臺的開發者。規范中定義了如下兩個包[2]:

(1)javax.bluetooth;

(2)javax.obex。

上面兩個包各自是獨立的,它們彼此并不依賴對方。上述兩個包都需要使用通用連接框架,因此它們都和javax.microedition.io有關聯,如圖2所示。

Figure 2 Package structure of JABWT圖2 JABWT的包結構

2.3 藍牙連接應用模型

開發基于藍牙通信的應用程序通常采用客戶端和服務器的應用程序模型。服務(Service)是通信的核心所在,這個服務向客戶端提供了某種功能性的服務[3]。開發者一旦創建了一個服務之后首先需要把這個服務注冊到服務查找數據庫SDDB(Service Discovery Data Base)中,然后等待客戶端連接。

客戶端首先必須通過服務發現協議SDP(Service Discovery Protocol)查找到服務所在的設備,然后在設備上查詢服務。一旦獲得了服務,也就獲得了連接服務器的URL。借助通用連接框架的方法即可獲得相關的Connection實例,客戶端就可以真正地使用服務器提供的服務了。

一個典型的藍牙功能的應用可以作為一個服務端或是一個客戶端,一個服務的提供者或是消費者,或者同時表現出服務和客戶的行為。圖3是一個典型的藍牙規范用例。

Figure 3 A typical use case with Bluetooth function圖3 一個典型的具有藍牙功能的用例

3 系統設計與實現

3.1 系統結構

交互式藍牙媒體系統的總體架構如圖4所示。軟件結構包含六部分:BTSDK、系統管理模塊、藍牙設備模塊、數據傳輸模塊、記錄管理模塊和界面模塊。

Figure 4 Overall architecture of interactive Bluetooth system圖4 交互式藍牙系統的總體架構

(1)BTSDK將藍牙模塊提交上來的數據進行封裝,通過回調函數的方式與外界交互。

(2)系統管理模塊將部分函數以回調函數的方式注冊給BTSDK,回調時即進行相關處理并反饋給用戶界面,同時將BTSDK的接口進行進一步封裝,供外部模塊使用。

(3)藍牙設備模塊封裝了所有的藍牙設備處理模型,包含藍牙設備和藍牙服務的搜索發現、設備管理,以及部分用于藍牙連接的函數信息。

(4)數據傳輸模塊可以分為兩個部分:數據上傳和數據下載。

(5)記錄管理模塊用來保存所有已經搜索到的藍牙設備,以便用戶再次進行數據傳輸。

(6)界面模塊設計與傳送文件相關的用戶界面,包含初始界面、搜索界面、文件界面、下載界面等。

3.2 藍牙設備管理

本系統通過JSR82 來實現與移動藍牙終端的通信,藍牙設備模塊包含所有與藍牙設備及其操作相關的模型,包括查找設備與服務、設備管理、設備通信三部分。

3.2.1 查找設備與服務

設備和服務的查找是由JABWT中的DiscoveryAgent類和DiscoveryListener[4]類完成的。在設備和服務查找過程中,回調機制被使用。無論是DiscoveryAgent查找設備還是查找服務的方法,最后一個參數都是DiscoveryListener,一旦服務或者設備被查找到,DiscoveryListener的相關方法就會被調用。

3.2.2 設備管理

JSR82 規范介紹了用于設備管理的三個類:LocalDevice、RemoteDevice和DeviceClass[4]。LocalDevice獲得本地藍牙設備的靜態信息。它依靠javax.bluetooth.DeviceClass 類來獲得設備類型和它所提供的服務類型。RemoteDevice 獲得藍牙鄰近區的設備信息。獲得RemoteDevice 對象后就可以調用getBluetoothAddress()和getFriendlyName()方法獲得遠程設備的地址和好友名稱。

3.2.3 設備通信

兩臺設備必須共享通用的通信協議才能通信。為了使應用能夠訪問更多的藍牙服務,藍牙Java API 提供了一個機制,它允許連接到使用RFCOMM、L2CAP或OBEX協議的任何服務[5]。

通過以上步驟實現了移動藍牙終端與藍牙發送器連接以及數據的上傳和下載過程。

3.3 狀態機描述系統

交互式藍牙媒體系統的系統管理模塊應用有限狀態機實現系統狀態的標識與轉變。藍牙交互式系統應用層狀態轉換如圖5所示。

Figure 5 Bluetooth interactive system application layer state conversion diagram圖5 藍牙交互式系統應用層狀態轉換圖

在系統中State類和UIFsm類是實現有限狀態機的基類,狀態改變過程通過Action類對象反饋調用Transition類對象進行狀態過渡。狀態過渡用到的幾個主要函數如下:

(1)addTransition(Stringe, States):添加定義的過渡狀態到當前系統狀態;

(2)addAction(intw, Stringn, Stringe, intf):添加當前狀態的事件操作;

(3)doAction(intfun, Fsmfsm):狀態轉變方法,實現對應狀態的過渡。

系統通過創建的Model接口和UIFsm類中的addModel()方法將State與模型類進行匹配。系統各模型的狀態與狀態機的狀態相對應,并通過以下函數進行模型轉換:

(1)addModel(Stringstate, Modelmodel):添加模型到當前狀態;

(2)getCurrentModel():獲取Model的名字;

(3)getModel(Stringstate):獲得模型對象實例;

(4)outEvent(Stringe): UIFsm狀態轉換事件處理方法,控制系統中的狀態改變;

(5)incoming(Stringe, Fsmf):State內部狀態轉換處理方法;

(6)outgoing(Stringe, Fsmf):State內部狀態轉換處理方法。

3.4 用戶界面以及操作的實現

系統的每個界面都繼承javax.microedition.lcdui包中提供的API,主要由Display和Displayable組成。

用戶界面與交互操作實現如圖6所示。

Figure 6 User interface and interactive operation implementation structure diagram圖6 用戶界面與交互操作實現結構圖

程序中首先定義了一個BaseScreen抽象類,類中通過makeActive()方法把Display的setCurrent()方法進行封裝并提供給所有繼承子類。Display通過setCurrent()方法切換當前屏幕。程序中絕大部分對Item的操作是繼承自TabItem實現的,TabItem選用CustomItem組件作為父類,它與Canvas的事件傳輸進行交互操作,能夠獲得屏幕上顯示的Item對象,然后通過調用TabItem的各種Form對象進行交互。在TabItem類中要實現的是與設備相關的各種操作,如手機鍵盤按鍵的各種移動、按下和釋放操作的響應。

3.5 程序運行機制與事件處理方法

程序運行與事件處理流程如圖7所示。

Figure 7 Running of the program and event processing flow chart圖7 程序運行與事件處理流程圖

程序由MIDlet的狀態函數進入系統,首先進行初始化并進入默認的設備界面,用戶菜單包括Browser、Discover和Download命令,當用戶通過按鍵選擇相關命令后會觸發當前屏幕的Form對象中對相關命令的處理函數。

在事件處理中,Command類是對一個動作語義的封裝,而動作的具體行為必須在CommandListener中的commandAction()方法中實現。Form對象全部繼承自BaseScreen類,BaseScreen類實現了CommandListener, CommandListener是MIDlet程序在屏幕導航中廣泛使用的接口,Displayable對象通過addCommand()方法添加Command實例來接受高級事件,添加之后利用commandAction()方法進行事件處理。

3.6 與實際產品的互操作測試結果

藍牙SIG 定義了一些測試用例,但它們的測試路徑覆蓋率不夠高,為此我們經過仔細分析軟件執行路徑和profiles 自身的關鍵特征,新增了異常情況和特殊情況下的測試用例,以盡可能地提高測試充分性。

表1為根據藍牙互操作規范定義的部分測試用例,每個用例提供了一個使用場景和期望的結果。

Table 1 Part of test cases表1 部分測試用例設計

圖8所示為程序部分功能屏幕截圖。

Figure 8 Part of the program screenshot圖8 程序屏幕截圖

測試結果發現,對于Nokia、Sony Erricson 與Motorola 等品牌的手機,交互式藍牙系統都能夠正常安裝。安裝成功后手機系統在程序初始化后都能正常進入默認界面,并順利通過測試用例的測試。測試中由于不同手機的導航鍵屬性值不同,導致部分手機系統中不能通過導航鍵跳轉界面,這屬于程序考慮范圍內,程序通過手機數字按鍵實現了導航鍵的跳轉功能,測試結果與預期結果相同。

3.7 與傳統藍牙產品的技術比較

大多數藍牙技術采用推送技術進行數據傳輸,用戶只能單向地選擇是否接收發送端發送過來的數據,但是并不能對發送端的數據內容進行自主交互瀏覽。

交互式藍牙系統使用戶與藍牙發送器之間產生互動,能使用戶任意地選擇所需的內容,大大地增強了整個藍牙網絡系統的交互性與適用性。

4 結束語

本文針對藍牙用戶不能對藍牙發送內容進行選擇接收這一缺陷,采用J2ME和藍牙技術開發了一個基于J2ME的藍牙交互式系統。

藍牙交互式系統突破了傳統手機藍牙及藍牙發射器的局限性,使用戶手機與藍牙發送器產生自主的互動效應,用戶可自主地選擇所需瀏覽的節目內容和使用服務娛樂功能,使各類型場所均可形成一個區域性網絡。藍牙手機用戶真正能夠得到他們喜歡和需要的功能與服務,其應用范圍將十分廣泛。

[1] McDermott-Wells P. What is Bluetooth [J]. IEEE Potentials,2004,23 (5):33-35.

[2] Wang Li-ming,Yin Bo,Bie Zai-ping. Implementation of LBS system based on J2ME and Bluetooth GPS[J]. Microcomputer Information,2009,25(2-3):5-7.(in Chinese)

[3] Zhou Zhen,Guo Qing-ping. Development and implementation of Bluetooth based on J2ME [J].Computer Knowledge and Technology(Academic Exchange),2007(13):93-94.(in Chinese)

[4] Haartsen J,Naghshineh M,Inouye J,et al.Bluetooth:Vision,goals,and architecture[J]. Mobile Computing and Communications Review, 1998, 2(11):65-69.

[5] Ma Yi-hua, Feng En-xin. Applications and implementation of J2ME Bluetooth technology based on JSR-82 specification[J].Radio Engineering,2004,34(8):48-50.(in Chinese)

附中文參考文獻:

[2] 王立明,殷波,別再平.基于J2ME和藍牙GPS的LBS系統設計[J]. 微計算機信息,2009,25(2-3):5-7.

[3] 周臻,郭慶平.基于J2ME的藍牙應用開發及實現[J].電腦知識與技術(學術交流),2007(13):93-94.

[5] 馬毅華,馮恩信.基于JSR-82規范的J2ME藍牙應用及其實現[J].無線電工程,2004,34(8):48-50.

WANGZhao-shun,born in 1969,PhD,professor,CCF member(E200006628S),his research interest includes software engineering.

DesignandimplementationofaninteractivesystembasedonBluetooth

WANG Zhao-shun1,XU Bai-quan2

(1.School of Computer and Communication Engineering,University of Science and Technology Beijing,Beijing 100083;2.Department of Information Engineering,Langfang Oriental Institute of Technology,Langfang 065001,China)

With the development of the wireless connectivity technology and the mobile terminal technologies, mobile terminal users such as mobile phone users ask Bluetooth products for higher requirements. Bluetooth uses the push technology to transfer data, and users only have authority to choose whether to receive the data but cannot browse the data from the Bluetooth transmitter independently and interactively. An interactive system based on the J2ME and Bluetooth technologies is introduced. It utilizes the advantage of cross-platform of J2ME as well as the advantages of easy of use and practicability of Bluetooth technology to transfer data. Based on the JSR82 Java Bluetooth wireless technology API provided in the specification, the design scheme and system structure of the proposed Bluetooth interactive system is given. Based on the J2ME wireless application development kit and the MIDlet programming model, the interactive system is implemented.

Bluetooth protocol;J2ME;interactive

1007-130X(2014)08-1500-05

2013-06-28;

:2013-11-15

TP391.9

:A

10.3969/j.issn.1007-130X.2014.08.013

王昭順(1969-),男,江西南豐人,博士,教授,CCF會員(E200006628S),研究方向為軟件工程。E-mail:zhswang@sohu.com

通信地址:065001 河北省廊坊市廊坊東方職業技術學院信息工程系 徐柏權

Address:Department of Information Engineering,Langfang Oriental Institute of Technology,Langfang 065001,Hebei,P.R.China

猜你喜歡
界面用戶設備
諧響應分析在設備減振中的應用
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機交互界面發展趨勢研究
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 国产精品浪潮Av| 激情六月丁香婷婷四房播| 日韩av高清无码一区二区三区| 国产人成网线在线播放va| 久视频免费精品6| 亚洲第一中文字幕| 亚洲综合中文字幕国产精品欧美| 日本久久网站| 欧美第九页| 国产精品一区二区久久精品无码| 中文纯内无码H| 亚洲欧美在线精品一区二区| 日韩成人在线网站| 亚洲美女一区| 中文字幕人成乱码熟女免费| 成人年鲁鲁在线观看视频| 亚洲精品天堂在线观看| 免费高清a毛片| 色综合久久无码网| 九九九久久国产精品| 国产91导航| 国产丝袜91| 自拍中文字幕| 激情亚洲天堂| 熟妇丰满人妻av无码区| 不卡无码网| 欧美日韩午夜视频在线观看| 91在线高清视频| 就去色综合| 久久国语对白| 91系列在线观看| 一级做a爰片久久免费| 91小视频在线观看免费版高清| 国产成人艳妇AA视频在线| 波多野结衣一区二区三区四区 | 成人在线观看一区| 国产福利一区二区在线观看| 欧美日韩在线成人| 91啦中文字幕| 亚洲综合天堂网| 久久精品国产电影| 99久视频| 老司国产精品视频91| 欧美日本在线| 亚洲成人手机在线| 茄子视频毛片免费观看| 熟妇丰满人妻av无码区| 日韩色图区| 99伊人精品| 成年人视频一区二区| 91丝袜乱伦| 91精品网站| 一区二区三区四区日韩| 重口调教一区二区视频| 国产一区二区三区在线观看免费| 国产成人精品无码一区二| 在线中文字幕网| 成人在线观看不卡| 免费毛片视频| 一级毛片高清| 99人妻碰碰碰久久久久禁片| 亚洲欧洲美色一区二区三区| 亚洲精品国产首次亮相| 国产福利免费视频| 99久久精彩视频| 最新日韩AV网址在线观看| 国产三级毛片| 国产男女免费完整版视频| 91在线激情在线观看| 国产欧美日韩视频一区二区三区| 亚瑟天堂久久一区二区影院| 久久久受www免费人成| 丁香六月激情综合| 18禁黄无遮挡免费动漫网站| 国产成人高清精品免费5388| 欧美日韩激情在线| 五月婷婷亚洲综合| 伊人中文网| 1024你懂的国产精品| 99爱在线| 野花国产精品入口| 伊人狠狠丁香婷婷综合色|