顯示具有 Bluetooth 標籤的文章。 顯示所有文章
顯示具有 Bluetooth 標籤的文章。 顯示所有文章

2010年11月24日 星期三

在Linux系統讓Qt 讀取經由 Bluetooth spp傳進來的資料流

以Ubuntu為例

1. 先以 bluez 配對。

2. 下 hcitool scan 指令,取得欲連線設備的 BD Address (本例為 00:0E:00:05:63:20)。

3. 下 rfcomm connect 0 00:0E:00:05:63:20 1 指令連結設備的spp profile,連結成功即會在/dev中產生一個device file,名為 rfcomm0。

4. 連結成功後可用
  • cat /dev/rfcomm0 od -c 或
  • hexdump /dev/rfcomm0

測試是否可讀取。

5. 之後即可在Qt中使用qextserialport做處理。

6. rfcomm release 0 指令可釋放 rfcomm0 device 。

ps. 之前介紹的方法太過繁雜,此方法較為簡單。

2010年8月3日 星期二

cat /dev/rfcomm0 | od -c

hexdump /dev/rfcomm0

可用來讀取 rfcomm0 的數據 (16進位碼)


2010年1月12日 星期二

Linux下如何用Bluetooth與設備建立SPP(Serial Port Profile)連線

以Ubuntu 9.04為例
1. 先使用BlueZ與設備配對

2. # hciconfig -a 取得Bluetooth dongle的BD Address
# hcitool dev 也可以取得BD Address
我的Bluetooth dongle是00:10:60:A4:12:F1

3. 下hcitool scan指令,取得欲連線設備的BD Address
  我的欲連線設備是00:0E:00:05:63:20

4. # mknod /dev/rfcomm0 c 216 1
# chmod 666 /dev/rfcomm0 建立虛擬串口設備,並設定權限

5. 修改/etc/bluetooth/rfcomm.conf設定檔,加入以下內容:
# vi /etc/bluetooth/rfcomm.conf

rfcomm0{
bind no; //設置是否自動綁定設備
device 00:10:60:A4:12:F1; //設定綁定設備的BD Address(Bluetooth dongle)
channel 1; //設定設備通道
comment "BTM"; //對設備的描述
}

6. 添加SPP(Serial Port Profile)的SDP協議通道
# sdptool add --channel=1 SP

7. 將虛擬串口與外界藍芽設備綁定
  # rfcomm bind /dev/rfcomm0 00:0E:00:05:63:20 1  

8. 連接設備
  # hcitool cc 00:0E:00:05:63:20

9. 之後就可以利用GtkTerm或是minicom測試連線是否成功