不是所有4.0 的 USB 藍牙都有支援 BLE 的 |
安裝的方式不難,就是要花一點時間的,還有請依序照阿舍下面的序順來執行,不要偷懶或跳過,不然,編譯不成功,就麻煩了哩 ! 而如果真的沒有成功,那就從頭再一步一步來一次囉 ! ...
1. 安裝相關套件
如果有遇到 D-Bus >= 1.6 is required 的問題,就是下面的第二個套件沒安裝的原故哩 ! ..
sudo apt-get install libusb-dev
sudo apt-get install libdbus-1-dev
sudo apt-get install libglib2.0-dev --fix-missing
sudo apt-get install libudev-dev
sudo apt-get install libical-dev
sudo apt-get install libreadline-dev
2. 下載 BlueZ 原始程式碼
本來阿舍是安裝最新版的 BlueZ,不過,無奈最新版的 BlueZ 會用到一個 Raspbian 目前還不支援的套件版本,所以,最後,阿舍就建議大家安裝阿舍試過可以在 Raspbian 上成功編譯的,同時,也是網路上最多人有安裝成功的 BlueZ 5.18 版哩 !
wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.18.tar.xz
3. 解開下載的檔案
解開後,會有個 bluez-5.18 的資料夾。
tar xvf bluez-5.18.tar.xz
4. 開始編譯和安裝
cd bluez-5.18
sudo gunzip bluez-5.18.tar.gz
sudo tar xvf bluez-5.18.tar
cd bluez-5.18
sudo ./configure --disable-systemd
sudo make (下完這個指令後,就可以先去做別的事了,因為,要跑一段時間哩 ! )
sudo make install
5. 重開機
sudo reboot
6. 啟用藍牙 USB
sudo hciconfig hci0 up
7. 搜尋 BLE 裝置
有掃並出現裝置的位址 ( 6 組數字組成的位址 ) 就可以按 Ctrl-C 結束,不用等它自己跑完 ...
sudo hcitool lescan
8. 連接 BLE 裝置
用上面查到的位址來做連線
sudo hcitool lecc 99:99:99:99:99:99 (請改掉)
9. gatttool 工具
如果你需要用到 gotttool 工具來連到 BLE 裝置的話,這個 gatttool 工具是放在 bluez-5.18 的 attrib 資料夾裡,需要常用的話,可以用下面這行指令把它搬到 /usr/local/bin,下次可以直接打 gatttool 指令就可以用了哩 !
cp attrib/gatttool /usr/local/bin/
阿舍的操作範例 |
另外,不知道有沒有人和阿舍一樣,會問說,什麼時候把藍牙 USB 給插到 Raspberry Pi 才對呢 ? 阿舍是從下載和編譯 BlueZ 前,就插著的,等安裝好重開時再插,也是沒有差的哩 !
推薦閱讀
- 問題沒解決嗎? 更多的 Ubuntu 教學在 這裡
- Prompt Injection: 提示詞注入安全漏洞
- 二款 Mac 無痛安裝的 Stable Diffusion 軟體
- 用 AI 寫部落格文章好不好 ?
- 沒有免費的 Midjourney 和 Colab 又不想花錢怎麼辦 ?
- 不學 Prompt 技巧也能善用 ChatGPT 的簡單方法
- 企業 AI 應用:不只是聊天機器人
- Automatic 比 Automatic1111 更好用 ? 都是 Stable Diffusion WebUI
- Stable Diffusion 的 /describe 圖生文功能
- AI 畫出讓人可怖的美圖 !
有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁
18 則留言 :
不好意思,由於是藍牙應用的新手
能不能請問一下,使用hcitool與gatttool來連接設備的差別在哪邊?
謝謝
Hello,
請參考阿舍寫的下面這一篇 ...
http://www.arthurtoday.com/2014/12/bluetooth-low-energy-development-tool-for-node-golang-python.html
你好,不好意思,因為我現在遇到一個問題是
我可以透過gatttool成功連接藍牙4.0模組,但卻無法透過hcitool連接到模組
請問這樣問題是出在哪邊?
如果這樣的話,有甚麼方法可以傳送字串給模組嗎?
抱歉 問題有點多 可以的話再麻煩解答一下 謝謝
Hello,
阿舍感覺上你要連結的那個裝置可能是像 iBeacon 的 BLE 裝置,只能透過 BLE 的方式讀取資料,不接受一般的藍牙傳輸方式,所以,才會無法用 hcitool 來寫入哩 !
供參囉 ! ...
版主你好 謝謝你的回答
我發現問題後,現在我可以透過hcitool來連接了
上述的方法好像是透過gatttool來寫值給handle
那請問要如何傳送字串(英文字串)給模組?
謝謝
Hello,
請參考 ...
http://www.arthurtoday.com/2014/12/bluetooth-low-energy-development-tool-for-node-golang-python.html
版主您好...我想請教一下....我也是用raspbian 上的bluez 4.99, 他裡內就有gatttool了, 不知跟您提到的bluez 5.18 gatttool有什麼不同呢? 再者我用bluez 4.99的gatttool, 與在iphone 6上裝一個叫LightBlue的app, 用lescan掃描可以掃的到, 但gatttool建連線, 就是連不起來, 不知是什麼原因造成的耶。
你好,我是個小小初學者多多包涵,照著您的教學做到步驟4後,""sudo gunzip bluez-5.18.tar.gz""
""sudo tar xvf bluez-5.18.tar"",這兩行程式不知道為什麼都讀不到,懇求解答。
Hello crtt,
阿舍記得的是,BlueZ 是 5.X 版後才有支援 BLE 功能,4.X 好像不太行皊樣子哩 ! ...
供參囉 ... ^^=
Hello Achun,
請問錯誤訊息是什麼 ? ...
你好,輸入""sudo tar xvf bluez-5.18.tar"" 的錯誤訊息是
gzip: bluez-5.18.tar.gz: No such file or directory
另一個也這樣
且確定有進去到那個藍芽的資料夾路徑
Hello,
就訊息看來,應該是找不到 bluez-5.18.tar.gz 這個檔案,請問資料夾裡有什麼檔案 ?
我也是
cd bluez-5.18
sudo gunzip bluez-5.18.tar.gz
sudo tar xvf bluez-5.18.tar
在cd bluez-5.18中沒看到這兩個檔案QQ
請問有推薦使用哪一款 藍芽 ?usb
Hello,
阿舍是找產品上有寫,支援 V4.0 並有支援 BLE ( Bluetooth Low Energy ) 或「低功耗技術」的藍芽 USB ..
供參囉 ! ... ^^=
您好~我用pi3上內建的藍芽 一對多連接藍芽4.0裝置是可以辦得到的嗎?
Hello,
阿舍沒試過,但是,阿舍查了一下,應該是沒問題 (可能需要切換 Channel),不過,如果是要同一種裝置連結很多個的話,那就比較麻煩哩 ...
供參囉 ! ... ^^=
張貼留言
歡迎留言提問和討論 .... 😁