それではラピロにRaspberry Piを搭載した場合の作例として、PlayStation 3(PS3)用の無線コントローラー「DUALSHOCK3」でラピロを操作する方法を解説します。

 ラピロはスマートフォンのブラウザーからでも動かせますが、それでは限界があります。PS3のアナログスティックを使えば、腕の向きを微妙に調整したりできます。腕の向きを固定しながら、「○」ボタンで物をつかむといった動作もできるでしょう。両手になじんだコントローラーで、自在にラピロを動かせます。

Bluetoothで通信

 PS3のDUALSHOCK3は実はBluetoothで通信しています。ラピロにもBluetooth通信の機能が必要になりますが、簡単に実現できます。Raspberry PiのUSBポートにBluetoothアダプターを挿すだけです。Raspberry PiのUSBポートはラピロの後頭部の穴からアクセスできます。

 今回はUSB対応のBluetoothアダプターとして、プラネックスコミュニケーションズの「BT-Micro3H2X」を使用しました。Class2の製品なので10メートル程度の範囲で通信できます。これをラピロに挿します。

ドライバ類をインストール

 Raspberry PiをインターネットにつながるLANに接続して、まずBluetoothのドライバなどをインストールします。

$ sudo apt-get install bluez-utils bluez-hcidump checkinstall libusb-dev libbluetooth-dev joystick 
このマークで改行

 インストールが完了したら、Bluetoothデーモンが起動していることを確認します(写真1)。「[ok] …」といったメッセージが出れば起動しています。もし起動していなければ次のようにして起動します。

写真1●Bluetoothデーモンの起動を確認
$ /etc/init.d/bluetooth start 

 続けてBluetoothアダプターが正しく認識されているか確認します。hciconfigコマンドを実行すると、写真2のようにデバイス名、BD(Bluetooth Device)アドレス、実行状態などが示されるはずです(BDアドレスは固有の値)。

写真2●Bluetoothアダプターが認識されていることを確認
[画像のクリックで拡大表示]

 次に、Bluetoothのペアリングに必要なsixpairというツールを入手してコンパイルします。

$ wget "http://www.pabr.org/sixlinux/sixpair.c" -O sixpair.c 
$ gcc -o sixpair sixpair.c -lusb 

 ここでペアリングをするために、1度USBケーブルでDUALSHOCK3とRaspberry Piを有線接続します。USBケーブルをつないだ状態でDUALSHOCK3のPSボタンを押してsixpairコマンドを実行すると、写真3のようなメッセージが出てます。ペアリングが終わったらUSBケーブルは取り外します。

写真3●sixpairコマンドの実行

この先は会員の登録が必要です。今なら有料会員(月額プラン)が2020年1月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら