Andriod8 0掃瞄不到BLE裝置的原因

2021-08-10 21:22:35 字數 812 閱讀 8893

昨天嘗鮮公升級了一次手機系統,把系統公升級到了android8.0。今天測試的時候意外發現掃瞄不到自己的藍芽小裝置(假如定義為裝置a)。

描述如下:

1. android8.0 + nrf connect掃瞄不到裝置a,但是可以正常掃瞄到蘋果手錶和小公尺手環2.

2. android8.0+系統藍芽也掃瞄不到裝置a,但是可以正常掃瞄到蘋果手錶和小公尺手環2.

3. android(其他版本)+ nrf connect可以掃瞄到裝置a和蘋果手錶和小公尺手環2.

4. ios+ nrf connect可以掃瞄到裝置a和蘋果手錶和小公尺手環2. 蘋果手錶和小公尺手環2比裝置a多了一行:service uuid(和incomplete list of 16-bit service uuid值一樣)和service data

5. ios+ nrf connect能看到裝置a是「non-connectable」.  manufacturer data: n/a

解決方式:

掃瞄不到說明廣播包和adv response階段出了問題。檢查advertdata裡面的值時發現,設定的字段的長度和實際不符。

修改後,ios+ nrf connect能看到裝置a是「connectable」.  manufacturer data也正常顯示了。

此時android8.0 + nrf connect也能掃瞄到裝置a了。

總結:andriod8.0在系統級,對ble的廣播包做了檢查(長度和字段),一旦沒有通過檢查,就認為是非法裝置。索性系統級就不顯示該裝置。

另外藍芽5.0的新特性如下

對service uuid和service uuid的描述如

Andriod8 0掃瞄不到BLE裝置的原因

今天除錯cc2640r2f發現 安卓8.0掃瞄不到裝置的廣播包 安卓7.12就可以掃瞄到,安卓8.0能掃瞄到別的ble裝置,就是掃瞄不到自己的裝置 解決方法 1.廣播包的資料長度是否超過31個位元組 2.廣播包裡面定義的資料長度和實際長度不一樣。0x02,length of this data ga...

MySQL8 0之跳躍範圍掃瞄

跳躍範圍掃瞄是mysql在8.0.13版本新增加的用於提高效能的新特性,跳躍範圍掃瞄可以使以前部分無法使用到聯合索引的sql利用聯合索引進行查詢,並且可以更高效的利用聯合索引,這對於使用mysql聯合索引進行查詢的應用意義重大。通過乙個示例來解釋跳躍範圍掃瞄 create table t1 f1 i...

MySQL 8 0 索引特性2 索引跳躍掃瞄

mysql 8.0 實現了index skip scan,翻譯過來就是索引跳躍掃瞄。熟悉oracle的朋友是不是發現越來越像oracle了?再者,熟悉 mysql 5.7 的朋友是不是覺得這個很類似當時優化器的選項mrr?好了,先具體說下什麼 iss,我後面全部用 iss 簡稱。考慮以下的場景 表t...