freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的手機通訊協(xié)議應(yīng)用研究和實現(xiàn)-預(yù)覽頁

2025-06-20 18:06 上一頁面

下一頁面
 

【正文】 先進功能。 目前,在智能手機上運行的操作系統(tǒng)主要有:微軟的Windows Windows Mobile、 CE,諾基亞的Symbian OS,RIM的黑莓,蘋果的iPhone以及Google 的Android。 數(shù)據(jù)顯示,短短的一年間,Android的市場占有率就增長了4.2個百分點。Android的官方版本就是以開放手機 聯(lián)盟的名義發(fā)布的。另一方面,Android提供了一套免費的軟件開發(fā) 工具(Software development kit),而且與Android的源代碼同步更新。Android的前景很美好。國內(nèi)的手機開發(fā)商開發(fā)智能手機時,需要交付版權(quán)費 以及培訓(xùn)費用。通過對Android源 代碼的分析和研究,在智能手機領(lǐng)域?qū)楷F(xiàn)一批又一批的高素質(zhì)人才。在我們的研究開題時,市面上還沒有國 內(nèi)廠家生產(chǎn)的基于Android平臺的手機出售。不同的設(shè)計方案,通 訊功能實現(xiàn)的方式有差異。在手機業(yè)務(wù)高速發(fā)展的階段,這兩種通 訊方式為手機積累了大量的用戶,是手機市場茁壯成長的基石。手機功能多樣化、應(yīng)用軟件智能化, 多媒體技術(shù)的應(yīng)用,都需要高效率的處理器以及智能操作系統(tǒng)的支持。因此,在通訊方面,僅僅具有 通話和短信功能的手機不能滿足需求,手機必須要接入互聯(lián)網(wǎng)絡(luò)。 1.3文章結(jié)構(gòu) Android作為智能操作系統(tǒng)的新貴,其發(fā)展歷史很短暫。 為了讓讀者更好的了解文章論述的內(nèi)容,在第2章中,我將通過介紹目前市面上 的一些Android產(chǎn)品以及它們的通訊功能,從而引出論文相關(guān)的概念和協(xié)議,并 較粗略地描述協(xié)議的應(yīng)用過程。由HTC制造的,首款Android智能手機,T-mobile G1[8]就是采 用高通的芯片。另外,還要根據(jù)各種協(xié)議和規(guī)范, 實現(xiàn)通話、短信息服務(wù)、手機連接互聯(lián)網(wǎng)絡(luò)的功能。 8 蘭州大學(xué)碩七學(xué)位論文 第2章論文相關(guān) 2.1 Android平臺介紹 在全球范圍內(nèi),截止2009年底,Android手機開發(fā)平臺至少被裝備到18款 手機中[10]。 但從兩者的共性來看,他們都運行在GSM網(wǎng)絡(luò)中,支持GPRS和EDGE[13],具有 通話、短信息服務(wù)等基本通訊功能。任何一個 運行在Android系統(tǒng)中的應(yīng)用程序,在遵循Android應(yīng)用程序框架安全性限制的 前提下,都可以發(fā)布它特有的功能模塊,使得別的Android應(yīng)用程序可以調(diào)用該 功能模塊。Dalvik虛擬機使用自己特有的字節(jié)碼文件,以滿足內(nèi)存大小有限, 處理器速度受限的手機終端設(shè)備的需求。 Webkit的代碼簡潔,結(jié)構(gòu)合理,有利于開發(fā)。 Android系統(tǒng)中提供了2D和3D的圖形庫,開發(fā)者可以利用這些圖形庫開發(fā) 各種圖形效果。 5.利用SQLite數(shù)據(jù)庫存儲數(shù)據(jù)。而對于寫操作,只有當(dāng)數(shù)據(jù)空閑的時候才 能進行操作,否則就會出錯。在手機終端設(shè)備硬件能力較低的情況下, SQLite是優(yōu)良的選擇。 7.無線電話技術(shù)。從用戶的角 度來說,GSM網(wǎng)絡(luò)能提供較好的語音質(zhì)量以及各種不同的通訊方式,例如短信息, 從而滿足用戶的需求。 8.支持藍牙、W卜Fi、攝像頭、GPS等多種時尚應(yīng)用。 在開發(fā)Java應(yīng)用時,Eclipse集成開發(fā)環(huán)境是最常用的。每個新建的應(yīng)用程序都是一個Android項目。也正是通 過GSM網(wǎng)絡(luò),手機設(shè)備間才能進行通訊。這主要是因為GSM提供了一系列的開放標準 和協(xié)議,并且能夠被更好的部署在各種設(shè)備中。這三個部分具體涉及到的內(nèi)容很 多,很復(fù)雜,而且其設(shè)備都是由運營商投資建設(shè)的。而基站子系統(tǒng)的作用就是切換手機終端與基站間的連接,維持無 ————』燮塑燮 線信號傳輸?shù)倪B續(xù)性。 2.2.2通訊協(xié)議 通訊時,數(shù)據(jù)從手機終端傳輸?shù)交?,最后到達目標設(shè)備,其過程是由GsM 標準中的一系列通訊協(xié)議所控制的。而文章的著重點在于智能操作系統(tǒng)平臺上的通訊協(xié)議的應(yīng)用。下文將描述與上層應(yīng)用相關(guān)的協(xié)議’以及探 討這牲協(xié)議在實現(xiàn)相關(guān)功能時的應(yīng)用過程。當(dāng)有來電時,基 帶會用AT命令主動通知應(yīng)用程序。為此,在應(yīng)用AT命令的時候,必須參考提供商的AT命令文檔。從軟件的角度來說,應(yīng)用程序只 需要根據(jù)當(dāng)前通話所處于的狀態(tài),向基帶發(fā)送不同的AT命令,控制通訊流程。 2.2.5短信息服務(wù) 短信息服務(wù)[23]是GSM系統(tǒng)中提供的一種便捷的通訊服務(wù),用來傳輸文本信 息。短信發(fā)送后,先被保存在短信服務(wù)中心,然后服務(wù)中心發(fā)送 給目標終端。為此文章中僅討論PDU模式。 在通訊協(xié)議的實際應(yīng)用中,短信息應(yīng)用程序必須把用戶輸入的短信息進行 PDU編碼,補全其他字段的內(nèi)容,利用AT命令把數(shù)據(jù)發(fā)送給基帶,然后基帶與 短信服務(wù)中心進行交互。GPRS通過分組的方式,讓多個用戶使用同一條信道。第一種是使用AT命令來接入GPRS 網(wǎng)。當(dāng)處理上網(wǎng) 業(yè)務(wù)時,要切換到數(shù)據(jù)模式,通話的時候要切換到命令模式。那么,通話和短信業(yè)務(wù)可以在命令通道中實現(xiàn),數(shù)據(jù)通道處 理GPRS上網(wǎng)的業(yè)務(wù)。然而,在底層實現(xiàn)中,我們要根據(jù)相關(guān) 的協(xié)議,實現(xiàn)數(shù)據(jù)的傳輸和分發(fā)。 15 蘭州人學(xué)碩士學(xué)位論文 第3章Android平臺通訊架構(gòu) 通過前面的介紹,讀者應(yīng)該對于手機GSM網(wǎng)絡(luò)有了一定的認識,了解了相關(guān) 的通訊協(xié)議,以及了解應(yīng)用協(xié)議實現(xiàn)通訊功能的相關(guān)過程與方法。另一方面,由于Android沒有考慮各種 硬件平臺的接口資源,在實際應(yīng)用中,可能會造成資源沖突。應(yīng)用程序的實現(xiàn)是基于Java語言,但與標準的Java ME[29]語言有不同。運用這些接口,應(yīng)用程序可以訪問硬件資源。硬件抽象層以.SO動態(tài)庫文 件的形式存在。 3.2 Android通訊架構(gòu)分析 3.2.1架構(gòu)描述 Android通訊架構(gòu)是Android平臺架構(gòu)的子集,符合系統(tǒng)的設(shè)計思路。短信息服 務(wù)界面中顯示了手機上存儲的所有短信息,以及提供消息編寫和發(fā)送操作的圖形 界面。以短信息服務(wù)為例,用戶在應(yīng)用主界面中輸入數(shù)據(jù),發(fā)送短信息。當(dāng)用戶設(shè) 定啟動GPRS上網(wǎng)業(yè)務(wù)時,系統(tǒng)就會進行撥號,然后利用點到點協(xié)議服務(wù)程序與 網(wǎng)絡(luò)服務(wù)器連接,獲?。桑械刂贰?然而,在數(shù)據(jù)業(yè)務(wù)的實現(xiàn)中,Android不是采用AT命令規(guī)范對數(shù)據(jù)進行封 裝,而是采用讀寫基帶的通訊接口的方法。它是Android通訊架 構(gòu)中的關(guān)鍵。為此,Android平 臺僅僅針對標準AT指令規(guī)范,構(gòu)建了一個無線接口層。T 硬件抽象層ril.SO J L res印n∞ J I solicited fequest ..respnnRe 1 r unsolicited .JPSpon毆 串口 基帶 圖3.3無線接口層的結(jié)構(gòu)圖 圖3.3中虛線部分為Android的無線接口層,它包括無線接口層監(jiān)控程序 rild以及通訊功能的硬件抽象層ril.SO(以下簡稱ril)。當(dāng)應(yīng)用程序調(diào)用RIL.java中提供的 應(yīng)用程序接口時,進程會把數(shù)據(jù)從Socket通道中發(fā)送給rild。 在Android中,我們把主動向基帶發(fā)送請求的操作稱之為request,例如撥 19 蘭州大學(xué)碩士學(xué)位論文 號,呼叫轉(zhuǎn)移、發(fā)送短消息等。在這里,主動請求,主動請求的響應(yīng)消息以及非請求的響應(yīng), 都是AT命令的集合。 通過對Android無線接口層代碼的研究,我們可以發(fā)現(xiàn)Android提供了一個 虛擬的ril。 3.3新的架構(gòu)的設(shè)計 上文提到Android在處理通話和GPRS上網(wǎng)時,會產(chǎn)生資源的沖突。這個方法是一定不會使用的。我們已經(jīng)知道,使用AT命令實現(xiàn)GPRS,需要不斷的切換數(shù)據(jù)模式和命令 模式,這樣會造成數(shù)據(jù)傳輸?shù)牡托?。這兩個關(guān)鍵點的實現(xiàn)我們將在下一章節(jié)相 關(guān)的部分進行具體分析。運用多路復(fù)用技術(shù),多條低速的數(shù)據(jù)流可以合并到同一條高速的通訊 信道中,以此來避免產(chǎn)生高額的器件成本。在開發(fā)中,用戶 需要在一條物理串口接口上實現(xiàn)多個數(shù)據(jù)鏈路連接,也就是說,在系統(tǒng)中以此串 口為主,虛擬出多個虛擬串口,供上層應(yīng)用讀寫。若數(shù)據(jù)流進入多路復(fù)用監(jiān)控程序時,程 序會依據(jù)多路復(fù)用協(xié)議,根據(jù)數(shù)據(jù)流本身所處的信道、數(shù)據(jù)長度等信息,進行數(shù) 據(jù)包封裝,然后通過ttySO發(fā)送給基帶,最后通過處理器中的多路復(fù)用協(xié)議棧, 傳輸?shù)剑牵樱途W(wǎng)絡(luò)中。也就是說,如果基帶不提供多路復(fù) 用的功能,在系統(tǒng)端,就算實現(xiàn)了多路復(fù)用協(xié)議,還是不能成功傳輸數(shù)據(jù)。根據(jù)多路復(fù)用協(xié)議以及實際硬 件基帶的特性,我們設(shè)計了新的無線接口層,稱為多路復(fù)用無線接口層。多路復(fù)用監(jiān)控程序?qū)崿F(xiàn)了對基帶通訊接口的虛擬化,產(chǎn)生了3個虛擬串口, 即AT、URC、DATA。例如,撥打電話,發(fā)短 信息等操作通過AT數(shù)據(jù)鏈路來進行,返回信息也從AT數(shù)據(jù)鏈路獲得。在系統(tǒng)網(wǎng)絡(luò)環(huán)境搭建好后,第三個數(shù)據(jù)流data就是網(wǎng)絡(luò) 數(shù)據(jù)包的數(shù)據(jù)通路。 4.1 Android相關(guān)開發(fā)準備 4.1.1開發(fā)環(huán)境搭建 1.我們用到的手機設(shè)計方案中,硬件部分的關(guān)鍵部件是聯(lián)發(fā)科基帶 MT6223[32]。綜合來說,MT6223是最佳成本效益的一款基帶產(chǎn) 品,能夠滿足我們實現(xiàn)計劃功能的需要。與x86對比,arm更省電,待機時間更長。Google提供的Android源碼丌發(fā)工具中就有在X86 平臺中交叉編譯的工具鏈。Blob是一款開放源代碼的、強大的啟動引導(dǎo)程序。具體的下載 方法和Linux系統(tǒng)工作環(huán)境的設(shè)置可以參考官方網(wǎng)站的說明[34]。獲?。悖酰穑悖幔耄宸种?的方法是在下載的命令中,增加命令參數(shù)一b 2 Android cupcake。當(dāng)然,我們需要 根據(jù)手機設(shè)計方案中的設(shè)備的特性,修改Linux內(nèi)核中的各種驅(qū)動程序等。開機運行時,系統(tǒng)加電 后引導(dǎo)程序Blob會引導(dǎo)系統(tǒng)內(nèi)核啟動,然后內(nèi)核會加載文件系統(tǒng)。在系統(tǒng)啟動的初始階段,串口多路復(fù)用監(jiān)控程 蘭州人學(xué)碩士學(xué)位論文 序就必須啟動。串口多路復(fù)用方法的實現(xiàn)有兩 個關(guān)鍵點,一是多路復(fù)用協(xié)議的實現(xiàn),二是實現(xiàn)虛擬多串口。而在兩個標志域中間的字段才是 有效的數(shù)據(jù)。 EA是擴展標志位,如果EA置l,則表示該地址域中只有這一字段。在表4.1中列舉了兩種數(shù)據(jù)幀,分別是UIH和 SABM。UIH數(shù)據(jù)幀是用來傳輸數(shù)據(jù)信息的。數(shù)據(jù)鏈路建立后,基帶返回一個數(shù)據(jù)幀,其中P/F位也置1。校驗 域,我們在實現(xiàn)中用到了CRC校驗。mux—read接口的作用是接收基帶傳輸過 來的信息。虛擬終端要起作用,必須把主節(jié)點的文件描述符作為 參數(shù),傳遞給grantpt和unlockpt函數(shù),從而修改虛擬終端的訪問屬性以及對 虛擬終端進行解鎖。這些配置信息包 括數(shù)據(jù)鏈路地址,數(shù)據(jù)鏈路上流通的數(shù)據(jù)幀類型,數(shù)掘鏈路的優(yōu)先級等等。 2.向控制信道發(fā)送UIH數(shù)據(jù)幀,數(shù)據(jù)幀中的數(shù)據(jù)內(nèi)容為DLC 1的配置信息, 從而在處理器中注冊上第l條數(shù)據(jù)鏈路通道。 6.向控制信道發(fā)送UIH數(shù)據(jù)幀,數(shù)據(jù)幀中的數(shù)據(jù)內(nèi)容為DLC 3的配置信息, 從而在處理器中注冊上第3條數(shù)據(jù)鏈路通道。V.24控制信號是只有一個字節(jié)大小的數(shù)據(jù)。圖4.1 描述了數(shù)據(jù)發(fā)送的數(shù)據(jù)流程,圖4.2描述了數(shù)據(jù)接收的數(shù)據(jù)流程。然后,需要把消息信息一個字節(jié)不漏的復(fù)制到新增加的 緩存區(qū)內(nèi),緊跟在控制信號之后。那么,這個新增的緩存區(qū)就是系統(tǒng)要接收的消息。而硬件抽象層是與多路復(fù)用監(jiān)控程序創(chuàng)建出來的3個虛擬串口 蘭州人學(xué)碩士學(xué)位論文 直接通訊的。 為了方便操作,我們在多路復(fù)用監(jiān)控程序中為這些設(shè)備文件建立了對應(yīng)的符 號連接,分別為/dev/data,/dev/urc,/dev/at。相關(guān)代碼如下: int int i nt fd_at=open(“/dev/at”,O__RDWR 0一NONBLOCK): fd—urc=open(“/dev/urc”,0一RDWR 1 0一NONBLOCK): fd—data=open(“/dev/data”,0一RDWR 0一NONBLOCK): 其次,我們需要解決數(shù)據(jù)讀取的問題。實現(xiàn)這個過程,我 們運用Linux的系統(tǒng)調(diào)用select[37]來完成。而, 我們要實現(xiàn)的架構(gòu)中,AT數(shù)據(jù)鏈路通道和DATA數(shù)據(jù)鏈路通道都是可以寫數(shù)據(jù)的。在我們的方案中,Android系統(tǒng)平臺是通過串 口來訪問基帶的。等待socket 連線啟動后,返回socket的文件描述符fd。但是在參數(shù)上我們進行了修改,因為這需要與我們在無 線接口層監(jiān)控程序中建立的服務(wù)器相匹配。首 先,需要通過tcgetattr函數(shù)獲取存儲串口屬性設(shè)置的結(jié)構(gòu)體,然后修改結(jié)構(gòu)體 的值域,設(shè)置串口輸入輸出的波特率,最后通過tcsetattr函數(shù)保存串口屬性設(shè) 32 蘭州大學(xué)碩士學(xué)位論文 置。 這些都需要根據(jù)硬件的情況來設(shè)置。當(dāng)有來電時,基帶向系統(tǒng)周期性地主動上報消 息,消息內(nèi)容是“RING”,表示有鏈接請求。用戶需要結(jié) 束通話時,進行掛斷電話的操作。 當(dāng)需要撥打電話時,用戶在撥號界面輸入對方號碼,然后確認撥出,接著應(yīng) 用程序會接管工作。撥號操作進行后,系統(tǒng)進入撥號等待狀態(tài)。 在AT命令集標準協(xié)議[22]中,設(shè)定了一條AT命令一AT+CLCC,來查詢 當(dāng)前的通話狀態(tài)。表4.2 描述了CLCC查詢通話狀態(tài)的狀態(tài)字段。 通話狀態(tài)轉(zhuǎn)換圖描述了整個通話的過程,強調(diào)了各種狀態(tài)和操作的對應(yīng)關(guān) 系。短信功能擁有最廣泛的用戶群體,創(chuàng)造著巨大的產(chǎn)業(yè)價值。 4.5.1發(fā)送短信息 我們分析過Android的通訊架構(gòu),而短信息服務(wù)的相關(guān)操作就分布在各個架 構(gòu)層中。這些信息可以在用戶輸入信息并提出發(fā)送請求時獲取。在此階段,我們需要依據(jù)PDU 編碼標準[25]來對數(shù)據(jù)進行編碼。我們可以通過AT命令“AT+CSCA"來獲取其地址。而 關(guān)于短信息的類型,我們常用到的是SMS—SUBMIT(信息發(fā)送),SMS—DELIVER(信 息接收),SMS-STATUS REPORT(短信狀態(tài)報告)。在服務(wù)中心保存的信 息會進行重新發(fā)送的操作,直到發(fā)送成功或不再存儲。我們可以從中獲得的有用的信息,包括短信
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1