當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Android健康服務(wù)終端藍(lán)牙傳輸軟件的設(shè)計(jì)

摘要 在一款基于Android操作系統(tǒng)的健康服務(wù)終端設(shè)計(jì)基礎(chǔ)上,介紹了一種基于Android的藍(lán)牙應(yīng)用程序的設(shè)計(jì)方法。通過(guò)分析藍(lán)牙及Andr oid操作系統(tǒng),重點(diǎn)研究了在Android操作系統(tǒng)對(duì)藍(lán)牙的支持,最后設(shè)計(jì)出了基于Android操作系統(tǒng)的藍(lán)牙應(yīng)用軟件,運(yùn)行測(cè)試,符合設(shè)計(jì)要求,具有一定應(yīng)用性。
關(guān)鍵詞 藍(lán)牙;Android;健康服務(wù)終端

    隨著物聯(lián)網(wǎng)技術(shù)的不斷推動(dòng),計(jì)算機(jī)、無(wú)線通信、消費(fèi)類(lèi)電子呈現(xiàn)快速發(fā)展。體現(xiàn)物聯(lián)網(wǎng)應(yīng)用的熱點(diǎn)健康監(jiān)護(hù)領(lǐng)域,各種傳感器及無(wú)線的應(yīng)用,更能體現(xiàn)出物聯(lián)網(wǎng)技術(shù)的優(yōu)勢(shì)。作為當(dāng)今市場(chǎng)支持范圍最廣泛、功能最豐富且安全的藍(lán)牙技術(shù)與物聯(lián)網(wǎng)技術(shù)。首先,藍(lán)牙技術(shù)包含了傳感器技術(shù)、識(shí)別技術(shù)、移動(dòng)通信技術(shù)等,這些技術(shù)與物聯(lián)網(wǎng)密切相關(guān)。其次,藍(lán)牙的低功耗被看作消費(fèi)電子產(chǎn)品、體育、健康護(hù)理、汽車(chē)、自動(dòng)化等領(lǐng)域一大技術(shù)突破,也是物聯(lián)網(wǎng)技術(shù)的重要組成部分。尤其是藍(lán)牙4.0標(biāo)準(zhǔn)擁有著低耗能、傳輸范圍更大、支持拓?fù)浣Y(jié)構(gòu)等特性。藍(lán)牙技術(shù)的不斷進(jìn)步將為物聯(lián)網(wǎng)的發(fā)展提供動(dòng)力。而Android操作系統(tǒng)在兩年多的時(shí)間里,飛速發(fā)展,成功超越了塞班、IOS、微軟等操作系統(tǒng),足以證明其發(fā)展?jié)摿癘S未來(lái)的發(fā)展趨勢(shì)。尤其是Android的開(kāi)放性,大大降低了產(chǎn)品的成本,3.0版本及4.0版本對(duì)于平板電腦的支持,這足以使得Android在OS市場(chǎng)占有不敗之地。本文結(jié)合兩者的優(yōu)勢(shì),詳細(xì)分析了藍(lán)牙技術(shù)和Android操作系統(tǒng),并研究了在Android下如何對(duì)藍(lán)牙進(jìn)行應(yīng)用,最后設(shè)計(jì)出一款基于Android健康服務(wù)終端的藍(lán)牙傳輸軟件。

1 藍(lán)牙技術(shù)
    藍(lán)牙技術(shù)聯(lián)盟(Bluetooth SIG)成立于1998年,是由愛(ài)立信、英特爾、聯(lián)想、微軟、摩托羅拉、諾基亞及東芝等公司發(fā)起成立??偛吭O(shè)在美國(guó)柯克蘭州,從建立之初到現(xiàn)在共有13 528個(gè)全球成員,這些成員之間進(jìn)行廣泛的合作,為藍(lán)牙技術(shù)的發(fā)展提供指導(dǎo)意見(jiàn),推動(dòng)藍(lán)牙的發(fā)展。同時(shí)在香港、北京、臺(tái)北和日本東京、韓國(guó)首爾和瑞典的馬爾摩都有辦事機(jī)構(gòu)。
    藍(lán)牙無(wú)線通信技術(shù)工作在工業(yè)、科學(xué)以及醫(yī)學(xué)上公用的2.4 GHz ISM公用頻段,這一頻段全球通用且無(wú)需授權(quán)。藍(lán)牙系統(tǒng)采用全雙工分時(shí)傳輸信息技術(shù),信息以分組結(jié)構(gòu)的方式進(jìn)行數(shù)據(jù)交換。在傳輸過(guò)程中,各信息分組用不同的跳頻算法實(shí)現(xiàn)信息傳輸。“跳頻”技術(shù)是把頻帶分成若干個(gè)跳頻信道,在一次連接中,無(wú)線電收發(fā)器按一定的碼序列不斷地從一個(gè)信道“跳”到另一個(gè)信道,只有收發(fā)雙方按這個(gè)規(guī)律進(jìn)行通信,而其他的干擾不可能按同樣的規(guī)律進(jìn)行干擾;跳頻的瞬時(shí)帶寬很窄,這就使得來(lái)自同樣工作在2.4 GHzISM頻段的家用電器,如微波爐等帶來(lái)干擾的可能性變得很小。與其他工作在相同頻段的無(wú)線系統(tǒng)相比,藍(lán)牙跳頻每秒可以達(dá)到1 600次,速度更快,而且數(shù)據(jù)包更短,從而使藍(lán)牙比其他系統(tǒng)更穩(wěn)定。此外,藍(lán)牙通信還具有以下優(yōu)點(diǎn):(1)消耗功率極低。(2)輻射小,對(duì)人體安全影響不大。(3)成本低廉,容易實(shí)現(xiàn)。
    目前,藍(lán)牙技術(shù)已經(jīng)得到普遍的應(yīng)用,全球大約80%以上的手機(jī)使用了藍(lán)牙技術(shù)。藍(lán)牙技術(shù)的普及為物聯(lián)網(wǎng)的發(fā)展提供了一種技術(shù)選擇,具有極大的發(fā)展空間。

