AlexaでTelloを操作

仕組み

Alexaスキルでは、通常、コードはバックエンドにAWS Lambdaを使いデプロイするところですが、ドローンを飛ばすには自分のPCをバックエンドにして、発話からのコマンドを受ける必要があります。ドローンが発するwifiをPCで受信するので、PCのネット接続は別の手段で確保します(自分は有線LANで接続)。発話部分(フロント側)はAlexa スキルビルダーで作成し、自分のPCをエンドポイントにします。これを実現するのがngrokです。

方法

まず、https://github.com/miso-develop/tello-controller-alexa を自分のPCにクローンします(TMさん、公開ありがとうございます)。先に、npm, ngrokのインストールを済ませておきます。

npm install
npm install -g ngrok

ngrokのインストールで、”write access to /usr/local/lib/node_modules” のメッセージが出る場合は、こちらを参考に解決します。https://qiita.com/NaokiIshimura/items/cc07441939b226e779c6

準備が完了したら、ドローンを飛ばす時に、コードファイルを置いたフォルダ上で以下を実行します。

node index.js

別ターミナルを起動し、同フォルダで以下のコマンドを実行します。

ngrok http 3000

ngrokが起動できたら、Forwarding https のURLが表示されるのでそれをメモし、スキルビルダー上でENDPOINTに設定します。このURLは起動の度に変わります(継続有効時間は8時間)ので、操作前に設定する必要があります。

Qiita記事

コメントを残す