bebop

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2016 License: Apache-2.0, Apache-2.0, Apache-2.0 Imports: 2 Imported by: 7

README

Bebop

The Bebop 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.

How to Install

go get -d -u gobot.io/x/gobot/... && go install gobot.io/x/gobot/platforms/parrot/bebop

How to Use

package main

import (
	"time"

	"gobot.io/x/gobot"
	"gobot.io/x/gobot/platforms/parrot/bebop"
)

func main() {
	bebopAdaptor := bebop.NewAdaptor()
	drone := bebop.NewDriver(bebopAdaptor)

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

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

	robot.Start()
}

How to Connect

The Bebop 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.

Documentation

Overview

Package bebop provides the Gobot adaptor and driver for the Parrot Bebop.

Installing:

go get -d -u gobot.io/x/gobot/... && go install gobot.io/x/gobot/platforms/parrot/bebop

For more information refer to the bebop README: https://gobot.io/x/gobot/tree/master/platforms/parrot/bebop

Index

Constants

View Source
const (
	// Flying event
	Flying = "flying"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Adaptor

type Adaptor struct {
	// contains filtered or unexported fields
}

Adaptor is gobot.Adaptor representation for the Bebop

func NewAdaptor

func NewAdaptor() *Adaptor

NewAdaptor returns a new BebopAdaptor

func (*Adaptor) Connect

func (a *Adaptor) Connect() (err error)

Connect establishes a connection to the ardrone

func (*Adaptor) Finalize

func (a *Adaptor) Finalize() (err error)

Finalize terminates the connection to the ardrone

func (*Adaptor) Name

func (a *Adaptor) Name() string

Name returns the Bebop Adaptors Name

func (*Adaptor) SetName

func (a *Adaptor) SetName(n string)

SetName sets the Bebop Adaptors Name

type Driver

type Driver struct {
	gobot.Eventer
	// contains filtered or unexported fields
}

Driver is gobot.Driver representation for the Bebop

func NewDriver

func NewDriver(connection *Adaptor) *Driver

NewDriver creates an Bebop Driver.

func (*Driver) Backward

func (a *Driver) Backward(speed int)

Backward causes the drone go forward, controls the pitch. speed can be a value from `0` to `100`.

func (*Driver) Clockwise

func (a *Driver) Clockwise(speed int)

Clockwise causes the drone to spin in clockwise direction speed can be a value from `0` to `100`.

func (*Driver) Connection

func (a *Driver) Connection() gobot.Connection

Connection returns the Bebop Drivers Connection

func (*Driver) CounterClockwise

func (a *Driver) CounterClockwise(speed int)

CounterClockwise the drone to spin in counter clockwise direction speed can be a value from `0` to `100`.

func (*Driver) Down

func (a *Driver) Down(speed int)

Down makes the drone reduce altitude. speed can be a value from `0` to `100`.

func (*Driver) Forward

func (a *Driver) Forward(speed int)

Forward causes the drone go forward, controls the pitch. speed can be a value from `0` to `100`.

func (*Driver) Halt

func (a *Driver) Halt() (err error)

Halt halts the Bebop Driver

func (*Driver) HullProtection

func (a *Driver) HullProtection(protect bool) error

HullProtection tells the drone if the hull/prop protectors are attached. This is needed to adjust flight characteristics of the Bebop.

func (*Driver) Land

func (a *Driver) Land()

Land causes the drone to land

func (*Driver) Left

func (a *Driver) Left(speed int)

Left causes the drone to bank to the left, controls the roll, which is a horizontal movement using the camera as a reference point. speed can be a value from `0` to `100`.

func (*Driver) Name

func (a *Driver) Name() string

Name returns the Bebop Drivers Name

func (*Driver) Outdoor

func (a *Driver) Outdoor(outdoor bool) error

Outdoor tells the drone if flying Outdoor or not. This is needed to adjust flight characteristics of the Bebop.

func (*Driver) Right

func (a *Driver) Right(speed int)

Right causes the drone to bank to the right, controls the roll, which is a horizontal movement using the camera as a reference point. speed can be a value from `0` to `100`.

func (*Driver) SetName

func (a *Driver) SetName(n string)

SetName sets the Bebop Drivers Name

func (*Driver) Start

func (a *Driver) Start() (err error)

Start starts the Bebop Driver

func (*Driver) StartRecording

func (a *Driver) StartRecording() error

StartRecording starts the recording video to the drones interal storage

func (*Driver) Stop

func (a *Driver) Stop()

Stop makes the drone to hover in place.

func (*Driver) StopRecording

func (a *Driver) StopRecording() error

StopRecording stops a previously started recording

func (*Driver) TakeOff

func (a *Driver) TakeOff()

TakeOff makes the drone start flying

func (*Driver) Up

func (a *Driver) Up(speed int)

Up makes the drone gain altitude. speed can be a value from `0` to `100`.

func (*Driver) Video

func (a *Driver) Video() chan []byte

Video returns a channel which raw video frames will be broadcast on

Directories

Path Synopsis
examples
This example will connect to the Bebop and stream it's video to a webpage via ffserver.
This example will connect to the Bebop and stream it's video to a webpage via ffserver.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL