2013年4月26日金曜日

[.tested] RATOC SYSTEM REX-BT60 [Debian Wheezy/Squeeze][AX3][A6]

REX-BT60はBluetoothを介して離れた場所にあるシリアル通信機器を、制御・管理できるシリアルインターフェイスです。また、コネクターには、EIA/TIA-574 仕様のD-Sub 9Pin を採用しており、RS-232C機器とBluetooth接続で通信が可能です。



今回、OpenBlocks AX3およびA6からUSB Bluetoothアダプタを介して、本デバイスに接続し、接続先の装置との接続検証を行いました。
従来のDebian 6.0(Squeeze)環境に加え、先日β公開されたDebian 7.0(Wheezy)環境での検証も行っています。

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.36
OpenBlocks A6 kernel: 3.2.36

<使用機材>
OpenBlocks AX3/4
OpenBlocks A6
RATOC Systems Inc. REX-BT60 Bluetooth-RS232C変換アダプタ
ELECOM LBT-UAN04C1Bluetooth USBホストアダプタ

1. Bluetoothデバイスの導入

Logitec社製Bluetoothアダプタ LBT-UAN04C1BKを使用しました。

 <dmesgの例 A6/Wheezy環境>

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

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:DE:09  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN
        RX bytes:19916 acl:159 sco:0 events:260 errors:0
        TX bytes:1942 acl:66 sco:0 commands:76 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: 0x420100
        Service Classes: Networking, 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. ペアリング方法


デバイスのスキャン

 hcitoolを使用します。

# hcitool scan
Scanning ...
        XX:XX:XX:XX:XX:XX       RN42-XXXX

REX-BT60は、RN42-XXXXと表示されます。

ペアリング

simple-agentは、Debian wheezeのパッケージからは、
bluez-simple-agent
bluez-test-device
に置き換わり、/usr/bin以下にインストールされています。

それぞれのペアリング方法は以下の通りです。
初期設定では、REX-BT60のPINは1234と設定されています。

 (Debian 6.0 Squeeze)

# /usr/share/doc/bluez/examples/simple-agent hci0 <BTADDR>
RequestPinCode (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)
Enter PIN Code: 1234
Release
New device (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)

 (Debian 7.0 Wheezy)

# bluez-simple-agent hci0 <BTADDR>
RequestPinCode (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)
Enter PIN Code: 1234
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'))

 (Debian 7.0 Wheezy)

# bluez-test-device list
XX:XX:XX:XX:XX:XX RN42-XXXX

ペアリングの解除方法は以下の通りです。

 (Debian 6.0 Squeeze)

# /usr/share/doc/bluez/examples/test-device remove <BTADDR>

 (Debian 7.0 Wheezy)

# bluez-test-device remove <BTADDR>


4. rfcommによる仮想シリアルデバイス作成


本デバイスはSPPプロファイルに対応しており、OpenBlocksからデータをハンドリングするためには、rfcommにより仮想シリアルデバイスとして扱います。

#rfcomm connect hci0 <BTADDR>&

/dev/rfcomm0が作成されているのを確認してください。

# ls -la /dev/rfcomm0
crw-rw---- 1 root dialout 216, 0 Feb 28 09:07 /dev/rfcomm0

5. minicom による接続テスト


今回は、REX-BT60を、別のOpenBlocksのコンソールポート(115200bps/8bit/ノンパリティ/1ストップビット)に接続し、minicomによりBT経由での端末操作を行いました。

minicomのインストール

# aptitude install minicom

接続

# minicom -D /dev/rfcomm0



6. さいごに


REX-BT60はBluetoothによるワイヤレスシリアル通信を行えるデバイスとして、OpenBlocksでも手軽に利用出来ることを確認しました。

0 件のコメント:

コメントを投稿