GoLang

Tello + GOBOT

職場のドローンプロジェクトで自腹をきってドローンを購入しました。

プロジェクトに参加者の方々は、ドローンで何かしたいというのが目的のようですが、自分はドローンで何かしたいと言うよりは、Goでなんかしたい〜という下心で参加しています。

買ったTelloはこちらのBoostコンボ。

https://store.dji.com/jp/product/tello?vid=38421

バッテリーが3つとバッテリー充電ハブが1つついてきます。

 

Telloを動かす

はじめは、iPhoneにTelloのアプリをいれて動かしてみました。

早速むすこっちのおもちゃになってる。

次女がしつこくTelloをどついていましたが、安定飛行。すごい。

そして天井高くとばされ、家じゅうの高いところにあるホコリがおちてくる。。。おそうじグッズになる〜。いいね。

肝心のGoは使えるのかメーカーに問い合わせたのだが・・

とか言われましたが、GOBOTを使うぞー。

GOBOTのインストール

ではさっそく、GoでTelloを動かしてみるンゴ。

https://gobot.io

インストール

ターミナルで以下のコマンドを実行します。

🎁 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)にしたら動きました。

今日はこれでおしまい。

次は何をためしてみようかな🥰

-GoLang