logo サブスレッド

BB-8ラジコンで遊ぶ(1)

はじめに

金曜担当のしみずです。どうぞよろしく。

前に入れたNode.jsを使って何かするということなんですけども
先日、スターウォーズ・フォースの覚醒で出てくる丸いロボットBB-8のラジコンを買いました。
通常はスマホにアプリを入れて操作するのですが、これをPCから動かすNode.jsのフレームワークを見つけたので、少し試してみました。

BB-8のラジコンについて

買ったラジコンは Sphero という会社のBB-8のラジコンです。
公式サイト

こんなくらいの大きさです。意外と小さい。

うちの子供たちも楽しんでおり、猫も興味津々です。

BB-8を動かすためのフレームワーク

これを操作するにはBLE(Bluetooth Low Energy)に対応したスマホ(iOS,Android)に専用アプリを入れて、そのアプリからペアリングして動かします。
スマホからBluetoothで接続して動かすということはSDKとかあるのかなと思って調べたらありました。
iOSやAndroidのSDKじゃなくて、Node.jsのフレームワークであるCylon.jsというのを使えば動かせるようです。
MacBook Proでやってみようと思います。

Cylon.jsとは

https://cylonjs.com/
様々なハードウェアデバイスと接続してコントロールするためのNode.js用のフレームワークです。
対応しているハードウェアはたくさんあり、今回操作するBB-8も対応デバイスの一つとなります。

Cylon.js をセットアップするための準備

Cylon.jsはNode.jsのフレームワークなので、まずはNode.jsをインストールしましょう。
おっと、その前にBB-8はBLEで接続しているのでした。MACが対応しているか見てみましょう。

MACがBLEに対応しているか調べる

[アプリケーション - ユーティリティ - システム情報] を起動して、[ハードウェア - Bluetooth] を選択しましょう。
Bluetooth 低エネルギー(BLE)対応が「はい」になっていれば対応しています。

自分のMaczBook Pro は対応してますね。

Node.jsをインストール

前の記事を参考にしてください。 今回使ったNode.jsのバージョンは v5.3.0 です。

Cylon.jsをインストール

Cylon.js をインストールします。
ついでに、BLE用のモジュールもインストールしておきます。

$ npm install cylon
$ npm install cylon-ble

近くのBLEモジュールをスキャンする

以下のコマンドを実行すると近くのBLEモジュール情報が出てきます。
※もしコマンド実行時にエラーが出たら、このモジュール入れろと表示されるはずなので
 それに従って何度か入れていくと動くようになるはずです。

$ cylon-ble-scan
cylon-ble-scan
Starting scan.
Peripheral discovered!
  Name: BB-484F
  UUID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  rssi: -66
Peripheral discovered!
  Name: shimizu の iMac
  UUID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  rssi: -54

BB-484FがBB-8ですね。
ここで表示されるUUIDの部分を使って、BB-8を操作できるようになります。
次回はCylon.jsのサイトにあるサンプルコードで、実際にBB-8を動かしたいと思います。

おわりに

週刊、ウチのネコ。第9号

BB-8に驚く

現在の位置:サブスレッド ホーム > 技術ブログ > BB-8ラジコンで遊ぶ(1)