何となく Bluetooth LE を Raspberry Pi 2 で使ってみたかったので、安くて小さい USB-Bluetooth アダプターを買ってみました。Broadcom のチップが良いらしいので、ちょっと高いものを選びました。
以前買った Wi-Fi のアダプタより少し小さくて、干渉するようなサイズではなかったので良かったです。
早速 Raspberry Pi 2 に接続して lsusb を叩くと、ちゃんと Broadcom のデバイスが見えるようになりました。
認識されていても Bluetooth のスタックが入っていないので、別途インストールする必要があるみたいです。
BlueZ をインストール
調べてみると Raspberry Pi というか Linux だと BlueZ という Bluetooth スタックを使うのが一般的らしいですが、apt-get でインストール出来るものは BLE に非対応のようでした。
以下の記事を見ながら BLE が使えるバージョンをインストールしました。
この記事では BlueZ 5.4 を使っていますが、最新版は 5.30 だったので読み変えて対応します。
ビルドするためのコマンドを簡単に紹介しておくと、以下のような感じになります。
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.30.tar.xz xz -d bluez-5.30.tar.xz tar xvf bluez-5.30.tar cd bluez-5.30 ./configure --disable-systemd make sudo make install
インストール直後だと hciconfig コマンドが使えないみたいですが、再起動すると使えるようになりました。
これでデバイスが確認出来れば Bluetooth アダプターがちゃんと認識されていることになります。
DOWN になっている場合には sudo hciconfig hci0 up を実行して立ち上げます。
BLE を使う前に、まずは Bluetooth アダプターとして使えているのか、簡単に確認しておきます。Bluetooth デバイスのスキャンを hcitool scan コマンドで行えるので、これでデバイスを探してみました。
実行してみると、手持ちのスマートフォンが一通り見つかりました。Bluetooth アダプターとしては問題なく動作しているようなので、次回は BLE デバイスを使って試してみたいと思います。