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