hybridgroup.gobot/platforms/ardrone
gmarik e494b9fb99 Refactor to use `gobottest` test helpers 2016-02-22 00:33:58 -05:00
..
LICENSE WIP project restructure 2014-04-29 13:20:32 -07:00
README.md The take-off-before-event-handling bug again 2016-02-17 12:25:14 -08:00
ardrone_adaptor.go go lint and documentation tweaks for the ardrone package 2014-12-31 06:34:36 -08:00
ardrone_adaptor_test.go Refactor to use `gobottest` test helpers 2016-02-22 00:33:58 -05:00
ardrone_driver.go Fixing doc typo in ardrone_driver.go saying that backward went forward. 2015-08-28 13:42:43 -07:00
ardrone_driver_test.go Refactor to use `gobottest` test helpers 2016-02-22 00:33:58 -05:00
doc.go go lint and documentation tweaks for the ardrone package 2014-12-31 06:34:36 -08:00
test_helper.go Make golint happy 2014-06-10 15:16:11 -07:00

README.md

Ardrone

The ARDrone from Parrot is an inexpensive quadcopter that is controlled using WiFi. It includes a built-in front-facing HD video camera, as well as a second lower resolution bottom facing video camera.

For more info about the ARDrone platform click here.

How to Install

go get -d -u github.com/hybridgroup/gobot/... && go install github.com/hybridgroup/gobot/platforms/ardrone

How to Use

package main

import (
	"time"

	"github.com/hybridgroup/gobot"
	"github.com/hybridgroup/gobot/platforms/ardrone"
)

func main() {
	gbot := gobot.NewGobot()

	ardroneAdaptor := ardrone.NewArdroneAdaptor("Drone")
	drone := ardrone.NewArdroneDriver(ardroneAdaptor, "Drone")

	work := func() {
		gobot.On(drone.Event("flying"), func(data interface{}) {
			gobot.After(3*time.Second, func() {
				drone.Land()
			})
		})
		drone.TakeOff()
	}

	robot := gobot.NewRobot("drone",
		[]gobot.Connection{ardroneAdaptor},
		[]gobot.Device{drone},
		work,
	)
	gbot.AddRobot(robot)

	gbot.Start()
}

How to Connect

The ARDrone is a WiFi device, so there is no additional work to establish a connection to a single drone. However, in order to connect to multiple drones, you need to perform some configuration steps on each drone via SSH.