假日藍芽工程師, 架設環境
因為運動的關係,我迷上用藍芽4.0低功率規格(BLE)。
我把小米手機刷了Android 4.4好支援這個規格,還買了藍芽心跳帶。我發現這個心跳帶剛開始都不準,想知道藍芽是怎麼回事。研究的平台選用最近買的玩具,Raspberry Pi (RPi),究竟這東西是有趣又好玩還是折磨自己,等等就知道了...
----
環境架設
Linux的藍芽堆疊棧是bluez,這是Qualcomm贊助的一個計畫,還是官方的Linux Kernel driver。不過有趣的是,Google和Broadcom合作的Bluedroid從Android 4.2開始取代了bluez。假日工程師選擇成熟的方案,bluez。
Raspbian內建的bluez在2014/9/28依然很舊,所以網路文章建議到官網抓新版的bluez。我抓的是5.23板,雖然RPi能跑gcc讓我驚豔,不過拿它來編譯程式,那個速度終究是原形畢露了(笑)。不管怎樣,我還是把bluez裝好,而且愉快的把環境準備好,準備開始做實驗。
Command list of get bluez
mkdir blue
cd blue
wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.23.tar.xz
xz -d bluez-5.23.tar.xz
tar xvf bluez-5.23.tar
----
火力展示
經過一番折騰,終於把環境架起來了。下面的圖片顯示,已經有一個藍芽介面起來,上面還收發了不少資料。然後我讓試著搜尋手上的藍芽心跳表,真的有找到mac address耶~
bluez附贈一個sniffer(監聽器),可以偷看資料封包。執行畫面裡,0x180d是心跳帶,傳輸功率確實很低,RSSI只有-71,表示就算掛一整天心臟應該不會燒壞。
果然玩起來有夠折騰... 心跳都還出不來...
----
看到這個會很爽,到底是不是好事呢...
預告...
mkdir blue
cd blue
wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.23.tar.xz
xz -d bluez-5.23.tar.xz
tar xvf bluez-5.23.tar
Command list of compile & install bluez
cd bluez-5.2.3
./configure --disable-systemd
make
make install
Install gatttool to the system
cp bluez-5.23/attrib/gatttool /usr/local/bin/
----
火力展示
經過一番折騰,終於把環境架起來了。下面的圖片顯示,已經有一個藍芽介面起來,上面還收發了不少資料。然後我讓試著搜尋手上的藍芽心跳表,真的有找到mac address耶~
bluez附贈一個sniffer(監聽器),可以偷看資料封包。執行畫面裡,0x180d是心跳帶,傳輸功率確實很低,RSSI只有-71,表示就算掛一整天心臟應該不會燒壞。
果然玩起來有夠折騰... 心跳都還出不來...
----
看到這個會很爽,到底是不是好事呢...
- 用gatttool和心跳帶打交道
- 解析藍芽低功率版怎麼和host溝通
- 第一次當藍芽工程師就上手
- 要顯示心跳? 我還不知道怎麼做...
留言