2 Android操作系統(tǒng)
    Android是專(zhuān)為移動(dòng)終端打造的開(kāi)放、完整的移動(dòng)平臺(tái),它是一款基于Linux內(nèi)核的開(kāi)源操作系統(tǒng),由操作系統(tǒng)、中間件、用戶(hù)界面和應(yīng)用程序組成。由Google及其開(kāi)放手機(jī)聯(lián)盟共同研發(fā),并在2008年9月份推出了Android第一版。
    Android操作系統(tǒng)架構(gòu)從下到上有5部分組成:Linux內(nèi)核、Android Runtime、庫(kù)、應(yīng)用程序框架、應(yīng)用程序。Android系統(tǒng)架構(gòu)如圖1所示。


    Linux內(nèi)核(Linux Kernel)。Android基于Linux2.6提供核心系統(tǒng)服務(wù),這是Android平臺(tái)開(kāi)放的基礎(chǔ),它提供了例如安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)模型等內(nèi)容。Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù),使得應(yīng)用開(kāi)發(fā)人員無(wú)需關(guān)心硬件細(xì)節(jié)。[!--empirenews.page--]
    Android Runtime。Android包含一個(gè)核心庫(kù)的集合,提供大部分在Java編程語(yǔ)言核心類(lèi)庫(kù)中可用的功能。每一個(gè)Android應(yīng)用程序是Dalv ik虛擬機(jī)中的實(shí)例,運(yùn)行在他們自己的進(jìn)程中。Dalvik被設(shè)計(jì)成在一個(gè)設(shè)備可以高效地運(yùn)行多個(gè)虛擬機(jī)。Dalvik VM虛擬機(jī)可執(zhí)行文件格式是.dex,dex格式是專(zhuān)為Dalvik設(shè)計(jì)的一種壓縮格式,適合內(nèi)存和處理器速度有限的系統(tǒng)。
    Libraries。Android包含一個(gè)C/C++庫(kù)的集合,這些庫(kù)供Android系統(tǒng)的不同組件使用。這些功能通過(guò)Android的應(yīng)用程序框架(Applica tion Framework)暴露給開(kāi)發(fā)者。
    Application Framework。通過(guò)提供開(kāi)放的開(kāi)發(fā)平臺(tái),Android使開(kāi)發(fā)者能夠編制極其豐富和新穎的應(yīng)用程序。開(kāi)發(fā)者可以自由地利用設(shè)備硬件優(yōu)勢(shì)、訪問(wèn)位置信息、運(yùn)行后臺(tái)服務(wù)、設(shè)置鬧鐘、向狀態(tài)欄添加通知等等,很多很多。
    應(yīng)用層(Applications)。Android裝配一個(gè)核心應(yīng)用程序集合,包括電子郵件客戶(hù)端、SMS程序、日歷、地圖、瀏覽器、聯(lián)系人和其他設(shè)置。所有應(yīng)用程序都是用Java編程語(yǔ)言寫(xiě)的。
    Android作為第一款完整的、開(kāi)放的、免費(fèi)的平臺(tái),在僅僅兩年多的時(shí)間,從最初的1.0版本到現(xiàn)在主流的2.3版本,以至剛剛發(fā)布的4.0版本,每個(gè)版本的發(fā)布對(duì)于Google來(lái)說(shuō)都是一個(gè)質(zhì)的飛躍,根據(jù)市研機(jī)構(gòu)Gartner在2011年第二季度的OS份額調(diào)查數(shù)據(jù)顯示,Android市場(chǎng)占有率達(dá)43.4%,成為最大的智能手機(jī)系統(tǒng),隨著Android手機(jī)的普及,Android應(yīng)用的需求必定會(huì)越來(lái)越大,這將是一個(gè)有著巨大潛力的市場(chǎng)。

