LoginSignup
3
3

More than 5 years have passed since last update.

Sphero miniをRaspberry pi ZERO Wで操作する ~導入編~

Last updated at Posted at 2018-05-08

はじめに

Sphero miniをRaspberry pi ZERO W(3でも同じだと思います)で動作させる方法について簡単にまとめておきます。

Spheroを制御するライブラリは公式、公式以外でも探せばいろいろとでてきますが、製品ごとに制御が若干異なるようで、すべてが新し目の製品であるminiに対応しているようではなさそうです。
※ちゃんと調べてないので憶測レベル

今回は、以下のGitリポジトリのもので動作することが確認できました。

準備

OSは、RASPBIAN STRETCHです。念のため、apt-get upgradeで最新化しておきました。

Node.jsのバージョンは8.10を使用しています。
デフォルトは割と古め(v4.8.xあたり)だと思うので、以下の記事等を参考に更新しておくのがいいかと思います。

あと、gitもインストールしておきます。

準備 その2

次に、パッケージマネージャとしてyarnを使うので、インストールしておく必要があります。

その際ですが、そのままsudo apt-get install yarnとかすると、cmdtestがインストールされちゃってお目当てのyarnがインストールされないので、yarnの公式サイトにあるinstall方法に従ってリポジトリを設定してからインストールします。

また、この後yarn installで依存パッケージを取得・設定(コンパイル)することになるのですが、このままだとエラーになります。
そのエラーを回避する為に必要な以下のパッケージを先にインストールしておきます。

  • libudev-dev
  • libusb-1.0-0-dev

インストールは普通にapt-getでできます。

$ sudo apt-get install libudev-dev libusb-1.0-0-dev

リポジトリの取得とインストール

ここまでくれば、Gitリポジトリを取得してyarn installすれば完了です。

git clone https://github.com/igbopie/spherov2.js
cd sphero2.js
yarn install

Gitリポジトリにはいくつかのサンプルがあるので、

cd sphero2.js
yarn patrol-sm

という感じで実行すると、Sphero miniが充電されていれば、そのままつながって動き始めます。

以上となります。

補足

今回実際にあったのですが、Raspberry pi ZERO WのBluetoothがハード的に故障していたようで、Bluetoothデバイス(hci0)としてはアクティブ(up)になるのですが、BLEのビーコンを拾わないという現象に出会いました。Raspberry pi ZERO Wを複数もっていて、SDを入れ替えることで動作したため、そのことがわかったのですが、その解析で時間を奪われてしまいました。

正しく動作している場合は、hcitoolでBLEのビーコンをスキャンすれば、SM-C741のアドバタイズを拾うので、それで確認できますので、ご参考まで。

$ sudo hcitool lescan
LE Scan ...

・・・
XX:XX:XX:XX:XX:XX SM-C741
・・・
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3