android L(5.0)可以作為外設通訊了

關于: 安卓能否與iphone通過藍牙4.0(BLE)通訊?

安卓手機與iphone能通過藍牙4.0進行連接嗎? 不是說都開放了各自的藍牙API么?
iphone給安卓發數據, 在安卓上可以發現iphone的服務(Service)和特征(Characteristics), 但是connect了幾秒鐘, 后面又斷開了, 感覺有些不穩定啊

===============================================================
結論是:

截止到Android4.4.2,通過BLE(藍牙4.0), 安卓手機和iphone之間, ,無法進行數據的傳輸.

其實理論上是可以, 并且在Google的官方文檔上也說可以, 但是實際上是不行的, 當時看了官方的文檔說可以, 覺得沒問題, 結果鉆研了2個星期發現壓根不行, 真是浪費了不少的時間, 希望后來的朋友看到后能夠懸崖勒馬啊, 如果有一天可以實現互通了,還請各位朋友第一時間站內信告訴我哈 (我平常事情也不少, 并不只研究藍牙這一塊)


重要補充:

根據最新的消息:

Android L(也就是Android 5.0)上, 可以讓安卓設備做為外設(Peripheral)?了, 據說能夠實現iOS與Android的互通了(本人沒親測), 但Android5.0的普及, 估計還需要一段時間


===============================================================
原因:

Android4.3 規范了BLE的API,但是直到目前的4.4,還有些功能不完善。

在BLE協議標準中,有兩個角色,外圍設備(Periphery)和中心設備(Central);外設是數據提供者(發數據的), 比如可穿戴設備, 血糖儀, 手環, 等等有藍牙4.0的芯片的設備,中心設備是數據使用/處理者(收數據的);

在iOS SDK里面,可以把一個iOS設備作為一個外設(常用來模擬各種可穿戴設備),也可以作為一個中央;

但是在Android SDK里面,直到目前最新的Android4.4.2,Android手機只能作為中心設備來使用和處理數據;

So:
安卓(4.4.2)只能單向建立連接: 它只能作為中心設備收數據, 無法以Peripharal的身份發數據 (只能當大爺啊..).
在安卓發數據時: 它發出去的數據命令包, 無法被iOS設備讀懂

現象:

通過抓取安卓的HCI Log, 發現:

安卓設備發了一個以0x02開頭的連接請求包(L2CAP信號包), 而iOS設備回了一個以0x01開頭的拒絕命令包(并附帶原因: 指令錯誤 command not understood),

分析一下發現:
安卓通過 "L2CAP協議第5通道"(一個藍牙2.0的通訊通道) , 發送了一個請求連接的命令(以0x02開頭的那個包),
它之所以這么做, 是因為iOS設備發數據的時候 , 發出的數據包中, 有1 bit的標志位沒有發, 這樣肯定就會產生誤會, 少了這個標志位, 在安卓端就代表: 不支持BLE,僅支持BR/EDR(藍牙2.0)

SO:
結果就是: 安卓錯誤的去用BR/EDR的信號通道發數據, 這不用說, 肯定會讓連接崩掉的

最終解決方案:
等待新版iOS SDK的發布, 能在底層發數據的時候, 把那1bit的標志位補上
等待Android 新版SDK, 讓其能夠忽略那1bit的標志位, 不用傳統藍牙模式傳輸, 而直接用低功耗BLE傳輸

========================================The End===============================================

?吐個槽:
整了2個星期, 得出的結論就是iphone手機和android手機, 無法進行藍牙通訊, 找出了android底層的和iOS底層的小bug, 額, 感覺是給Google和蘋果干活的, 而且一分錢還都沒有.... 能不能不要這么苦逼啊..囧....

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,415評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,104評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,884評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,647評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,130評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,366評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,887評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,737評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,174評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,586評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,827評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,608評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,914評論 2 372

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,630評論 25 708
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,465評論 2 45
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,151評論 4 61
  • 第一卷 鎖緣夢枕 第二章 靈枕 聶申躺在錦榮綢緞的床上,額頭滲著汗珠,神情無比痛苦。房間里隱隱約約縈繞著一個女子的...
    營生閱讀 2,276評論 0 6
  • 1、得知我再次創業的消息,好基友一驚,然后說:“…………………………商量個事兒”“你講”“再創業咱能不做旅行了么”...
    純銀V閱讀 39,019評論 0 292