Raspberry Pi 筆記(13):使用藍牙USB連接GPS

在網路尋找 Raspberry Pi 相關的資訊時,看到有關 Pi 如何透過藍牙跟其他裝置連線,想到幾年前公司曾送給同仁一個 GPS,這個GPS是跟 PDA連接使用,也是透過藍牙來連線。想說試看看是否可以透過 Pi來連接這個 GPS。於是找一個藍牙 USB 接在 Pi,正確安裝驅動程式後,是否能讀取 GPS 相關資訊。


[安裝程序]


安裝藍牙主程式及工具:
$ sudo apt-get install bluetooth bluez-utils blueman

安裝完成後,看看系統是否能讀取藍牙USB:
$ sudo lsusb

顯示結果如下:(藍色那一行就是藍牙USB的位址及製造廠商)
Bus 001 Device 015: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 016: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 017: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 018: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)


檢視藍牙程式是否正常運作:
$ sudo /etc/init.d/bluetooth status

[ ok ] bluetooth is running.

如果要掃描其他藍芽裝置,可輸入以下指令:
$ sudo hcitool scan

Scanning ...
        00:02:78:14:24:41       Leadtek 9559 series BT GPS

找到開周邊啟藍芽的GPS,設備位址 00:02:78:14:24:41會不一樣。

如果要查詢USB藍牙的設備位址,可以輸入以下指令查詢:
$ sudo hciconfig

Ping 藍牙裝置看看是否回應 (以下範例是我的GPS設備位址)
$ sudo l2ping -c 3 00:02:78:14:24:41

Ping: 00:02:78:14:24:41 from 00:15:83:15:A3:10 (data size 44) ...
44 bytes from 00:02:78:14:24:41 id 0 time 51.27ms
44 bytes from 00:02:78:14:24:41 id 1 time 25.57ms
44 bytes from 00:02:78:14:24:41 id 2 time 27.74ms
3 sent, 3 received, 0% loss


顯示可以正常回應,但是這還不能接收GPS資訊,只是表示與GPS通訊正常而已。如果要接收資料需要建立通訊Port及啟動GPS Deamon。

步驟一:修改 /etc/bluetooth/rfcomm.conf
$ sudo nano /etc/bluetooth/rfcomm.conf

# RFCOMM configuration file.
rfcomm0 {
#      Automatically bind the device at startup
        bind yes;
#      Bluetooth address of the device
        device 00:02:78:14:24:41;
#      RFCOMM channel for the connection
        channel 1;
#      Description of the connection
        comment "Example Bluetooth device";
}

預設值都加了#當作註解,要將#拿掉。

步驟二:啟動GPS Deamon
gpsd /dev/rfcomm0

執行上述兩個步驟後,就可以啟動GPS程式。在SSH視窗執行 cgps 啟動GPS視窗:
$ cgps -s
-s  : 是安靜模式,不要將GPS原始資料顯示在視窗

在x-windows可執行 xgps 啟動GPS視窗
$ xgps


[參考資料]

豆腐腦:Raspberry Pi 安裝USB Bluetooth Dongle
Ubuntu Community :Using Bluetooth GPS

Post a Comment

較新的 較舊