3 Android操作系統(tǒng)下藍(lán)牙的研究
    Android平臺(tái)支持藍(lán)牙協(xié)議棧,因此支持在兩個(gè)藍(lán)牙設(shè)備之間進(jìn)行數(shù)據(jù)的傳輸。Android應(yīng)用框架層提供了允許藍(lán)牙進(jìn)行連接的API,通過(guò)這些API可以實(shí)現(xiàn)通過(guò)藍(lán)牙的應(yīng)用程序是無(wú)線連接,建立端到端的連接模式。使用藍(lán)牙API,可以實(shí)現(xiàn)應(yīng)用的如下功能:
    (1)尋找其他藍(lán)牙設(shè)備。
    (2)查詢(xún)與本地藍(lán)牙適配器配對(duì)的設(shè)備。
    (3)建立RFCOMM信道。
    (4)在兩個(gè)不同的藍(lán)牙設(shè)備之間傳輸數(shù)據(jù)。
    (5)管理多個(gè)藍(lán)牙連接。
    下面詳細(xì)介紹幾個(gè)重要的API:
    BluetoothAdapter:代表本地的藍(lán)牙適配器,是所有藍(lán)牙交互的的人口點(diǎn)。利用它可以發(fā)現(xiàn)其他藍(lán)牙設(shè)備,查詢(xún)已經(jīng)綁定的設(shè)備,使用已知的MAC地址實(shí)例化一個(gè)藍(lán)牙設(shè)備和建立一個(gè)BluetoothServerSocket來(lái)監(jiān)聽(tīng)來(lái)自其他設(shè)備的連接。
    BluetoothDevice類(lèi):代表遠(yuǎn)端的藍(lán)牙設(shè)備,使用它請(qǐng)求遠(yuǎn)端藍(lán)牙設(shè)備連接或獲取遠(yuǎn)端藍(lán)牙設(shè)備的名稱(chēng)、地址、種類(lèi)和綁定狀態(tài)。
    Bluetoothsocket類(lèi):代表藍(lán)牙套接字的接口,它是應(yīng)用程序通過(guò)輸入、輸出流與其他藍(lán)牙設(shè)備通信的連接點(diǎn)。
    Blueboothserversocket類(lèi):代表打開(kāi)服務(wù)連接來(lái)監(jiān)聽(tīng)可能到來(lái)的連接請(qǐng)求,為連接兩個(gè)藍(lán)牙設(shè)備必須有一個(gè)設(shè)備作為服務(wù)器打開(kāi)一個(gè)服務(wù)套接字。當(dāng)遠(yuǎn)端設(shè)備發(fā)起連接請(qǐng)求,并且已經(jīng)連接到了的時(shí)候,Blueboothserversoeket類(lèi)將會(huì)返回一個(gè)bluetoothsocket。
    Bluetoothclass類(lèi):描述了藍(lán)牙設(shè)備的一般特點(diǎn)和能力。它的只讀屬性集定義了設(shè)備的主、從設(shè)備類(lèi)和一些相關(guān)服務(wù)。

4 藍(lán)牙傳輸軟件的實(shí)現(xiàn)
4.1 軟件功能描述
    藍(lán)牙傳輸軟件主要實(shí)現(xiàn)對(duì)各個(gè)模塊的管理,模塊數(shù)據(jù)的接收、分析、存儲(chǔ)、發(fā)送及復(fù)雜的人機(jī)交互等任務(wù)。為能夠合理分配硬件資源、提供更人性化的界面以及使用通用的硬件設(shè)備,在軟件設(shè)計(jì)時(shí),健康服務(wù)終端采用Android操作系統(tǒng)為用戶(hù)界面。
