在基於BLE4.0開發的過程中你們有哪些比較難克服的問題?

物聯網時代已然到來,智能硬體層出不窮,這個時代必然少不了藍牙開發者的存在,但是對於一些初次接觸藍牙開發的人,往往對於藍牙的底層協議有些不知所措,買回來開發板需要自己慢慢扣裡面的知識,說說你們在開發藍牙過程中遇到了哪些問題吧~


~物聯網時代已然到來,智能硬體層出不窮~ 已然到來不好說希望是吧 對於我 協議裡面有的東西基本都有所閱讀理解 BLE部分的協議放在藍牙整體來說是非常易懂的部分,更多的麻煩事是調試協議的兼容性和穩定性。 舉例 1ble的連接間隔,以蘋果為例他們家的手冊對這塊參數的描述就有幾個版本不兼容的情況,這種虧吃了就吃了 ,以後記住這公司的德性再修改這類協議參數協商的時候多做幾個狀態機,別寫死了。至於規範文檔那只是新華字典而已,作文怎麼寫的各家差距很大。 2至於開源,以bluedroid為例,它本身是BCM的產物,在商言商裡面的bug和後門你即使看到了也別驚訝…至於他們家裡有沒有強大的分支不好說。反正如果是我寫的協議棧遇到強大的商業意義很大的bug更新肯定會壓住或者緩下,讓自己公司的產品先佔領下。不管怎麼說這類來源協議確實造福了很多國內公司,也讓這個領域國內公司撕開了不少口子… ~~~~~~~~ 協議搞到現在對我的最大制約是晶元的基帶 HCI定製過程對上層軟硬體上的關聯問題,最近也撕開口子了… 其實現在的藍牙工程師很多都只是過客,公司正好要添加藍牙功能 拿到開發板調出基本功能 也不會往深里碰,至於那些對協議這類的不知所措的,那是工程能力問題,遇到這種新協議切入口和切入思路都找不到那是平常沒培養自己解決問題的能力造成的… 我居然自言自語了這麼久………… 保持對協議八阿哥的興奮……


在 IC 設計公司專業負責 BLE 相關,BT 從framework 到 IC 設計都能找到支持。

比較頭疼的就是一些兼容性問題,對比平台 OK,但是自己的平台不行,不過只要有對比信息一般都能解決。

即使有無法解決的問題,一男也會有相關結論,只是看是否重視。

如果想深入理解 BLE,建議:

1、看 BLE 規範、ATT、GATT規範

2、看懂 HCI log

3、學習stack的實現,比如 BlueDroid,學習 framework的封裝,比如Android

4、學會分析 sniffer log

5、兼容性問題多對比,看流程差異

Host 問題相對比較好處理,看一下HCI log 基本就能定位問題點。

controller 問題,對很多開發者來說,如果得不到IC 廠支持,比較難搞。

不過很多情況下 Host 是可以採用一些 workaround 方法,比如 BLE link 容易 timeout 斷開,你可以嘗試修改 supervision timeout 參數、修改 interval 參數、甚至調整 connection parameter update 時機等還是有機會改善或者解決。


在研究TI的CC2541,裡面的常式越看越茫然,比如說SimpleBLEPeripheral這個常式,該從頭到尾全部看一遍嗎?感覺好難啊。。。前輩能不能給一點BLE4.0的學習經驗和方法,總感覺自己在浪費時間走彎路


在外面弄了個很小的項目,用藍牙傳輸的,

看了TI的CC2541,自帶51內核.還能連蘋果,原本想直接用的.

結果發現整個項目難度還沒寫cc2541的51內核難度大.

藍牙的協議棧複雜些,不過TI官方有常式,

但是看了下項目驗收日期,果斷使用串口藍牙模塊.交了完事.


推薦閱讀:

藍牙自組網可以實現么?
Thread 標準與 Bluetooth Smart 相比優勢何在?
新手正在做一個電動滑板,現在有些問題希望大神能幫個忙?(為什麼非得加個問號啊這是個病句啊)
藍牙 4.0 能夠帶來哪些改變?和最新的藍牙4.1,之前的3.0,2.0的差別在什麼地方?

TAG:開發經驗 | Bluetooth40 |