本稿では、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上のターミナルソフトウェアで入力した文字が確認できます。