藍芽支
持最優秀的Linux發行版本之一是Suse Linux。下面筆者就來介紹Suse Linux 9.3版本及其以後版本對藍芽的配置方法。SUSE
LINUX Professional 9.3在移動性方面的巨大改進。它提供完整的 Bluetooth 無線支援:
*自動識別啟用 Bluetooth 的裝置 ;
*簡化 Bluetooth 配置(通過 YaST) ;
*簡化與 Bluetooth 行動電話和 Palm Pilot 的資料同步 ;
有了 SUSE LINUX Professional 9.3,使用者就能輕鬆地串連到無線區域網路 (WLAN),還能在 WLAN
與其他網路連接之間輕鬆移動。而且,其增強暫停於磁碟功能幾乎可以在所有膝上型電腦上運行。SUSE LINUX Professional
9.3還在案頭環境下包括了多個藍芽治理工具。
一. 使用YaST2配置藍芽
SUSE包含強大經典的 YaST 控制中心,可以經由簡易的嚮導程式進行原本繁瑣的配置過程,諸如架設 HTTP 服務器,
設定網卡,調整藍牙裝置,治理軟體,配置監視器和顯卡。使用 YaST2
藍芽模組在系統上配置藍芽支援。一旦熱插拔在系統中檢測到藍芽適配器(例如,在引導時或插入適配器時),將使用該模組中配置的設定自動啟動藍芽。啟動
yast2,以次選擇“硬體”-“Bluetooth”如。
配置的第一步是確定在您的系統中是否要啟動藍芽服務。假如已啟用了藍芽服務,則可以配置兩項內容。首先配置裝置名稱。這是您的電腦被發現時其他裝置顯示的
名稱。有兩個預留位置可用,其中 — %h 代表系統的主機名稱(這很有用,例如,假如主機名稱由 DHCP 動態分配),而 %d
插入介面號(只有在電腦中安裝了多個藍芽適配器才有用)。
例如,假如在此欄位中輸入 Laptop %h 且DHCP 將名稱 unit123 指派給電腦,則其他遠程裝置將您的電腦識別為Laptop unit123。單擊進階精靈配置進入用於選擇和配置可用服務(在藍芽中稱為設定檔)的對話方塊。
所有可用服務都顯示在列表中,可以通過單擊啟用或取消啟用啟用或禁用這些服務。單擊編輯開啟一個對話方塊,可以在這個對話方塊中為所選服務(精靈)指定其他參數。如 。
藍芽守護進程說明:
HCID - 主機控制器介面精靈治理 電腦中的所有藍牙裝置。
SDPD - 需要使用遠程裝置中的服務發現協議精靈來 找出您電腦上可用的藍芽服務。 其它 精靈串連到這個精靈上。
OPD - 例如,需要 OBEX 推精靈來將檔案從某個裝置傳送到 您的電腦。 假如您在使用 KDE 或 GNOME,則不要 啟用 OPD 精靈。 只有其它案頭需要此精靈,並且會導致 KDE 和 GNOME 出現問題。
RFCOMM - 這是一個某些裝置和服務所需的串列電纜模擬 協議。 它不是一個"真正"的精靈,而是一個配置現有 藍牙裝置的進程。
PAND - 個域網精靈用於建立 使用藍芽的網路。 它建立了一種無線 Ethernet 網路。
DUND - 撥號連網精靈答應 通過 PPP 訪問 LAN。 假如您有藍芽數據機,則需要它。
HID - 人機互動裝置簡報用於諸如 鍵盤和滑鼠之類的裝置。
HID2HCI - 這實際上並非一個"真正"的精靈,而是一個協助公用程式,用於將 HID 適配器切換到 HCI 方式,反之亦然。
二. 藍芽安全配置
回到主對話方塊中,單擊安全性選項進入安全性對話方塊並指定加密、評鑑和掃描設定。參數安全性治理器與遠程裝置嘗試串連時本地系統的行為相關。不同之處是在對
PIN 碼的處理上。這種處理要麼答應任何裝置不使用 PIN 進行串連,要麼確定在需要 PIN 時如何選擇正確的 PIN。
可在相應的輸入欄位中輸入 PIN(儲存在設定檔中)。假如裝置嘗試串連,則它首先使用這個 PIN。假如串連失敗,則它切換為不使用
PIN 進行串連。為獲得最大的安全性,最好選擇始終要求使用者提供 PIN。此選項答應您對不同的(遠程)裝置使用不同的 PIN。如 。
說明:儘管有 PIN,但兩台裝置之間的資料傳送也不是完全安全的。預設情況下,藍芽串連的評鑑和加密處於取消啟用狀態。對某些藍牙裝置而言,啟用評鑑和加密可能產生通訊問題。
然後,退出安全性對話方塊返回主對話方塊。在單擊完成關閉主對話方塊後,就可以使用藍芽系統了。要使用藍芽設定網路,則啟用進階精靈配置對話方塊中的
PAND,然後單擊編輯設定精靈的方式。對於一個有效藍芽網路連接,一個 pand
必須在監聽方式下運行,而對應的同級必須在搜尋方式下運行。預設情況下,預設為監聽方式。調整本地 pand 的行為。此外,在 YaST
網卡模組中配置 bnepX 介面(其中 X 代表系統中的裝置號)。
三. 使用Konqueror瀏覽器治理藍芽裝置
在 Konqueror 中,輸入 URL bluetooth:/ 列出本地和遠程藍牙裝置。雙擊某個裝置可以獲得此裝置提供的服務的概述。假如將滑鼠指標移過其中一個指定的服務,則瀏覽器的狀態列將顯示將哪個設定檔用於此服務。
假如您單擊某個服務,則將開啟一個對話方塊,詢問您要執行的操作:儲存、使用服務(必須啟動應用程式來執行此操作)還是取消操作。假如您不希望此對話方塊再次顯示,而是要始終執行所選的操作,則選中特定複選框。如。
四. 傳送檔案到藍芽裝置
下面可以傳送檔案到藍牙裝置,首先選擇要發送的檔案點擊滑鼠右鍵選擇“send with bluetooch”。如。
下面要選擇藍牙裝置,然後就可以進行發送了。是檔案傳輸介面。
另外系統配置完成後在案頭右下角有勇敢藍芽工具條方便使用如。
隨著社區開源項目KdeBluetooth的不斷髮展與完善,Apatite利用該項目為原型,為系統提供了藍芽通訊支援,同時修正了該項目在穩定性方面
的一些問題。KdeBluetooth是建立在Bluez協議棧基礎上的一個藍芽應用程式架構,它使用KDE/QT庫提供了一系列圖形化的藍芽應用工具。
五. 命令列下配置藍芽
雖然最近幾年個人電腦的潮流已經從命令列方式轉向圖形介面方式,大量的採用滑鼠操作,但是shell 在Linux中依然有很強的。對命令列有好處的一件事情是它能夠讓你訪問數百個工具軟體。在命令列上面,你可以使用一個管道把工具軟體結合在一起執行一項單個工具軟體無法完成的工作。
“一個過程是Linux執行一個命令。過程之間的通訊是UNIX/Linux的驗證證實之一。一個通道(書寫為垂直的直線“|”,在命令列中或者鍵盤上是
一個垂直的實線)提供了這種通訊最簡單的方式。簡單地說,一個通道接受一個工具軟體的輸出,然後把那個輸出輸入到其它工具軟體。
使用UNIX/Linux的詞彙,這個通道接受了一個過程的標準輸出,並把這個標準的輸出作為另一個過程的標準輸入。一個過程在螢幕上顯示的大多數內容將
發送給標準的輸出。假如你沒有重新定向這個輸出,這個輸出就在螢幕上顯示出來。使用一個通道,你可以重新定向這個輸出,這樣它就變成了另一個工具軟體的標
準的輸入。”
Bluez 系統各個組件的設定檔都位於目錄 /etc/bluetooth 中。唯一的例外是用於啟動組件的檔案
/etc/sysconfig/bluetooth,該檔案由 YaST 模組修改。只有使用者 root
可以修改下面介紹的設定檔。目前,尚沒有用於更改所有設定的圖形化使用者介面。
通常,預設設定可以滿足要求。使用 PIN 號碼可以基本防止不需要的串連。行動電話在建立第一個聯絡時(或在電話上建立裝置聯絡時)通常查詢
PIN。為使兩台裝置能進行通訊,這兩台裝置必須用相同的 PIN 對自身進行標識。在電腦上,PIN 位於檔案
/etc/bluetooth/pin 中。可以在設定檔 /etc/bluetooth/hcid.conf
中更改各種設定,例如裝置名稱和安全性方式。
通常,預設設定可以滿足要求。此檔案包含介紹各個設定選項的注釋。所包含檔案中有兩部分分別被指定為 options 和
device。前者包含 hcid 用於啟動的一般資訊。後者包含各個本地藍牙裝置的設定。options 部分中最重要的設定之一是
security auto;。
假如設定為 auto,則 hcid 嘗試對進來的串連使用本地 PIN。假如失敗,則它切換到 none
並建立串連。為提高安全性,應將預設設定設定為 user,以確保每次建立串連時都要求使用者輸入 PIN。在 device
部分設定在另一個裝置中顯示該電腦所使用的裝置名稱。本部分定義裝置類,例如 Desktop、Laptop 或
Server。還在這裡啟用或禁用評鑑和加密。
六. 命令列工具
藍芽的可操作性取決於各種服務的互動。至少需要兩個後台精靈:hcid(主機控制器介面精靈)和 sdpd(服務發現協議精靈),前者充當藍芽設 備的介面並控制藍芽裝置,而裝置可以通過後者找到主機提供的服務。假如在啟動系統時未自動啟用 hcid 和 sdpd,則可以使用命令 rcbluetooth start啟用這兩個精靈。必須以 root 使用者身份執行此命令。
下面簡要介紹了可用於使用藍芽的最重要的 Shell 工具。儘管現在可以使用各種圖形組件來控制藍芽,但這些程式也值得您去關注。某些命令只能以 root 使用者身份執行。
hcitool
hcitool 可用於確定是否檢測到本地和遠程設
備。命令 hcitool dev 列出本地裝置。輸出為每個檢測到的本地裝置產生一行,可以使用命令 hcitool inq
搜尋遠程裝置。對於每個檢測到的遠程裝置,返回 3
個值:裝置地址、時鐘位移和裝置類。裝置地址很重要,因為其他命令用它來標識目標裝置。時鐘位移主要用於技術目的。而裝置類以十六進位值的形式指定裝置類
型和服務類型。
命令 hcitoolname device-address 可用於確定遠程裝置的裝置名稱。對於遠端電腦,裝置類和裝置名稱對應於其
/etc/bluetooth/hcid.conf
中的資訊。使用本地裝置地址將建置錯誤輸出。hcitool命令列方式的藍芽掃描各程式,它內嵌有已被編譯到核心中去了的BlueZ協議,這個掃描程式被
稱為hcitool,它可找到所有那些已處於可發現模式(discoverable
mode)的藍牙裝置。Hcitool的網站首頁地址為http://linuxcommand.org/man_pages
/hcitool1.html ;現在,拿來在電腦有效範圍內的另外一個藍牙裝置,確保該裝置對藍芽掃描可見。然後,從命令列運行hcitool
scan。該過程將持續15~20s 後完成掃描,之後將顯示以下資訊:
My output :
hcitool scan 00:E0:03:36:90:2D Nokia 6230 |
hciconfig
命令 /usr/sbin/hciconfig 提供有關本地裝置的具體資訊。假如不帶任何參數執行 hciconfig,則輸出將顯示裝置名稱
(hciX) 等裝置資訊、物理裝置地址(12 位元字,形式為 00:12:34:56:78)和有關已傳送資料量的資訊。hciconfig
hci0 name 顯示當您的電腦接收來自遠程裝置的請求時它返回的名稱。除查詢本地裝置的設定外,hciconfig
還可用於修改這些設定。例如,hciconfig hci0 name TEST 將名稱設定為 TEST。典型輸出如下:
hciconfig –a hci0: Type: USB BD Address: 00:A0:96:20:2B:A0 ACL MTU: 128:8 SCO MTU: 64:8 UP RUNNING PSCAN ISCAN RX bytes:159590 acl:1544 sco:0 events:977 errors:0 TX bytes:56114 acl:769 sco:0 commands:210 errors:0 Features: 0xff 0xff 0x05 0x00 0x00 0x00 0x00 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'BlueZ (enki)' Class: 0x100100 Service Classes: Object Transfer Device Class: Computer, Uncategorized HCI Ver: 1.1 (0x1) HCI Rev: 0x72 LMP Ver: 1.1 (0x1) LMP Subver: 0x72 Manufacturer: Cambridge Silicon Radio (10) |
說明:假如沒有看到這樣的資訊,那麼確認一下hcid 是否正在運行,在檔案/var/log/messages 中是否有錯誤資訊。適配器的BD Address是藍芽識別符的唯一標識,其原理與乙太網路的MAC 位址類似。
sdptool
命令sdptool 可用於檢查特定裝置提供哪些服務。命令 sdptoolbrowsedevice_address
返回某個裝置的所有服務。使用命令 sdptool searchservice_code
搜尋特定的服務。此命令掃描所有可訪問的裝置來搜尋請求的服務。假如其中一台裝置提供服務,則此程式將輸出此裝置返回的完整服務名及簡短說明。輸入不帶參
數的 sdptool 可以查看所有可能的服務代碼清單。典型輸出如下:
sdptool browse 00:E0:03:36:90:2D Service Name: OBEX Object Push Service RecHandle: 0x1000e Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 9 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100 …… |
總 結:
如今,支援無線藍芽的裝置真可謂是無處不在,而且相關軟體的使用也很簡單。儘管如此還是有不少有消費者沒有瞭解它,不知道怎樣使用它。本文介紹藍芽的基礎
知識以及如何在Linux系統安裝一些藍牙裝置。隨著身邊內建藍牙裝置的增多,與電腦交換資料假如不用藍芽的話實在是可惜,但是現在內建藍芽的本本並不
多,到市場上買一個藍芽適配器即可,1.2版本的基本在40-80元