ちろぐ

自分用備忘録

BlueToothキーボードから操作できるようにする

RaspberryPi2で使用できるUSBの数は4つ。

現状USBWi-Fi,USBキーボード,USBマウスの3つが占領しているので、BlueToothドングルを使用してキーボードとマウスをワイヤレスにしてしまおう。

 

今回参考にしたのは次のサイト

nwpct1.hatenablog.com

 

とりあえずリストを更新
pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade

 

Bluetooth関連のパッケージをインストール

pi@raspberrypi ~ $ sudo apt-get install bluetooth bluez bluez-utils

 

RasPiがUSBBTを認識していることを確認

pi@raspberrypi ~ $ lsusb

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 007: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 004: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]

 

きちんとBluetooth Dongleが表示されますね。

 

BDアドレスを取得

次にペアリングしたい対象を接続状態にしてBD(Bluetooth Device)アドレスを取得可能状態にする。対象(今回は無線キーボード)を接続状態にして次のコマンドを入力

pi@raspberrypi ~ $ hcitool scan
Scanning ...
XX:XX:XX:XX:XX:XX mac_cat
XX:XX:XX:XX:XX:XX TK-FBP014series

 

「XX:XX:〜」のところには16進数の数値がそれぞれ入る。

今回は下のTK-FBP014seriesというのが接続したい無線キーボードのこと。

 

ペアリング

次のコマンドを入力してペアリングを行う

pi@raspberrypi ~ $ sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX
RequestPinCode (/org/bluez/2183/hci0/dev_XX_XX_XX_XX_XX_XX)
Enter PIN Code: 9876                    <---------- 操作側からPINコードを入力
Release                                          <---------- 無線キーボード側から同じ番号を入力
New device (/org/bluez/2183/hci0/dev_XX_XX_XX_XX_XX_XX)

 

これで認識される。

ちなみに入力にちんたらしていたら下みたいになる

pi@raspberrypi ~ $ sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX
RequestPinCode (/org/bluez/2183/hci0/dev_XX_XX_XX_XX_XX_XX)
Enter PIN Code: 9876
Cancel
Creating device failed: org.bluez.Error.AuthenticationTimeout: Authentication Timeout

 

はいー。これでbluetoothキーボードを使用できるようになりました。

bluetoothマウスを使用したい場合は同じようにBDアドレスを登録すればいいだけです。

 

起動時に自動でペアリングする

起動するたびに毎回sshで接続してコマンドを打ってというのも面倒くさいので自動で接続するようにする。

pi@raspberrypi ~ $ sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes
pi@raspberrypi ~ $ sudo bluez-test-input connect XX:XX:XX:XX:XX:XX