版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 論文題目 手機遙控計算機(MPCPC)系統(tǒng)的開發(fā)與實現(xiàn) </p><p> THE DEVELOPMENT AND IMPLEMENTATION OF </p><p> MOBILE-PHONE-CONTROL-PERSONAL-COMPUTER
2、 (MPCPC) SYSTEM </p><p> 學(xué) 生 姓 名: 學(xué) 號: </p><p> 二級學(xué)院名稱: 新媒體學(xué)院 專 業(yè): 數(shù)字媒體技術(shù) </p><p> 指 導(dǎo) 教 師:
3、職稱: .</p><p> 手機遙控計算機(MPCPC)系統(tǒng)的開發(fā)與實現(xiàn)</p><p> 摘要: 手機遙控計算機(Mobile Phone Control Personal Computer)系統(tǒng)是一款手機利用藍牙作為媒介來與計算機進行通信,進而實現(xiàn)手機遠程遙控計算機這一目的的軟件系統(tǒng)。主要研究的內(nèi)容是藍牙通信編程。軟件分為計算機端和手機端兩個部分,計
4、算機端用JavaSE作為開發(fā)語言,手機端用J2me作為開發(fā)語言,通過JSR82標(biāo)準(zhǔn)里的核心藍牙包javax.bluetooth實現(xiàn)無線通信功能。實現(xiàn)的功能有手機模擬計算機鼠標(biāo)、鍵盤功能,手機控制計算機常用軟件以及控制計算機關(guān)機、重啟等。該軟件系統(tǒng)可改變用戶控制計算機的方式,使計算機控制更加多樣化,用戶使用更方便、更舒適。</p><p> 關(guān)鍵詞:手機;計算機;藍牙通信;JavaSE;J2me;JSR82<
5、;/p><p> THE DEVELOPMENT AND IMPLEMENTATION OF MOBILE-PHONE-CONTROL-PERSONAL-COMPUTER</p><p> (MPCPC) SYSTEM</p><p> Abstract: Mobile Phone Control Personal Computer is a software s
6、ystem that uses bluetooth to establish connection between mobile phone and personal computer.So the mobile phone can remote control the computer. The main research content is bluetooth communication program.There are two
7、 parts of the software:the mobile phone software and the computer software.The computer software was developed by JavaSE language and the mobile phone software was developed by J2me language.It can realize the wirele<
8、/p><p> Key words: mobile phone; personal computer; Bluetooth Communication;JavaSE; J2me; JSR82</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p&g
9、t;<b> 2項目概述2</b></p><p> 2.1 選題背景與意義2</p><p> 2.2 研究的基本內(nèi)容2</p><p> 2.3 需解決的問題3</p><p><b> 2.4發(fā)展趨勢3</b></p><p><b>
10、3 技術(shù)背景4</b></p><p> 3.1 編程語言4</p><p> 3.1.1 Java語言4</p><p> 3.1.2 Java SE4</p><p> 3.1.3 Java ME4</p><p><b> 3.2藍牙技術(shù)5</b></
11、p><p> 3.2.1 藍牙技術(shù)概述5</p><p> 3.2.2 Java藍牙開發(fā)接口5</p><p><b> 3.3開發(fā)平臺6</b></p><p> 3.3.1 Eclipse6</p><p> 3.3.2 Netbeans6</p><p&g
12、t; 4 系統(tǒng)功能分析及實現(xiàn)7</p><p> 4.1 系統(tǒng)功能分析7</p><p> 4.2 系統(tǒng)功能實現(xiàn)7</p><p> 4.2.1 藍牙功能模塊7</p><p> 4.2.2 鼠標(biāo)控制模塊8</p><p> 4.2.3 鍵盤控制模塊9</p><p>
13、 4.2.4 應(yīng)用程序模塊10</p><p> 4.2.5 常用功能模塊11</p><p> 5 系統(tǒng)運行結(jié)果分析12</p><p><b> 6 結(jié) 論13</b></p><p><b> 致謝15</b></p><p><b> 參
14、考文獻16</b></p><p><b> 1 緒論</b></p><p> 隨著計算機網(wǎng)絡(luò)和移動電話技術(shù)的迅猛發(fā)展,手機已經(jīng)走入了千家萬戶,在人們的生活中占有一席之地,其通信方式也越來越豐富,人們對手機的理解也不再只是傳統(tǒng)上的隨處可打的電話。手機的硬件配置越來越高,與之對應(yīng)的增值服務(wù)也越來越多元化。同時人們越來越感覺到發(fā)展一定范圍內(nèi)的無線數(shù)據(jù)與
15、語音通信的迫切需要。早在1994 年,愛立信公司便已著手構(gòu)想以無線電波來連接計算機與電話等各種周邊設(shè)置,決定建立一套短距離無線通信的開放標(biāo)準(zhǔn),并以中世紀丹麥國王Harold 的外號“藍牙”(Bluetooth)為其命名,意在統(tǒng)一無線局域網(wǎng)通信標(biāo)準(zhǔn)的技術(shù)[1]。于是在1998年,愛立信、IBM、Intel、諾基亞和東芝等公司聯(lián)合推出了一項最新的無線網(wǎng)絡(luò)技術(shù),即藍牙(Bluetooth)技術(shù)[2] 。隨后這五家公司組建了一個特殊興趣組織來負
16、責(zé)開發(fā)此技術(shù)以及協(xié)議。1999 年下半年,著名的業(yè)界巨頭3Com、朗訊(Lucent),微軟(Microsoft)和摩托羅拉(Motorola)與藍牙特別小組的五家公司共同發(fā)起成立了藍牙技術(shù)推廣組織,創(chuàng)建藍牙論壇、加強藍牙協(xié)議的訂制和改進、提供互操作性測試工具,進而指導(dǎo)SIG 成員在藍牙領(lǐng)</p><p> 我的畢業(yè)設(shè)計題目為《手機遙控計算機系統(tǒng)(MPCPC)的開發(fā)與實現(xiàn)》,主要是要實現(xiàn)手機通過藍牙來對計算機進
17、行控制,如手機模擬計算機鼠標(biāo)、鍵盤,手機控制計算機常用的應(yīng)用軟件,以及手機控制計算機的關(guān)機、重啟等功能。本文一共分為五個部分,第一部分為緒論;第二部分為項目概述,概括的介紹了本畢業(yè)設(shè)計的選題背景、意義等;第三部分為技術(shù)背景,介紹了本畢業(yè)設(shè)計所要用到的技術(shù)以及應(yīng)用平臺;第四部分為系統(tǒng)功能分析及實現(xiàn),介紹了本軟件系統(tǒng)要實現(xiàn)的功能及如何實現(xiàn)的;第五部分為系統(tǒng)運行結(jié)果分析,介紹了軟件最終實現(xiàn)的效果。 </p><p>&
18、lt;b> 2項目概述</b></p><p> 2.1 選題背景與意義</p><p> 隨著網(wǎng)絡(luò)和無線通信技術(shù)的發(fā)展,以及手機等無線移動設(shè)備處理能力的不斷增強,手機已經(jīng)不再是一個單一的通信設(shè)備,它融合了上網(wǎng)、個人信息處理、移動辦公、娛樂游戲等功能。各種無線移動通信終端正朝著多功能、智能化的方向發(fā)展。目前,幾乎所有的手機廠商都在生產(chǎn)的手機系統(tǒng)里加入JAVA虛擬機,
19、來支持J2ME程序,只是支持的程度不盡相同[3]??陀^上SUN公司推出J2ME語言降低了嵌入式程序設(shè)計的門檻,這樣使得J2ME成為現(xiàn)在最流行的手機編程語言之一。</p><p> 目前使用手機來控制電腦的應(yīng)用軟件相對較少。此外,使用電腦在絕大多數(shù)情況必須坐在電腦面前,這種局限有時會給使用電腦帶來不便。手機遙控計算機(MPCPC)系統(tǒng)就是這樣的一種軟件,它用手機通過藍牙遙控電腦,可以實現(xiàn)對電腦進行遠程遙控操作,不
20、必在拘泥于電腦桌前。本軟件系統(tǒng)將手機與電腦用藍牙連接的功能從只有傳輸文件擴展到更多的方面,更新了手機功能,創(chuàng)新了藍牙應(yīng)用,革新了電腦控制觀念。此軟件系統(tǒng)第一適合休閑,方便用戶在使用時無線遠程控制,不增加更多的遙控設(shè)置,也不用將電腦放在面前,遠離輻射,如用電視般舒適地用電腦。第二適合教學(xué),只要老師有手機在加一個藍牙適配器,就可以在講課時走到臺下與學(xué)生互動,拉近師生間的距離,提高課堂效率。第三適合手機商,他們可將此應(yīng)用綁定于手機,可以作為其
21、一個賣點。手機和計算機的融合已是一種趨勢,實現(xiàn)手機和計算機的融合對于娛樂互動和新媒體的推廣也有一定的促進作用,讓人們更好的享受移動新媒體所帶來的娛樂功能[4][5]。</p><p> 2.2 研究的基本內(nèi)容</p><p> 本畢業(yè)設(shè)計著重研究與解決手機和計算機之間通過藍牙建立無線通信連接的問題,這也是本畢業(yè)設(shè)計的重點和難點。當(dāng)實現(xiàn)手機和計算機之間的藍牙通信連接后,將要設(shè)計實現(xiàn)手機模
22、擬計算機鼠標(biāo)、鍵盤的功能,如用手機的上下左右鍵實現(xiàn)鼠標(biāo)的移動,手機的數(shù)字鍵模擬鼠標(biāo)的單擊雙擊及模擬鍵盤的常用按鍵。此外,本設(shè)計在此基礎(chǔ)之上還要實現(xiàn)用手機控制電腦的部分常用軟件,包括酷狗、暴風(fēng)影音、IE瀏覽器、ppt等,實現(xiàn)的功能有用手機控制播放器的音量、播放/暫停、快進快退、視頻音頻移動、網(wǎng)頁的新建與關(guān)閉、ppt的播放、換頁與停止等,最后還會加上手機控制計算機關(guān)機、重啟等功能。具體內(nèi)容如下:1.深入學(xué)習(xí)藍牙通信技術(shù),熟練掌握藍牙通信編程
23、的規(guī)則、適用協(xié)議等;2.學(xué)習(xí)并掌握基于java技術(shù)的計算機常用功能的API,并開發(fā)出計算機端軟件;3.學(xué)習(xí)并實踐基于j2me技術(shù)的手機端應(yīng)用軟件的開發(fā);4.在手機上添加常用的計算機控制功能。</p><p> 2.3 需解決的問題</p><p> 發(fā)展藍牙技術(shù)的初衷是為了用一種統(tǒng)一的無線通信技術(shù),來取代各種數(shù)字化設(shè)備之間的相互連接的電纜。當(dāng)人們能夠?qū)崿F(xiàn)用無線技術(shù)取代電纜后,就發(fā)現(xiàn)這是
24、一個革命性的變化[6][7]。目前藍牙技術(shù)已經(jīng)越來越成熟,手機和計算機的軟硬件發(fā)展也越來越迅速,所以手機和計算機之間通過無線連接進行互動就越來越顯得有必要,可問題是目前市場上還沒有專門的軟件,或者軟件功能有限,不能實現(xiàn)用戶想要的功能。因此,開發(fā)一款簡單易用的手機遙控計算機的軟件系統(tǒng)就顯得十分有價值。而開發(fā)出這樣一款軟件就需要解決如下具體問題:1.解決手機和計算機之間通過藍牙進行無線通信連接的問題;2.解決計算機端常用功能API正確調(diào)用的
25、問題;3.解決手機按鍵模擬計算機鼠標(biāo)功能的問題;4.解決手機按鍵模擬計算機鍵盤常用按鍵功能的問題;5.解決手機控制計算機常用軟件及控制常用功能的問題。</p><p><b> 2.4發(fā)展趨勢</b></p><p> 藍牙技術(shù)是很有發(fā)展前景的一項技術(shù),它的成本底,可移動性強,產(chǎn)品小且多是電池供電,對人體危害小,可謂“綠色產(chǎn)品”。市場研究公司IC Insights
26、 預(yù)測稱,2010 年全球藍牙模塊出貨量將增長到16 億個。在2006年至2010年期間,藍牙模塊出貨量將平均每年增長33%。2010年藍牙模塊的銷售收入將從2006年的14.7億美元增長到32億美元以上。藍牙技術(shù)在2000年勉強在市場上露面。到2006年,藍牙模塊的出貨量達到了5.15 億個[8]。預(yù)計到2009,出貨量將達到10億件。通過藍牙產(chǎn)品,藍牙的應(yīng)用也隨之不斷拓展,從手機、筆記本、耳機等這樣的手持終端擴展到各行各業(yè),如汽車、
27、醫(yī)療、工業(yè)控制、辦公應(yīng)用、電子商務(wù)等等,所涉及的技術(shù)、功能、市場等要求越來越高,產(chǎn)業(yè)鏈也日益復(fù)雜,有望成為電子消費類產(chǎn)品的一個新的增長點,因而也日益為人們所關(guān)注和重視[9][10]。所以說,藍牙技術(shù)擁有非常好的前景是毋庸置疑的,而且在中國的發(fā)展前景會更加吸引人。雖然在發(fā)展的過程中會有一些難題出現(xiàn),但藍牙技術(shù)作為一項新技術(shù),其前進的勢頭是不會改變的。我們應(yīng)該抓住機遇,推廣普及藍牙技術(shù)的應(yīng)用,加速實現(xiàn)信息化,加速實</p>&
28、lt;p><b> 3 技術(shù)背景</b></p><p><b> 3.1 編程語言</b></p><p> 3.1.1 Java語言 </p><p> Java是一種面向?qū)ο蟮某绦蛟O(shè)計語言,可以用來撰寫跨平臺的應(yīng)用軟件,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和
29、Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景[13]。</p><p> Java編程語言的風(fēng)格與C、C++語言十分相似。Java是一個純面向?qū)ο蟮?/p>
30、程序設(shè)計語言,它繼承了C++語言面向?qū)ο蠹夹g(shù)的核心,在C++語言中,指針、運算符重載、多重繼承等容易引起錯誤,而java語言舍棄了這些內(nèi)容,但增加了垃圾回收器功能,使不再被引用的對象所占據(jù)的內(nèi)存空間能夠被回收,這樣程序員就不用再為內(nèi)存管理而擔(dān)憂。在Java SE 1.5 版本中,Java又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。 </p><p&g
31、t; Java與一般的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言是有一定差別的。它首先將源代碼編譯成二進制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時間,這同時也在一定程度上降低了 Java程序的運行效率。但在 J2SE 1.4.2 發(fā)布后,Java的執(zhí)行速度有了大幅提升[13]。</p><p>
32、3.1.2 Java SE </p><p> Java SE是Java平臺標(biāo)準(zhǔn)版的簡稱(Java Platform, Standard Edition),用于開發(fā)和部署桌面、服務(wù)器以及嵌入設(shè)備和實時環(huán)境中的Java應(yīng)用程序。Java SE包括用于開發(fā)Java Web服務(wù)的類庫,同時,Java SE為Java EE提供了基礎(chǔ)。Java SE(Java Platform, Standard Edition,Jav
33、a標(biāo)準(zhǔn)版)就是基于JDK和JRE的[13]。</p><p> 3.1.3 Java ME </p><p> Java ME以往稱作J2ME(Java Platform,Micro Edition),是為機頂盒、移動電話和PDA之類嵌入式消費電子設(shè)備提供的Java語言平臺,包括虛擬機和一系列標(biāo)準(zhǔn)化的Java API。它和Java SE、Java EE一起構(gòu)成Java技術(shù)的三大版本,并
34、且同樣是通過JCP(Java Community Process)制訂的。</p><p> Java ME是一種高度優(yōu)化的Java運行環(huán)境,主要針對消費類電子設(shè)備的,例如蜂窩電話和可視電話、數(shù)字機頂盒、汽車導(dǎo)航系統(tǒng)等等。JAVA ME技術(shù)在1999年的JavaOne Developer Conference大會上正式推出,它將Java語言的與平臺無關(guān)的特性移植到小型電子設(shè)備上,允許移動無線設(shè)備之間共享應(yīng)用程序
35、。</p><p> 開發(fā)Java ME程序一般不需要特別的開發(fā)工具, 開發(fā)者只需要裝上Java SDK及下載免費的Sun Java Wireless Toolkit 2.xx系列開發(fā)包,就可以開始編寫Java ME程序,編譯及測試, 此外目前主要的IDE(Eclipse及NetBeans)都支持Java ME的開發(fā),個別的手機開發(fā)商如Nokia 、Sony Ericsson、摩托羅拉、Android系統(tǒng)都有自
36、己的SDK,供開發(fā)者再開發(fā)出兼容于他們的平臺的程序[14]。</p><p><b> 3.2藍牙技術(shù)</b></p><p> 3.2.1 藍牙技術(shù)概述</p><p> 藍牙技術(shù)(Bluetooth)是一種使用無線電波的、短距離的通信技術(shù),它的開發(fā)使有線傳輸?shù)臒o線化成為了可能。它的傳輸速度為1Mbps,傳輸距離一般為10米左右,有的甚
37、至能達到20至30米。使用“藍牙”技術(shù),能夠使平板電腦、筆記本電腦以及移動電話等設(shè)備之間的通信變得十分方便,同時也能夠使這些設(shè)備與internet之間的通信變得簡潔,從而使這些通信設(shè)備與因特網(wǎng)之間的數(shù)據(jù)傳輸變得更加迅速高效,并為無線通信拓寬道路。因此,藍牙技術(shù)使得現(xiàn)在一些我們常用的通信設(shè)備在不必通過有線傳輸介質(zhì)的情況下就能聯(lián)網(wǎng),而且還能夠?qū)崿F(xiàn)無線上因特網(wǎng),不僅如此,藍牙的應(yīng)用還可以拓寬到其他應(yīng)用領(lǐng)域,如家電產(chǎn)品、電子產(chǎn)品、汽車等,從而可
38、以組成一個巨大的無線網(wǎng)絡(luò)。藍牙系統(tǒng)由以下功能單元組成:無線基帶單元、鏈路控制單元、鏈路管理單元、相關(guān)軟件。藍牙工作在全球通用的2.4GHZ (即工業(yè)、科學(xué)、醫(yī)學(xué))頻段,其數(shù)據(jù)傳輸速率為1Mb/s,該技術(shù)采用時分雙工傳輸方案來實現(xiàn)全雙工傳輸[15]。</p><p> 3.2.2 Java藍牙開發(fā)接口</p><p> JSR82規(guī)范是專門針對藍牙開發(fā)設(shè)計的應(yīng)用程序編程接口,其中包含如下
39、兩個包: </p><p> Javax.bluetooth:核心API </p><p> Javax.obex:對象交換API </p><p><b> 3.3開發(fā)平臺</b></p><p> 3.3.1 Eclipse</p><p> Eclipse是著名的跨平臺的自由集成開
40、發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),目前亦有人通過插件使其作為C++、Python、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持,使得Eclipse擁有較佳的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件Visual Age for Java的下一代IDE開發(fā)環(huán)境,2001年11月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商
41、聯(lián)盟Eclipse基金會(Eclipse Foundation)管理。 2003年,Eclipse 3.0選擇OSGi服務(wù)平臺規(guī)范為運行時架構(gòu)。 2007年6月,穩(wěn)定版3.3發(fā)布;2008年6月發(fā)布代號為Ganymede的3.4版;2009年6月發(fā)布代號為Galileo的3.5版;2010年6月發(fā)布代號為Helios的3.6版[18]。</p><p> 3.3.2 Netbeans</p>&l
42、t;p> NetBeans由Sun公司(2009年被甲骨文收購)在2000年創(chuàng)立,它是開放源運動以及開發(fā)人員和客戶社區(qū)的家園,旨在構(gòu)建世界級的Java IDE。NetBeans IDE是一個屢獲殊榮的集成開發(fā)環(huán)境,可以方便的在Windows,Mac,Linux和Solaris中運行。NetBeans包括開源的開發(fā)環(huán)境和應(yīng)用平臺,NetBeans IDE可以使開發(fā)人員利用Java平臺能夠快速創(chuàng)建Web、企業(yè)、桌面以及移動的應(yīng)用程序
43、,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等開發(fā)語言[18]。 </p><p> NetBeans項目由一個活躍的開發(fā)社區(qū)提供支持, NetBean開發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。 </p><p> 4 系統(tǒng)功能分析及實現(xiàn)</p>
44、<p> 4.1 系統(tǒng)功能分析</p><p> MPCPC系統(tǒng)在實現(xiàn)手機與計算機的無線連接后,主要實現(xiàn)以下功能:</p><p> 鼠標(biāo)控制:用手機上的按鍵來控制計算機鼠標(biāo)的各種動作,如鼠標(biāo)上移、下移、左移和右移,鼠標(biāo)的左擊和右擊,鼠標(biāo)滾輪滑動等一系列動作。</p><p> 鍵盤控制:用手機按鍵來模擬鍵盤的上下左右、空格、回車、Tab、退格等按
45、鍵。</p><p> 應(yīng)用程序:應(yīng)用程序包括電腦常用的應(yīng)用程序,如酷狗、暴風(fēng)影音、IE瀏覽器、PPT等,通過手機來控制音樂、視頻的播放暫停,調(diào)節(jié)音量大小,瀏覽器頁面的新建與關(guān)閉,幻燈片的播放、移動、結(jié)束播放等功能。</p><p> 常用功能:常用功能包括手機一鍵控制計算機的重啟、關(guān)機等功能。[20]</p><p> 4.2 系統(tǒng)功能實現(xiàn)</p>
46、;<p> 根據(jù)系統(tǒng)的功能,將MPCPC系統(tǒng)分為以下五個模塊進行開發(fā):即藍牙功能模塊,鼠標(biāo)控制模塊,鍵盤控制模塊,應(yīng)用程序模塊和常用功能模塊。</p><p> 4.2.1 藍牙功能模塊</p><p> 該模塊主要負責(zé)實現(xiàn)手機與計算機間藍牙通信連接的建立。首先計算機端要先進行藍牙服務(wù)的注冊和發(fā)布,然后創(chuàng)建一個服務(wù)連接并等待手機端的連接請求;手機端要對周圍藍牙設(shè)備進行搜
47、索,然后對搜索到的服務(wù)設(shè)備發(fā)出連接請求[19]。</p><p><b> 計算機端主要代碼:</b></p><p> final UUID uuid = new UUID("27012f0c68af4fbf8dbe6bbaf7aa432a", false); final String name = "MPCPC Server
48、"; //服務(wù)器名稱 </p><p> final String url = "btspp://localhost:" + uuid + ";name=" + name + ";authenticate=false;encrypt=false;"; //服務(wù)連接URL</p>&l
49、t;p> 在藍牙中,每個服務(wù)和服務(wù)屬性都唯一地由"全球唯一標(biāo)識符" (UUID)來校驗。正如它的名字所暗示的,每一個這樣的標(biāo)識符都要在時空上保證唯一。UUID實例是不可改變的,只有被UUID標(biāo)示的服務(wù)可以被發(fā)現(xiàn)[20]。</p><p><b> ……</b></p><p> local = LocalDevice.getLocalD
50、evice();//取得本地藍牙設(shè)備</p><p> local.setDiscoverable(DiscoveryAgent.GIAC);//服務(wù)器設(shè)置被發(fā)現(xiàn)的模式為 GIAC</p><p> 當(dāng)通過調(diào)用LocalDevice.setDiscoverable() 方法來設(shè)置設(shè)備為可被發(fā)現(xiàn)的模式時,必須指定查詢訪問碼(IAC)。JABWT支持兩種訪問模式: </p>
51、<p> DiscoveryAgent.LIAC 指定有限查詢訪問碼。設(shè)備將在唯一的有限時間周期(典型為1分鐘)里可被發(fā)現(xiàn)。經(jīng)過有限的周期后,設(shè)備會自動地返回到無法發(fā)現(xiàn)的模式。</p><p> DiscoveryAgent.GIAC 指定通用查詢訪問碼。沒有限制地被設(shè)置為可被發(fā)現(xiàn)模式在設(shè)備中長期駐存。</p><p><b> ……</b></
52、p><p> server = (StreamConnectionNotifier) Connector.open(url);// 創(chuàng)建一個服務(wù)連接</p><p> conn = server.acceptAndOpen();//接受一個新的客戶端連接</p><p><b> 手機端主要代碼:</b></p><p&g
53、t; local = LocalDevice.getLocalDevice();//取得本地藍牙設(shè)備</p><p> agent = local.getDiscoveryAgent();//取得本地藍牙設(shè)備發(fā)現(xiàn)代理</p><p> agent.startInquiry(DiscoveryAgent.GIAC, this); //啟動發(fā)現(xiàn)附近設(shè)備</p><p&
54、gt; 設(shè)備發(fā)現(xiàn)以調(diào)用startInquiry()函數(shù)開始。在請求進行時,藍牙發(fā)現(xiàn)代理會在適當(dāng)?shù)臅r候調(diào)用回調(diào)方法DeviceDiscovered()和inquiryCompleted()。</p><p><b> ……</b></p><p> UUID[] uuids = new UUID[1];</p><p> uuids[0]
55、 = new UUID("27012f0c68af4fbf8dbe6bbaf7aa432a", false);</p><p> agent.searchServices(null, uuids, device, this);//啟動服務(wù)發(fā)現(xiàn)搜索</p><p> 服務(wù)發(fā)現(xiàn)開始于對searchServices()的調(diào)用。當(dāng)服務(wù)搜索進行時,藍牙發(fā)現(xiàn)代理會在適當(dāng)?shù)臅r候回
56、調(diào)servicesDiscovered()和 serviceSearchCompleted()方法。</p><p> conn = (StreamConnection) Connector.open(url); //建立連接[20]</p><p> 4.2.2 鼠標(biāo)控制模塊</p><p> 該模塊主要負責(zé)模擬手機的鼠標(biāo)控制功能,手機上2,8,4,6鍵代
57、表上下左右,1代表左鍵單擊,3代表右鍵單擊,*鍵代表滾輪上滾, #鍵代表滾輪下滾, 0代表中鍵。下面以鼠標(biāo)左鍵單擊為例具體介紹一下其功能是如何實現(xiàn)的:</p><p> 手機端首先獲取手機按鍵的keycode,然后在一個switch語句里進行判斷</p><p> case 49: //數(shù)字鍵1的keycode是49</p><p> rem
58、ote.bluetooth.SendData("MLCLICK"); //手機1鍵按下;</p><p><b> break; </b></p><p><b> ……</b></p><p><b> case 49:</b></p><p
59、> remote.bluetooth.SendData("SMLCLICK"); //手機1鍵釋放;</p><p><b> break;</b></p><p> 當(dāng)keycode為49時,調(diào)用sendData函數(shù)向計算機端發(fā)送相應(yīng)消息;</p><p> 計算機端根據(jù)接收到的相應(yīng)消息進行處理:&
60、lt;/p><p> if (cmd.equalsIgnoreCase("MLCLICK")) {</p><p> mouse.mClick(MouseControl.LCLICK); </p><p><b> }</b></p><p> if (cmd.equalsIgnoreCase(
61、"SMLCLICK")) {</p><p> mouse.mRelease(MouseControl.LCLICK); </p><p><b> }</b></p><p><b> ……</b></p><p> public void mClick(
62、int button) {</p><p> robot.mousePress(button);</p><p><b> }</b></p><p> public void mRelease(int button) {</p><p> robot.mouseRelease(button);</p>
63、;<p><b> }[20]</b></p><p> 4.2.3 鍵盤控制模塊</p><p> 該模塊主要負責(zé)模擬手機的鍵盤控制功能,2,8,4,6鍵代表光標(biāo)上下左右移動,1代表回車, 3代表空格,7代表tab, 9代表退格。下面以鍵盤“上”鍵為例具體介紹一下其功能是如何實現(xiàn)的:</p><p> 手機端首先獲取手機
64、按鍵的keycode,然后在一個switch語句里進行判斷</p><p> case 50: //手機上2鍵的keycode是50</p><p> remote.bluetooth.SendData("K38"); //手機2鍵按下</p><p><b> break;</b></p>
65、;<p><b> ……</b></p><p><b> case 50:</b></p><p> remote.bluetooth.SendData("SK38"); //手機2鍵釋放</p><p><b> break;</b></p
66、><p> 當(dāng)keycode為50時,調(diào)用sendData函數(shù)向計算機端發(fā)送相應(yīng)消息;</p><p> 計算機端根據(jù)接收到的相應(yīng)消息進行處理:</p><p> if (cmd.startsWith("K")) {</p><p> tring scode = cmd.substring(1);</p&
67、gt;<p> keyboard.keyPress(Integer.parseInt(scode));</p><p><b> }</b></p><p> if (cmd.startsWith("SK")) {</p><p> String scode = cmd.substring(2)
68、;</p><p> keyboard.keyRelease(Integer.parseInt(scode));</p><p><b> }</b></p><p><b> ……</b></p><p> public void keyPress(int keyCode){</p&
69、gt;<p> robot.keyPress(keyCode);</p><p><b> }</b></p><p> public void keyRelease(int keyCode){</p><p> robot.keyRelease(keyCode);</p><p><b>
70、; }[20]</b></p><p> 4.2.4 應(yīng)用程序模塊</p><p> 該模塊主要負責(zé)用手機控制部分常用的應(yīng)用程序,包括酷狗、火狐瀏覽器、Windows Media Player、IE瀏覽器、暴風(fēng)影音、PPT幻燈片,選擇程序的相應(yīng)功能按中鍵即可實現(xiàn)控制,被控制的應(yīng)用程序要保證在前臺運行,否則不能實現(xiàn)控制功能。</p><p> 對于
71、以上列出的應(yīng)用程序,在計算機端把這些應(yīng)用程序和它們的常用功能的名稱及其快捷鍵所對應(yīng)的keycode存儲在一個哈希表中,如“暴風(fēng)影音”:</p><p> <app name="暴風(fēng)影音"></p><p> <cmd keys="1" name="1. 播放/暫停"></p><p&
72、gt; <key value="32"/></p><p><b> </cmd></b></p><p> <cmd keys="2" name="2. 停止"></p><p> <key value="17"/
73、></p><p> <key value="83"/></p><p><b> </cmd></b></p><p><b> ……</b></p><p> 手機端打開后發(fā)送一條消息:</p><p> rem
74、ote.bluetooth.SendData("applist");</p><p><b> ……</b></p><p> 計算機端接收后向手機端發(fā)送哈希表中的數(shù)據(jù)信息:</p><p> if (cmd.equalsIgnoreCase("applist")) { </p&g
75、t;<p><b> try{</b></p><p> util.SendAppList.startSending(this);</p><p> }catch(Exception e){</p><p> gui.InfoLabel.setText("Exception Occured " + e.
76、toString());</p><p><b> }</b></p><p><b> }</b></p><p><b> ……</b></p><p> 手機端通過接收計算機端的數(shù)據(jù)構(gòu)建一個對應(yīng)的哈希表,顯示這些應(yīng)用程序的名稱,當(dāng)單擊某個應(yīng)用程序后,如“暴風(fēng)影音”
77、,列出其功能列表,選擇某個功能按手機中鍵后,發(fā)送相應(yīng)快捷鍵的keycode,計算機接收到信息后做相應(yīng)處理。</p><p><b> 手機端:</b></p><p> String[]keys=(String[])(remote.commandsTable.getCommandsTable())[app].g et(this.getString(this.g
78、etSelectedIndex()));</p><p> for (int x = 0; x < keys.length; x++) {</p><p> remote.bluetooth.SendData("K" + keys[x]);</p><p><b> }</b></p><p&
79、gt; for (int x = 0; x < keys.length; x++) {</p><p> remote.bluetooth.SendData("SK" + keys[x]);</p><p><b> }</b></p><p><b> ……</b></p>
80、<p> 此處計算機端處理程序與鍵盤控制模塊處理程序類似。[20]</p><p> 4.2.5 常用功能模塊</p><p> 目前的常用功能主要包括手機一鍵控制計算機的關(guān)機、重啟功能。手機端軟件在“實用工具”頁面下會有“關(guān)機”和“重啟”兩個選項,單擊任一選項會使計算機實現(xiàn)相應(yīng)功能,即關(guān)機或重啟。具體實現(xiàn)如下:</p><p><b>
81、 手機端:</b></p><p> public void commandListRunSelected(){</p><p><b> try {</b></p><p> bluetooth.SendData("run shutdown");</p><p> } catc
82、h (IOException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><
83、;p> public void commandListSendMessageSelected(){</p><p><b> try {</b></p><p> bluetooth.SendData("re start");</p><p> } catch (IOException e) {</p&g
84、t;<p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> 計算機端:</
85、b></p><p> if (cmd.startsWith("run")) {</p><p><b> try {</b></p><p> Runtime.getRuntime().exec("shutdown -s");</p><p> } catch
86、 (Exception e) {</p><p><b> }</b></p><p><b> }</b></p><p> if (cmd.startsWith("re")) { </p><p><b> try {</b
87、></p><p> Runtime.getRuntime().exec("shutdown -r");</p><p> } catch (Exception e) {</p><p><b> }</b></p><p><b> }</b></p>
88、<p> 5 系統(tǒng)運行結(jié)果分析</p><p> 圖1 啟動畫面,軟件初試啟動時的界面 圖2選擇應(yīng)用模式,按選項進入相應(yīng)功能</p><p> 首先打開計算機端的軟件,然后打開手機端軟件,計算機端顯示“等待連接”,手機端在搜索完藍牙設(shè)備后顯示搜索到的藍牙設(shè)備名稱(如圖1);連接后進入“選擇應(yīng)用模式”界面(如圖2),有鼠標(biāo)模式、鍵盤模式和應(yīng)用程序和實用
89、工具四個選擇。</p><p> 圖3 鼠標(biāo)模式,此模式下手機模擬電腦鼠標(biāo)功能 圖4 鍵盤模式,此模式下手機模擬電腦鍵盤功能</p><p> 選擇“鼠標(biāo)模式”即可進行用手機按鍵模擬電腦鼠標(biāo)的功能(如圖3),此時手機端屏幕能實時顯示鼠標(biāo)周圍的部分屏幕圖像;選擇“鍵盤模式” 即可進行用手機按鍵模擬電腦鍵盤的功能(如圖4),此模式下可用手機編輯文檔、玩賽車游戲等。</p>
90、<p> 圖5 應(yīng)用程序(酷狗),手機控制酷狗軟件 圖6 應(yīng)用程序(IE瀏覽器),手機控制IE瀏覽器</p><p> 選擇“應(yīng)用程序”即可進入應(yīng)用程序界面,目前包括的常用程序有酷狗(如圖5)、火狐瀏覽器、Windows Media Player、IE瀏覽器(如圖6)、暴風(fēng)影音和PPT幻燈片。選擇某個應(yīng)用程序即可對其進行控制,但要保證該應(yīng)用程序在前臺運行。[20]</p>
91、<p><b> 6 結(jié) 論</b></p><p> 目前本軟件系統(tǒng)的開發(fā)工作以基本完成,順利達到了初期開題時所要實現(xiàn)的目標(biāo)。實現(xiàn)的功能有:手機按鍵模擬電腦鼠標(biāo),包括鼠標(biāo)的上下左右移動,鼠標(biāo)的左右鍵點擊,中間滾輪的滑動、按鍵等;手機按鍵模擬電腦鍵盤的部分按鍵,包括上下左右鍵,空格鍵、退格鍵、tab鍵和回車鍵;以及用手機控制電腦的部分常用軟件,包括酷狗、暴風(fēng)影音、IE瀏覽器、
92、ppt等,實現(xiàn)的功能有用手機控制播放器的音量、播放/暫停、快進快退、視頻音頻移動、網(wǎng)頁的新建與關(guān)閉、ppt的播放、換頁與停止等,還有手機一鍵控制計算機常用功能,即關(guān)機和重啟等。</p><p> 本軟件系統(tǒng)較深度研究了藍牙的通信機制以及計算機相應(yīng)控制功能的API,將手機與電腦用藍牙連接的功能從只有傳輸文件擴展到更多的方面,更新了手機功能,創(chuàng)新了藍牙應(yīng)用,革新了電腦控制觀念。此軟件系統(tǒng)第一適合休閑,方便用戶在使用
93、時無線遠程控制,不增加更多的遙控設(shè)置,也不用將電腦放在面前,遠離輻射,如用電視般舒適地用電腦。第二適合教學(xué),只要老師有手機在加一個藍牙適配器即可。第三適合手機商,他們可將此應(yīng)用綁定于手機,可以作為其一個賣點。手機和計算機的融合已是一種趨勢,實現(xiàn)手機和計算機的融合對于娛樂互動和新媒體的推廣也有一定的促進作用,讓人們更好的享受移動新媒體所帶來的娛樂功能。</p><p> 雖然目前本軟件系統(tǒng)已經(jīng)支持了一些功能,但為
94、了更好地滿足用戶的需要,還需要進一步開發(fā)更多功能,向方便用戶使用的方向,進行進一步的研究與開發(fā),開發(fā)用戶切實需要的功能,如擴大鍵盤功能的控制范圍,使用手機打開電腦端軟件時有更快捷的方式,而不是在模擬鼠標(biāo)功能里打開,還有就是增加控制應(yīng)用軟件的數(shù)量和控制的功能,使用戶使用起來更方便、控制范圍更廣。</p><p><b> 致 謝</b></p><p> 大學(xué)生活
95、是人生中最美好的一段時光,在浙江傳媒學(xué)院的四年生活給了我人生中最寶貴的經(jīng)歷,不管是學(xué)業(yè)上還是生活中,都是我人生中最精彩的一段。值此論文完成之際,我謹向我的導(dǎo)師以及其他教誨、關(guān)心和幫助過我的老師和同學(xué)們表示衷心的感謝和誠摯的祝福!</p><p> 首先我要感謝我的導(dǎo)師林生佑副教授,是他把我領(lǐng)進了程序設(shè)計的大門,并一直指引著我穩(wěn)步向前。從論文的選題開始、研究工作的開展到論文的最后完成,都傾注了林老師大量的心血,在
96、本論文的撰寫過程中,林老師提出了許多寶貴的意見。除此之外,林老師嚴謹認真的治學(xué)態(tài)度,積極樂觀的生活態(tài)度,言傳身教,對我都產(chǎn)生了深遠的影響。在此,特向林老師致以最誠摯的敬意和最衷心的感謝。</p><p> 同時,我要感謝新媒體學(xué)院潘瑞芳教授,謝謝潘院長給我們提供了良好的學(xué)習(xí)環(huán)境,讓我們能夠更充分的利用教學(xué)資源,提高自己的專業(yè)水平。感謝班主任錢歸平副教授,謝謝錢老師四年來對我們無微不至的關(guān)懷,無論是學(xué)習(xí)上,還是生
97、活上,只要我們遇到困難,總有錢老師的身影,他不僅是我們學(xué)習(xí)上的好老師,更是我們生活中的好朋友。同時還要感謝張元老師、隋慧云老師、馬同慶老師、張帆老師、張浩斌老師以及其他新媒體學(xué)院的老師們,謝謝他們的孜孜不倦和循循善誘,謝謝他們的精益求精和永不自滿,讓我有一種空杯心態(tài),促使我的作品做得更好。</p><p> 再者,感謝新媒體學(xué)院學(xué)工辦的楊波老師,謝謝他對我們平時學(xué)習(xí)生活中的關(guān)心和幫助,讓我們能把大量的精力都投入
98、到學(xué)習(xí)中來。我還要感謝這四年來關(guān)心和幫助過我的同學(xué)們,感謝你們給了我四年的友誼,我希望我也堅信我們的友誼會地久天長。</p><p> 還有,要衷心感謝我的父母,他們給予我最溫暖的關(guān)懷,同我分享快樂與憂愁,給我創(chuàng)造了良好的生長環(huán)境和生活環(huán)境。沒有他們的鼓勵、支持,我不可能全身心的投入到學(xué)習(xí)中,沒有他們無私的愛就不會有我的今天,所以在此我要把我最濃厚的愛獻給我的父母。</p><p>
99、最后,對在百忙之中抽出時間評審論文和參加答辯的各位老師表示誠摯的感謝!</p><p><b> 參考文獻</b></p><p> [1]袁躍祥. J2ME的手機與計算機藍牙通信系統(tǒng)設(shè)計[D].蘇州大學(xué)本科生畢業(yè)設(shè)計,2009.</p><p> [2]姚培華.“藍牙”技術(shù)及其應(yīng)用研究[J]. 科技信息,2008,36:234.<
100、/p><p> [3]張慧. 基于藍牙的通信軟件實現(xiàn)分析[J]. 科技信息,2009, 36:315-316.</p><p> [4]張金學(xué). JavaMIDP平臺下藍牙通信軟件設(shè)計[J]. 科技廣場,2011,7:66-69.</p><p> [5]張紅,孫啟美,李鋒. 基于藍牙技術(shù)的手機與PC 通信的實現(xiàn)[J]. 計算機時代,2007,6:62-63.&l
101、t;/p><p> [6]劉宇, 李建黎. 基于藍牙技術(shù)的無線顯示屏系統(tǒng)設(shè)計[J]. 單片機與嵌入式系統(tǒng)應(yīng)用,2010,1:61-64.</p><p> [7]兆雪. 藍牙技術(shù)概況[J]. 民辦教育研究,2009,10:89-92.</p><p> [8] 王彩峰,馬永斌. 藍牙技術(shù)及其應(yīng)用前景分析[J]. 科技信息,2009,35:454,483.</
102、p><p> [9]陳曉湖. 藍牙技術(shù)淺析及應(yīng)用展望[J]. 才智,2008,19:157-158.</p><p> [10]白云飛,王平,孫攀. 藍牙通信模塊的設(shè)計與實現(xiàn)[J]. 數(shù)字通信世界,2006,9:72-74.</p><p> [11]黃明. 淺析藍牙技術(shù)及其應(yīng)用[J]. 鄂州大學(xué)學(xué)報,2009,9:19-21.</p><p&
103、gt; [12]姚霽耘. 基于藍牙技術(shù)的手機遙控系統(tǒng)開發(fā)研究[J]. 電腦與電信,2011,8:49-51.</p><p> [13](美)Y.Daniel Liang.Java語言程序設(shè)計基礎(chǔ)篇[M].機械工業(yè)出版社,2008</p><p> [14]王曉.J2ME程序開發(fā)實用案例從入門到精通[M].清華大學(xué)出版社,2007</p><p> [15]
104、劉雪峰, 藍牙技術(shù)及其應(yīng)用[J].國外電子元器件. 2002.5</p><p> [16] N. Sriskanthan*, F. Tan, A. Karande. Bluetooth based home automation system[J]. </p><p> Microprocessors & Microsystems. 2002.8:281-289</p&
105、gt;<p> [17] Morin, Thomas Q. Bluetooth[J]. Boulevard. 2001.27:225-226</p><p> [18]李政儀.J2ME手機游戲開發(fā)技術(shù)與實踐[M].清華大學(xué)出版社,2010</p><p> [19]C. Enrique Ortiz.使用Java藍牙無線通訊技術(shù)API [Z].2006</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 手機遙控計算機(mpcpc)系統(tǒng)的開發(fā)與實現(xiàn)
- 計算機畢業(yè)論文---教務(wù)管理系統(tǒng)設(shè)計與實現(xiàn)
- 小型點歌系統(tǒng)的設(shè)計與實現(xiàn)-計算機畢業(yè)論文
- 大學(xué)計算機專業(yè)畢業(yè)論文-企業(yè)采購開發(fā)管理系統(tǒng)設(shè)計與實現(xiàn)
- 計算機專業(yè)畢業(yè)論文-旅游管理系統(tǒng)的研究與開發(fā)
- 計算機專業(yè)畢業(yè)論文---人才招聘系統(tǒng)的實現(xiàn)
- 計算機專業(yè)畢業(yè)論文--人才招聘系統(tǒng)的實現(xiàn)
- 計算機畢業(yè)論文范文畢業(yè)論文計算機專業(yè)
- 計算機專業(yè)畢業(yè)論文---教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)
- 計算機專業(yè)畢業(yè)論文-- 人才招聘系統(tǒng)的實現(xiàn)
- 計算機專業(yè)畢業(yè)論文--人才招聘系統(tǒng)的實現(xiàn)
- 計算機畢業(yè)論文個人空間系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文-計算機學(xué)院網(wǎng)站設(shè)計與實現(xiàn)
- 計算機故障與處理-計算機專業(yè)畢業(yè)論文
- 計算機畢業(yè)論文
- 計算機畢業(yè)論文 計算機組裝與維護
- 計算機畢業(yè)論文
- 計算機信管畢業(yè)論文-計算機基礎(chǔ)網(wǎng)絡(luò)答疑系統(tǒng)
- 計算機專業(yè)畢業(yè)論文人才招聘系統(tǒng)的實現(xiàn)
- 計算機系畢業(yè)論文--賓館管理系統(tǒng)的設(shè)計與實現(xiàn)
評論
0/150
提交評論