flexy(フレキシー)CTO、技術顧問、エンジニアやデザイナーをご紹介するITメディア。viewsこんにちは。いった状態を確認してみましょう。今回の流れ今回はこのように、Telloの状態確認することを体験します。第2回では、いきなり離着陸をしましたが、実際のところ、電池残量によってTelloの接続が途切れやすかったり、実際に命令をしてもエラーが起こっていてうまくいかない場合もあります。操縦時は、この状況確認の機能を使ってTelloの健康状態を気にしながら対応したほうが、安心して操作できるのでオススメです。Node-REDの準備まず、こちらのフローをインポートします。インポートの仕方は第2回を参考にしましょう。in","z":"bc2d5655.a445d8","name":"","iface":"","port":"45678","ipv":"udp4","multicast":"false","group":"","datatype":"utf8","x":540,"y":240,"wires":[["d7209c8d.536c6"]]},{"id":"d7209c8d.536c6","type":"debug","z":"bc2d5655.a445d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":690,"y":240,"wires":[]},{"id":"a7051b93.daa4e8","type":"comment","z":"bc2d5655.a445d8","name":"ドローン命令の結果受信","info":"","x":590,"y":200,"wires":[]},{"id":"57700d17.00efa4","type":"inject","z":"bc2d5655.a445d8","name":"","topic":"","payload":"battery?","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"","x":240,"y":160,"wires":[["25ecbcab.6aff14"]]},{"id":"d6652dd0.16c4c","type":"comment","z":"bc2d5655.a445d8","name":"コマンド開始","info":"","x":230,"y":40,"wires":[]},{"id":"8b6ebe1d.1b704","type":"comment","z":"bc2d5655.a445d8","name":"バッテリー残量問い合わせ","info":"","x":190,"y":120,"wires":[]},{"id":"64c71155.7589","type":"comment","z":"bc2d5655.a445d8","name":"ドローンへ命令送信","info":"","x":570,"y":80,"wires":[]},{"id":"287554c8.67fe3c","type":"comment","z":"bc2d5655.a445d8","name":"飛行時間(秒)問い合わせ","info":"","x":190,"y":200,"wires":[]},{"id":"d1583a16.4b4158","type":"inject","z":"bc2d5655.a445d8","name":"","topic":"","payload":"time?","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"","x":250,"y":240,"wires":[["25ecbcab.6aff14"]]},{"id":"b459282a.4699a8","type":"inject","z":"bc2d5655.a445d8","name":"","topic":"","payload":"height?","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"","x":250,"y":320,"wires":[["25ecbcab.6aff14"]]},{"id":"3272a394.83c90c","type":"comment","z":"bc2d5655.a445d8","name":"飛行高度(cm)問い合わせ","info":"","x":180,"y":280,"wires":[]}]インポートして読み込むと1つタブが増えています。前回のフローについては、今回のフローに注力するために削除しておきます。タブをダブルクリックして、タブの詳細画面からDeleteを押して削除します。削除できればタブは今回のひとつだけになります。読み込まれたフローはこのようになっております。コメントを入れて各機能を動かすinjectノードを整理しました。いった状態を確認することに注力します。バッテリー状態を聞くコマンドは、となっていて、battery?という疑問符がついたメッセージで問い合わせます。ホントにドローンに聞くみたいで可愛いですね。Telloからの返答はどう受け取っているかTelloからの返答はどう受け取ってるのでしょうか?このやり取りに注目です。いままでTelloにデータを送っているudpノードをダブルクリックして設定を見てみましょう。いう機能を使って、返答を45678番というポートに転送させています。こちらのudpポートで45678番というポートの情報受け取るので、Telloの返答が受信できます。動かしてみるまず、今回ははじめてデバッグを行ってみます。この緑のノードがdebugノードと言って、左のサイドバーのデバックタブから、このノードに流れ込むデバッグログが確認できます。最初の表示時はこのように情報タブが表示されています。虫のボタンを押して、まず、デバッグタブを表示させます。起動からコマンド成立まで今回はTelloを飛ばさずに確認することが可能です。第2回を参考に電源を入れてWi-Fiを接続します。コマンド開始を押してみると、このように接続され緑のランプが点灯します。デバックタブにもokと返答が帰ってきます。ここでerrorが返ってくる場合は、電池残量が少なくなっていて接続が不安定だったり、Wi-Fi環境が良くなくつながりにくい場合があります。電源を入れ直して試してみる電池残量が少なくなっていて接続が不安定と予想される場合そもそも以降のアクションができず電池残量が確認ができないが電池を充電し直してみるスマートフォンの操縦アプリのほうで頑張って接続してみて電池残量を確認など試してみましょう。バッテリー情報を取得してみるさて、うまく接続できたら、いよいよバッテリー情報を取得してみます。このまま命令をせずにしばらく待つと接続が解除されてしまうので、すぐにやってみましょう。こちらをクリックします。するとTelloにデータが送られ返答が返ってきます。いまは92%の電池残量があると確認できました。ドローン操縦でデータを確認するのは重要ということで、うまくいきました。今回はバッテリー残量のみでしたが、さらに飛行させてみると、飛行時間や飛行高度を問い合わせることも可能です。EN_1.3.pdfそのほかにも、飛行中の加速度センサーや機体などもSDKの仕様を見ると確認できるようです。このように、ドローン操縦時、データを確認するのは、人間でいうと健康状態を確認するようなものです。どれくらい飛行させることが出来るか把握できたり、飛行の状況を判断できます。トイドローンではありますが、このような機能から、もし本当に実際にドローンを動かすときの様々な注意点を体験できるので、是非試してみてください!Tweetこの記事を書いた人SeigoTanaka2004年よりフリーランス。以後、FLASH制作を中心にインタラクティブコンテンツを主に行い現在に至る。Realityといった技術も取り入れながら活動しています。