職場のドローンプロジェクトで自腹をきってドローンを購入しました。
プロジェクトに参加者の方々は、ドローンで何かしたいというのが目的のようですが、自分はドローンで何かしたいと言うよりは、Goでなんかしたい〜という下心で参加しています。
買ったTelloはこちらのBoostコンボ。
https://store.dji.com/jp/product/tello?vid=38421
バッテリーが3つとバッテリー充電ハブが1つついてきます。
Telloを動かす
はじめは、iPhoneにTelloのアプリをいれて動かしてみました。
早速むすこっちのおもちゃになってる。
次女がしつこくTelloをどついていましたが、安定飛行。すごい。
そして天井高くとばされ、家じゅうの高いところにあるホコリがおちてくる。。。おそうじグッズになる〜。いいね。
肝心のGoは使えるのかメーカーに問い合わせたのだが・・
職場のドローンプロジェクトで、稟議通すのがかなりめんどくさいことが分かったので自腹で買いました。
昨日届いた
(๑♡ᴗ♡๑)サポートにGoはちゃんと使えるのか聞いたら、んー、Pythonがおすすめ!
って言われてガーンってなってる
(._."Ⅱ)🐍🐍🐍 pic.twitter.com/r0zN2zmSyn
— Misato (@mikkegt) June 20, 2020
とか言われましたが、GOBOTを使うぞー。
GOBOTのインストール
ではさっそく、GoでTelloを動かしてみるンゴ。
インストール
ターミナルで以下のコマンドを実行します。
🎁 go get -d -u gobot.io/x/gobot/...
Hello Tello
Gobotのサイトからコードをコピぺし、
package main import ( "time" "gobot.io/x/gobot" "gobot.io/x/gobot/platforms/dji/tello" ) func main() { drone := tello.NewDriver("8889") work := func() { drone.TakeOff() gobot.After(5*time.Second, func() { drone.Land() }) } robot := gobot.NewRobot("tello", []gobot.Connection{}, []gobot.Device{drone}, work, ) robot.Start() }
drone := tello.NewDriver("8888") を drone := tello.NewDriver("8889") に書き換え保存。
Telloの電源ON。
MacとTelloをWifiでつなぐ。
プログラム実行!
🎁 go run mytello.go 2020/07/13 17:22:46 Initializing connections... 2020/07/13 17:22:46 Initializing devices... 2020/07/13 17:22:46 Initializing device Tello-3927EDFDCE9CCB7F ... 2020/07/13 17:22:46 Robot tello initialized. 2020/07/13 17:22:46 Starting Robot tello ... 2020/07/13 17:22:46 Starting connections... 2020/07/13 17:22:46 Starting devices... 2020/07/13 17:22:46 Starting device Tello-3927EDFDCE9CCB7F... 2020/07/13 17:22:46 Starting work... stick command error: write udp 192.168.10.2:8889->192.168.10.1:8889: write: can't assign requested address
あれ〜?つながらん!
とおもったら突然動き出してびびった。
数分飛んでから着陸。
おおお、何これ、めちゃ簡単!
はじめ、公式サイトの、drone := tello.NewDriver("8888") で動かしてたのですが、動かなくて、ログにでていたポート番号(8889)にしたら動きました。
今日はこれでおしまい。
次は何をためしてみようかな🥰