概要
node-bebop を使って Nodejs から Bebop2 を制御してみました
環境
- Mac OS X 10.11.4
- Nodejs 5.9.1
- npm 3.7.3
- node-bebop 0.6.0
node-bebop のインストール
- cd /path/to/work
- npm install node-bebop
Bebop2 の組み立てと接続
ここでは詳細は説明しません
プロペラを付けて、バッテリーを充電したら Bebop2 を起動してください
Bebop2 を起動すると Bebop2 用の Wifi のアクセスポイントが出現します
Mac とこのアクセスポイントを接続しましょう
デフォルトだとパスワード等も特になく名前もこんな感じで Bebop2-xxxxxxx で表示されます
接続したらスクリプトを実行してみましょう
サンプルのスクリプト
とりあえずテイクオフして 3 秒後にランディングするスクリプトを作成してみます
- cd /path/to/work
- vim first_bebop.js
var bebop = require('node-bebop');
var drone = bebop.createClient();
drone.connect(function() {
drone.takeOff();
setTimeout(function() {
drone.land();
}, 5000);
});
- node first_bebop.js
これで実行するとテイクオフして 5 秒後にランディングすると思います
もちろん実行するときは Bebop2 と接続した状態で行ってください
Bebop2 と接続していない状態で実行すると以下のようなエラーになると思います
events.js:154
throw er; // Unhandled 'error' event
^
Error: connect ETIMEDOUT 192.168.42.1:44444
at Object.exports._errnoException (util.js:890:11)
at exports._exceptionWithHostPort (util.js:913:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1061:14)
最後に
Bebop2 を Nodejs で動かす Getting Started 的なことをやってみました
公式 だと iOS や Android 用の SDK がメインなので Nodejs で動かせるとサーバ処理と連携したりできるので応用性が増しそうです
Bebop2 と接続しているときは当たり前ですが、インターネットには接続できません
なので、インターネットに接続しながら Bebop2 も制御したいとなると Mac に Wifi 用の USB ドングルをもう一つ接続する必要があります
0 件のコメント:
コメントを投稿