Slide 1

Slide 1 text

Node-REDでTelloを動かすノードを 作ってみた KMiura(@k_miura_io)

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • 名古屋のゲーム会社 のサーバーエンジニア @k_miura_io koki.miura05

Slide 3

Slide 3 text

宣伝 • TelloをNode-REDを動かすための自作ノードを公開 • Telloお持ちの方はぜひお試しを! • Special thanks @Zakkiea さん again https://flows.nodered.org/node/node-red-contrib-tello

Slide 4

Slide 4 text

今日はこの話

Slide 5

Slide 5 text

背景 • Scratchを使ってTelloを操作し たときにふとNode-REDでも やってみたいと思った

Slide 6

Slide 6 text

最初に試したこと • Node-REDのUDP ノードを使ってコマンド を送信 • 手動で操作するならい いかもしれないけど自 動でフライトさせようと すると工夫が必要

Slide 7

Slide 7 text

ありものだけだともの足りん

Slide 8

Slide 8 text

作ってみた

Slide 9

Slide 9 text

開発環境 • Windows10 • Docker(Node-REDイメージ) • Raspberry Pi(公開したノードのダウンロード、動作テスト用)

Slide 10

Slide 10 text

要件定義 • Scratch版で提供している機能(takeoff, land, etc.)は最低限実装 • コマンドの実行結果を出力されるようにする • バッテリー残量、機体の温度なども出力されるようにする

Slide 11

Slide 11 text

基本動作 • UDP送信を行う関数を用意してTelloに送信し ている • Scratchと連携するときに使ったNode.jsコー ドを参考

Slide 12

Slide 12 text

ステータス • Promiseを使ってレスポンスを取得 できるようにした • 力技だが本体に問題がなければ ちゃんと値が取れる • 他の方法あるぞ!という方はissue かPRを

Slide 13

Slide 13 text

DEMO

Slide 14

Slide 14 text

いざというときのための動画w https://youtu.be/dHfa1Lx3pFY

Slide 15

Slide 15 text

Scratch版との違い Scratch Node-RED 実行環境 Scratch2.0とNode.js Node.js デバッグ 不可(Node.jsのサーバーサイドでは可) 可 ステータスの 取得 不可 可 カメラ連携 不可 不可(V2で実装予定)

Slide 16

Slide 16 text

今後の展望 • カメラ連携をできるようにする • 連携サンプルを増やしていく

Slide 17

Slide 17 text

今回紹介したノードについて https://supernove.hatenadiary.jp /entry/2020/12/16/004621 https://github.com/Miura55/nod e-red-contrib-tello Blog Github

Slide 18

Slide 18 text

END