Android硬體開發之 藍芽技術

2021-08-15 23:41:41 字數 1369 閱讀 7728

藍芽(bluetooth)是一種短距離的無線通訊技術標準。這個名子**於10世紀丹麥國王harald blatand,英文名子是harold bluetooth。在無線行業協會組織人員的討論後,有人認為用blatand國王的名字命名這種無線技術是再好不過了,這是因為blatand國王將挪威、瑞典和丹麥統一起來,這就如同這項技術將統一無線通訊領域一樣。至此,藍芽的名字也就這樣定了下來。

藍芽協議分為4層,即核心協議層、電纜替代協議層、**控制協議層和採納的其它協議層。這4種協議中最重要的是核心協議。藍芽的核心協議包括基帶、鏈路管理、邏輯鏈路控制和適應協議四部分。其中鏈路管理(lmp)負責藍芽元件間連線的建立。邏輯鏈路控制與適應協議(l2cap)位於基帶協議層上,屬於資料鏈路層,是乙個為高層傳輸和應用層協議遮蔽基帶協議的適配協議。

第一種開啟藍芽的方式會彈出對話方塊,等待使用者確認

intent enableintent = new intent(bluetoothadapter.action_request_enable);

startactivityforresult(enableintent, 1);

必須設定許可權

bluetoothadapter adapter = bluetoothadapter.getdefaultadapter()

adapter.enable();

adapter.disable();

無論是bluetoothsocket,還是bluetoothserversocket,都需要乙個uuid(全域性唯一識別符號,universally unique identifier).格式如下:

******xx-***x-***x-***x-************

uuid的格式被分成5段,其中中間3段的字元數相同,都是4,第1段是8個字元,最後一段是12個字元。所以uuid實際上是乙個8-4-4-4-12的字串。

uuid相當於socket的埠,而藍芽位址相當於socket的ip。

兩個藍芽裝置進行連線時需要使用同乙個uuid。但很多讀者可能發現,有很多態號的手機(可能是非android系統的手機)之間使用了不同的程式也可以使用藍芽進行通訊。從表面上看,它們之間幾乎不可能使用同乙個uuid。

實際上,uuid和tcp的埠一樣,也有一些預設的值。例如,將藍芽模擬成串列埠的服務就使用了乙個標準的uuid:

00001101-0000-1000-8000-00805f9b34fb。除此之外,還有很多標準的uuid,如下面就是兩個標準的uuid。

效果圖:

如果您覺得我的文章對您有用,請隨意讚賞!

Android藍芽開發

藍芽開發,也就那麼幾個操作,開啟 搜尋 配對 連線 通訊。其他的東西都是建立在這麼幾個之上。下面就來說說這幾個基本操作。使用前,首先加入藍芽的兩個基本許可權。然後他們基本圍繞這麼幾個類來用。這些類是什麼,慢慢來說。bluetoothadapter bluetoothadapter bluetooth...

Android藍芽開發流程

首先,要操作藍芽,先要在androidmanifest.xml裡加入許可權 然後,看下api,android所有關於藍芽開發的類都在android.bluetooth包下,只有八個類 bluetoothadapter,bluetoothclass,bluetoothclass.device,blue...

Android 藍芽開發 《一》

關於android藍芽的開發 關於藍芽,官方文件上面提到可以用來 1.掃瞄其他的藍芽裝置 2.查詢當地的藍芽介面卡,對藍芽進行配對 3.建立rfcomn 序列 協議 通道 4.通過服務發現連線其他裝置 5.和其他裝置進行資料傳輸 6.管理多個連線 藍芽基礎 blutoothadapter 藍芽介面卡...