4.2 圖形用戶(hù)界面設(shè)計(jì)
    程序界面主要包括3個(gè)與用戶(hù)進(jìn)行交互的Activity:(1)模塊顯示。(2)血氧歷史記錄。(3)血壓歷史記錄。
    為減少應(yīng)用所需的內(nèi)存量,項(xiàng)目沒(méi)有添加任何圖片及聲效。界面簡(jiǎn)單直觀,便于操作。首先將各模塊列表作為應(yīng)用程序的主界面。程序運(yùn)行的最開(kāi)始加載此項(xiàng)。
    當(dāng)應(yīng)用程序啟動(dòng)后,第一個(gè)顯示出各個(gè)模塊的列表和當(dāng)前測(cè)試數(shù)據(jù)。界面設(shè)計(jì)通過(guò)XML的資源文件進(jìn)行定義。
    歷史記錄模塊采用了專(zhuān)為Android系統(tǒng)設(shè)計(jì)的圖形庫(kù)AChartEngine,可以用于繪制多種圖表。
    歷史記錄的顯示主要通過(guò)不同的線條顏色,點(diǎn)的形狀來(lái)區(qū)分顯示的不同內(nèi)容。
4.3 軟件功能設(shè)計(jì)
    軟件功能設(shè)計(jì)包括藍(lán)牙管理,連接建立,數(shù)據(jù)傳輸及數(shù)據(jù)處理。
    藍(lán)牙部分設(shè)計(jì)
    在Android操作系統(tǒng)下,提供了對(duì)藍(lán)牙管理的API,藍(lán)牙開(kāi)發(fā)流程如圖2所示。首先要判斷設(shè)備是否支持藍(lán)牙,并且保證藍(lán)牙可用。

[!--empirenews.page--]
    mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
    如果藍(lán)牙可用,則mBluetoothAdapter不為空,然后判斷藍(lán)牙是否打開(kāi),若未打開(kāi),則提示用戶(hù)打開(kāi)藍(lán)牙。

    到此,藍(lán)牙設(shè)備已經(jīng)打開(kāi)。
    在Android應(yīng)用程序開(kāi)發(fā)中,若要建立兩個(gè)藍(lán)牙設(shè)備的連接,必須實(shí)現(xiàn)客戶(hù)端和服務(wù)器端代碼。一個(gè)用來(lái)開(kāi)啟服務(wù)監(jiān)聽(tīng),一個(gè)發(fā)送連接請(qǐng)求。當(dāng)它們都擁有一個(gè)藍(lán)牙套接字在同一RFECOMM信道上時(shí),說(shuō)明它們之間已經(jīng)建立好連接。服務(wù)器端采用accept()方法來(lái)建立連接。由于accept()方法是一種阻塞調(diào)用,因此不應(yīng)該放在主Acitvity里,要新建一個(gè)線程來(lái)管理。
   
    而客戶(hù)端則采用connect()方法來(lái)建立連接。同樣也是一種阻塞調(diào)用,同樣需要新建一個(gè)線程來(lái)管理。

    當(dāng)設(shè)備連接上以后,每個(gè)設(shè)備都擁有各自的Bluetoothsocket。現(xiàn)在就可以實(shí)現(xiàn)設(shè)備之間數(shù)據(jù)共享了。同樣讀取和寫(xiě)操作都是阻塞調(diào)用,需要建立一個(gè)專(zhuān)用的線程來(lái)管理。
   
    [!--empirenews.page--]
    在兩個(gè)Activity之間,可以用Handler傳遞信息,使用getInputStream()獲得由傳感器傳來(lái)的數(shù)據(jù)并顯示在主界面中。

4.4 藍(lán)牙傳輸軟件的運(yùn)行與測(cè)試
    由于藍(lán)牙不能在虛擬機(jī)中測(cè)試,所以將程序打包后,安裝到支持藍(lán)牙的Android手機(jī)中,然后點(diǎn)擊血壓按鈕,將與血壓模塊建立連接,同時(shí)實(shí)時(shí)顯示當(dāng)前血壓值。點(diǎn)擊歷史記錄按鈕,則會(huì)顯示一周內(nèi)測(cè)試結(jié)果,并以圖片形式顯示出來(lái)。程序運(yùn)行結(jié)果如圖3和圖4所示。

         



5 結(jié)束語(yǔ)
    Android在OS市場(chǎng)份額的不斷增加,足以體現(xiàn)出Android的優(yōu)勢(shì),而藍(lán)牙4.0版本低功耗技術(shù)更適合于遠(yuǎn)程控制、醫(yī)療保健及運(yùn)動(dòng)感應(yīng)器等新興市場(chǎng)。文中結(jié)合兩者的優(yōu)勢(shì),設(shè)計(jì)出一款基于android的藍(lán)牙傳輸軟件,主要應(yīng)用于健康服務(wù)領(lǐng)域,在實(shí)際生活中具有很強(qiáng)的應(yīng)用性。論文介紹了軟件的初步設(shè)計(jì),還有很多功能需要完善,比如界面的美化,更方便快捷地管理藍(lán)牙設(shè)計(jì),數(shù)據(jù)傳輸?shù)姆€(wěn)定性及準(zhǔn)確性等,這些將是以后研究的重點(diǎn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