今回、OpenBlocks AX3およびA6から本USB Bluetoothアダプタを介して、RATOC REX-BT60および、Bluetoothスピーカー Buffalo BSS09Bを接続し、検証を行いました。
従来のDebian 6.0(Squeeze)環境に加え、先日リリースされたDebian 7.1環境における検証も行います。
( 2013/8/7 追記 )
Debian 7.1正式版が公開されましたので、再度検証しました。
本デバイスを使用される方は、 上記リンクより、リリース版のファームウェアをご利用下さい。
OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
<検証環境>
Debian 6.0 Squeeze
OpenBlocks AX3/4 kernel: 3.0.6
OpenBlocks A6 kernel: 2.6.31.8
Debian 7.0 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40
OpenBlocks AX3/4 kernel: 3.0.6
OpenBlocks A6 kernel: 2.6.31.8
Debian 7.0 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40
<使用機器>
OpenBlocks AX3
OpenBlocks A6
Logitec LBT-UAN04C2 Bluetooth USBホストアダプタ
RATOC Systems Inc. REX-BT60 Bluetooth-RS232C変換アダプタ
Buffalo BSSP09B Bluetooth ワイヤレススピーカ
OpenBlocks A6
Logitec LBT-UAN04C2 Bluetooth USBホストアダプタ
RATOC Systems Inc. REX-BT60 Bluetooth-RS232C変換アダプタ
Buffalo BSSP09B Bluetooth ワイヤレススピーカ
1. Bluetoothデバイスの導入
標準でサポートされるbtusbモジュールにより認識します。
<dmesgの例 A6/Wheezy kernel 3.2.36環境>
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
:
:
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
:
:
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
<dmesgの例 A6/squeeze kernel 2.6.31環境>
A6/Kernel 2.6.31
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.5
usbcore: registered new interface driver btusb
:
:
Bluetooth: L2CAP ver 2.13
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bridge firewalling registered
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.5
usbcore: registered new interface driver btusb
:
:
Bluetooth: L2CAP ver 2.13
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bridge firewalling registered
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
2. Bluezの導入
・Bluezのインストール
Bluetooth機器の操作は、bluezパッケージを利用します。
# aptitude -R install bluez python-dbus python-gobject
python-*は、ペアリングなどを行うスクリプトを動かすために必要です。
・インターフェイスの確認・設定
Bluetooth機器はhciXというデバイス名(インターフェイス名)で扱います。
# hciconfig -a
hci0: Type: BR/EDR Bus: USB
BD Address: 00:09:DD:40:C6:12 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:23538 acl:47 sco:0 events:2966 errors:0
TX bytes:1423677 acl:5253 sco:0 commands:101 errors:0
Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'obsa6-0'
Class: 0x4a0100
Service Classes: Networking, Capturing, Telephony
Device Class: Computer, Uncategorized
HCI Version: 4.0 (0x6) Revision: 0x1d86
LMP Version: 4.0 (0x6) Subversion: 0x1d86
Manufacturer: Cambridge Silicon Radio (10)
hci0: Type: BR/EDR Bus: USB
BD Address: 00:09:DD:40:C6:12 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:23538 acl:47 sco:0 events:2966 errors:0
TX bytes:1423677 acl:5253 sco:0 commands:101 errors:0
Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'obsa6-0'
Class: 0x4a0100
Service Classes: Networking, Capturing, Telephony
Device Class: Computer, Uncategorized
HCI Version: 4.0 (0x6) Revision: 0x1d86
LMP Version: 4.0 (0x6) Subversion: 0x1d86
Manufacturer: Cambridge Silicon Radio (10)
3. REX-BT60との接続
REX-BT60はBluetoothを介して離れた場所にあるシリアル通信機器を、制御・管理できるシリアルインターフェイスです。また、コネクターに は、EIA/TIA-574 仕様のD-Sub 9Pin を採用しており、RS-232C機器とBluetooth接続で通信が可能です。
ペアリング方法、および通信テストに関しては、同社のclass1 Bluetoothホストアダプタ、LBT-UAN04C1を使用した場合と同じです。
[.tested] RATOC SYSTEM REX-BT60 [Debian Wheezy/Squeeze][AX3][A6]
を参照して下さい。
4. Buffelo BSSP09B ワイヤレススピーカーとの接続
Buffelo BSSP09Bは、Bluetooth ver2.1に対応した、ワイヤレススピーカ/ハンズフリーヘッドセット、マイクユニットで、A2DPやHFP、HSPのプロファイルをサポートしています。
今回、bluez-audioによるサウンド出力を行ってみます。
・デバイスのスキャン
hcitoolを使用します。
# hcitool scan
Scanning ...
XX:XX:XX:XX:XX:XX BSSP09B
Scanning ...
XX:XX:XX:XX:XX:XX BSSP09B
REX-BT60は、RN42-XXXXと表示されます。
・ペアリング
simple-agentは、Debian wheezeのパッケージからは、
bluez-simple-agent
bluez-test-device
に置き換わり、/usr/bin以下にインストールされています。
ただし、Debian/Wheezyパッケージにより提供されるbluez-simple-agentコマンドは、そのままでは本ユニットとの接続が出来ません。
コマンドを直接viで編集して、修正を行います。
(7.1リリース版においても、下記の修正が必要となりました)
# vi /usr/bin/bluez-simple-agent
#capability = "KeyboardDisplay" この行を編集する。
capability = "DisplayYesNo"
capability = "DisplayYesNo"
それぞれのペアリング方法は以下の通りです。
BSSP09B側をペアリング待機状態にしておけば、特に入力は必要ありません。
(Debian 6.0 Squeeze)
# /usr/share/doc/bluez/examples/simple-agent hci0 <BTADDR>
Release
New device (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)
Release
New device (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)
(Debian 7.0 Wheezy)
# bluez-simple-agent hci0 <BTADDR>
Release
New device (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)
Release
New device (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)
ペアリングの確認は以下のコマンドで行います。
(Debian 6.0 Squeeze)
# /usr/share/doc/bluez/examples/test-device list
dbus.Array([dbus.ObjectPath('/org/bluez/1453/hci0/dev_XX_XX_XX_XX_XX_XX')], signature=dbus.Signature('o'))
dbus.Array([dbus.ObjectPath('/org/bluez/1453/hci0/dev_XX_XX_XX_XX_XX_XX')], signature=dbus.Signature('o'))
(Debian 7.0 Wheezy)
# bluez-test-device list
XX:XX:XX:XX:XX:XX BSSP09B
XX:XX:XX:XX:XX:XX BSSP09B
ペアリングの解除方法は以下の通りです。
(Debian 6.0 Squeeze)
# /usr/share/doc/bluez/examples/test-device remove <BTADDR>
(Debian 7.0 Wheezy)
# bluez-test-device remove <BTADDR>
4. bluez-audioによるオーディオ再生方法
Bluez-audioにより、Bluetoothデバイスを使用した音楽再生を行います。
bluez-audioおよび、mp3出力に対応したプレーヤである、mpg123を導入します。
# aptitude -R install bluez-audio mpg123
.asoundrcを編集します。
# cat << EOF > ~/.asoundrc
pcm.bt {
type bluetooth
device "30:XX:XX:XX:XX:XX"
}
EOF
pcm.bt {
type bluetooth
device "30:XX:XX:XX:XX:XX"
}
EOF
Wheezyのパッケージの場合、/etc/bluetooth/audio.confに以下の部分を追加します。
[General]
Enable=Socket
Enable=Socket
音楽再生のテストを行います。
# mpg123 -a bt http://classical-music.sakura.ne.jp/Room/Chopin-Poronase-Heroic.mp3
ただし、AX3に適用される、プレリリース版Debian Wheezyパッケージ(armhf)のmpg123ではうまく再生できないため、mplayerを使用して動作確認を行いました。
# aptitude install mplayer
# mplayer -ao alsa:device=bt http://classical-music.sakura.ne.jp/Room/Chopin-Poronase-Heroic.mp3
# mplayer -ao alsa:device=bt http://classical-music.sakura.ne.jp/Room/Chopin-Poronase-Heroic.mp3
5. さいごに
LBT-UAN04C2は、Class1製品である、LBT-UAN04C1と同様に、OpenBlocks AX3/A6のDebian/squeezeパッケージおよび、Deabian/Wheezyパッケージで利用出来ることを確認しました。
WheezyパッケージはSqueezeパッケージとコマンドラインツールの場所が変更されていること、ペアリングに際し、一部コマンドファイルの変更が必要なこと、オーディオ再生におけるbluetooth管理プログラムのデフォルト設定が違うことなどがあり、上記の記事にあるように、一連の動作確認には若干の修正が必要となります。
0 件のコメント:
コメントを投稿