本稿では、Armadillo-400シリーズに市販のBluetooth USBドングルを接続し使用する方法について紹介します。
-
動作確認用の環境
-
Bluetooth用カーネルコンフィギュレーション
-
Debian GNU/Linux SDブート環境の構築
-
bluetoothパッケージのインストール
-
Bluetoothデバイスの動作確認
-
Bluetooth接続の設定
- PCとの通信確認
1.動作確認用の環境
本稿の内容を試行する為に、以下が必要となります。
- Armadillo-420,Armadillo-440,Armadillo-460 のいずれか1つ
- Armadilloに接続するBluetooth USBドングル
- Bluetoothに対応したWindows PC
2. Bluetooth用カーネルコンフィギュレーション
Armadillo-400シリーズ用のLinuxカーネルは、デフォルトではBluetoothのサポートが無効となっています。
Bluetoothを使用するためには、下記のカーネルコンフィギュレーション設定を行い、Bluetoothサポートを有効にします。
※今回はシリアル通信のみを使用するコンフィギュレーションに設定しています。
Linux Kernel Configuration
Networking --->
<*> Bluetooth subsystem support ---> ★チェック
<*> L2CAP protocol support ★チェック
< > SCO links support
<*> RFCOMM protocol support ★チェック
[*] RFCOMM TTY support ★チェック
< > BNEP protocol support
< > HIDP protocol support
Bluetooth device drivers --->
<*> HCI USB driver ★チェック
[ ] SCO (voice) support
< > HCI SDIO driver
< > HCI UART driver
<*> HCI BCM203x USB driver ★チェック
< > HCI BPA10x USB driver
< > HCI BlueFRITZ! USB driver
< > HCI VHCI (Virtual HCI device) driver
3.Debian GNU/Linux SDブート環境の構築
Bluetoothにて通信を行うには、2.Bluetooth用カーネルコンフィギュレーションで示したカーネルコンフィギュレーションを行ったカーネルの他に、 Bluetoothユーティリティが必要となります。
本稿では、SDカード上に構築したDebian GNU/Linux環境を用いてBluetooth通信を確認します。
SDカード上にDebian GNU/Linux環境を構築する方法は、下記をご参照ください。
Armadillo-400 シリーズ ソフトウェアマニュアル 第8章 カーネル/ユーザーランドの配置
8.2.3. カーネルイメージの配置の手順においては2.Bluetooth用カーネルコンフィギュレーションの設定を行ったカーネルを使用してください。
4.bluetoothパッケージのインストール
ArmadilloをDebian GNU/Linuxで起動後、 下記コマンドを実行して、Bluetoothユーティリティと、シリアル通信確認用のターミナルソフトウェア(minicom)をインストールします。
[Armadillo]# apt-get update
[Armadillo]# apt-get install bluetooth minicom
5.Bluetoothデバイスの動作確認
ArmadilloにBluetooth USBドングルを接続し、 下記コマンドでBluetooth USBドングルが認識されているかを確認します。
以降、Bluetoothアドレスを記載しておりますが、お使いの環境に合わせて、
アドレスは適宜読み替えてください。
[Armadillo]# hciconfig
hci0: Type: USB
BD Address: 00:1B:DC:05:42:AD ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:971 acl:0 sco:0 events:27 errors:0
TX bytes:597 acl:0 sco:0 commands:26 errors:0
6.Bluetooth接続の設定
/etc/bluetooth/hcid.conf を編集し、Bluetooth接続の設定を行います。
[Armadillo]# vi /etc/bluetooth/hcid.conf
本編集にて下記が設定されます。
- security を user から autoへ変更(ペアリング時にPINコードを自動応答)
- ペアリング時のPINコードを 1234 に設定
- デバイスネームを"Armadillo"に変更
#
# HCI daemon configuration file.
#
# HCId options
options {
# Automatically initialize new devices
autoinit yes;
# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security auto; ★user から autoへ変更
# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;
# Default PIN code for incoming connections
passkey "1234"; ★ペアリング時のPINコードを1234に設定
}
# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
#name "%h-%d"; ★コメントアウト
name "Armadillo"; ★デバイス名をArmadilloに変更
上記の設定を完了後に、Bluetoothサービスを再起動して、設定を反映させます。
[Armadillo]:~# /etc/init.d/bluetooth restart
7.PCとの通信確認
次にArmadilloとWindows7 PC間をBluetoothで通信をさせてみます。
ペアリング
Windows7 PCにて以下の操作を実行します。
- コントロールパネル
- デバイスとプリンター
- デバイスの追加
- Armadillo が検索されるので選択し 次へ
- ペアリングオプションの選択 にて 「デバイスのペアリング コードの入力」を選択します。
- ペアリングコードに 1234 を入力して次へ
- 「このデバイスは、このコンピュータに正常に追加されました」の画面が出れば成功です
Windows7 PCからArmadilloを発見できない場合は以下のコマンドを試してみてください。
[Armadillo]:~# hciconfig
hci0: Type: USB
BD Address: 00:1B:DC:05:42:AD ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING
RX bytes:725 acl:0 sco:0 events:27 errors:0
TX bytes:597 acl:0 sco:0 commands:27 errors:0
(※UP RUNNINGの行にPSCAN ISCANの記載が無い場合、デバイスが発見できません)
[Armadillo]:~# hciconfig hci0 piscan
[Armadillo]:~# hciconfig
hci0: Type: USB
BD Address: 00:1B:DC:05:42:AD ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:738 acl:0 sco:0 events:29 errors:0
TX bytes:604 acl:0 sco:0 commands:29 errors:0
Bluetoothデバイスアドレスの確認
次に、ArmadilloからのBluetooth接続に必要な、Windows7 PCのBluetoothデバイスのアドレスを調べます。
本稿執筆時の環境では00:1B:41:06:03:50が確認できました。
- コントロールパネル
- デバイスとプリンター
- Generic Bluetooth Radio を右クリックし、Bluetooth設定を選択
- ハードウェア のタブを選択します
- Generic Bluetooth Radio を選択し プロパティ を選択
- 詳細設定のタブを選択し、アドレスに表示されている Bluetoothアドレスを確認します
Bluetooth COMポートの追加
次にWindows7 PC上で下記の手順を実行し、Bluetooth COMポートを追加します。
- コントロールパネル
- デバイスとプリンター
- Generic Bluetooth Radio を右クリックし、Bluetooth設定を選択
- COM ポートのタブを選択します
- 追加を選択し、「着信(デバイスが接続を開始する)」をチェックし、OKを選択します。
- デバイスドライバのインストールが始まり、新しいCOMポートがインストールされます。
- 「このデバイスは、このコンピュータに正常に追加されました」の画面が出れば成功です
- Windows7 PCで追加したCOMポートをターミナルソフトウェア(TeraTermなど)で起動をします。
接続
次にArmadillo上で下記のコマンドを実行し、Windows7 PCへ接続を行います。
[Armadillo]:~# rfcomm connect 0 00:1B:41:06:03:50 1 &
[1] 1403
Connected /dev/rfcomm0 to 00:1B:41:06:03:50 on channel 1
Press CTRL-C for hangup
接続が完了すると /dev/rfcomm0 が生成されますので、minicomを起動し通信を確認します。
[Armadillo]:~# minicom -s -o
minicomのSerialPort設定にて /dev/rfcomm0 を使用するように変更します。
---------------------------------------------------
x A - Serial Device : /dev/rfcomm0 ★
x B - Lockfile Location : /var/lock
x C - Callin Program :
x D - Callout Program :
x E - Bps/Par/Bits : 115200 8N1
x F - Hardware Flow Control : Yes
x G - Software Flow Control : No
---------------------------------------------------
動作確認
Armadillo上で動作するminicom上で文字を入力すると、 Windows7 PC上のターミナルソフトウェアで入力した文字が確認できます。