sphero

package
v0.0.0-...-86e32b9 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2014 License: Apache-2.0, Apache-2.0 Imports: 5 Imported by: 0

README

Sphero

This package provides the Gobot adaptor and driver for the Sphero robot from Orbotix .

Installing

go get github.com/hybridgroup/gobot && go install github.com/hybridgroup/gobot/platforms/sphero

How To Connect

OSX

In order to allow Gobot running on your Mac to access the Sphero, go to "Bluetooth > Open Bluetooth Preferences > Sharing Setup" and make sure that "Bluetooth Sharing" is checked.

Now you must pair with the Sphero. Open System Preferences > Bluetooth. Now with the Bluetooth devices windows open, smack the Sphero until it starts flashing three colors. You should see "Sphero-XXX" pop up as available devices where "XXX" is the first letter of the three colors the sphero is flashing. Pair with that device. Once paired your Sphero will be accessable through the serial device similarly named as /dev/tty.Sphero-XXX-RN-SPP

Ubuntu

Connecting to the Sphero from Ubuntu or any other Linux-based OS can be done entirely from the command line using Gort CLI commands. Here are the steps.

Find the address of the Sphero, by using:

gort scan bluetooth

Pair to Sphero using this command (substituting the actual address of your Sphero):

gort bluetooth pair <address>

Connect to the Sphero using this command (substituting the actual address of your Sphero):

gort bluetooth connect <address>
Windows

You should be able to pair your Sphero using your normal system tray applet for Bluetooth, and then connect to the COM port that is bound to the device, such as COM3.

Example

package main

import (
	"fmt"
	"time"

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

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

	adaptor := sphero.NewSpheroAdaptor("sphero", "/dev/rfcomm0")
	driver := sphero.NewSpheroDriver(adaptor, "sphero")

	work := func() {
		gobot.Every(3*time.Second, func() {
			driver.Roll(30, uint16(gobot.Rand(360)))
		})
	}

	robot := gobot.NewRobot("sphero",
		[]gobot.Connection{adaptor},
		[]gobot.Device{driver},
		work,
	)

	gbot.AddRobot(robot)

	gbot.Start()
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SpheroAdaptor

type SpheroAdaptor struct {
	gobot.Adaptor
	// contains filtered or unexported fields
}

func NewSpheroAdaptor

func NewSpheroAdaptor(name string, port string) *SpheroAdaptor

func (*SpheroAdaptor) Connect

func (a *SpheroAdaptor) Connect() bool

func (*SpheroAdaptor) Disconnect

func (a *SpheroAdaptor) Disconnect() bool

func (*SpheroAdaptor) Finalize

func (a *SpheroAdaptor) Finalize() bool

func (*SpheroAdaptor) Reconnect

func (a *SpheroAdaptor) Reconnect() bool

type SpheroDriver

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

func NewSpheroDriver

func NewSpheroDriver(a *SpheroAdaptor, name string) *SpheroDriver

func (*SpheroDriver) GetRGB

func (s *SpheroDriver) GetRGB() []uint8

func (*SpheroDriver) Halt

func (s *SpheroDriver) Halt() bool

func (*SpheroDriver) Init

func (s *SpheroDriver) Init() bool

func (*SpheroDriver) Roll

func (s *SpheroDriver) Roll(speed uint8, heading uint16)

func (*SpheroDriver) SetBackLED

func (s *SpheroDriver) SetBackLED(level uint8)

func (*SpheroDriver) SetHeading

func (s *SpheroDriver) SetHeading(heading uint16)

func (*SpheroDriver) SetRGB

func (s *SpheroDriver) SetRGB(r uint8, g uint8, b uint8)

func (*SpheroDriver) SetStabilization

func (s *SpheroDriver) SetStabilization(on bool)

func (*SpheroDriver) Start

func (s *SpheroDriver) Start() bool

func (*SpheroDriver) Stop

func (s *SpheroDriver) Stop()

Jump to

Keyboard shortcuts

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