hybridgroup.gobot/platforms/beaglebone
deadprogram d884299c90 Merge branch 'master' into dev 2014-12-13 18:46:31 -08:00
..
LICENSE WIP project restructure 2014-04-29 13:20:32 -07:00
README.md update readmes for import script 2014-12-12 10:32:52 -08:00
beaglebone_adaptor.go Enforce I2c interface 2014-11-29 12:14:36 -08:00
beaglebone_adaptor_test.go Update platforms for new gpio interfaces 2014-11-29 11:51:16 -08:00
doc.go Update docs 2014-10-28 14:52:59 -07:00
pwm_pin.go Refactor beaglebone to use new adaptor interface 2014-11-22 18:59:27 -08:00

README.md

Beaglebone

The BeagleBone is an ARM based single board computer, with many different GPIO interfaces built in.

For more info about the BeagleBone platform click here.

How to Install

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

Cross compiling for the Beaglebone Black

You must first configure your Go environment for arm linux cross compiling

$ cd $GOROOT/src
$ GOOS=linux GOARCH=arm ./make.bash --no-clean

Then compile your Gobot program with

$ GOARM=7 GOARCH=arm GOOS=linux go build examples/beaglebone_blink.go

If you are running the official Angstrom or Debian linux through the usb->ethernet connection, you can simply upload your program and execute it with

$ scp beaglebone_blink root@192.168.7.2:/home/root/
$ ssh -t root@192.168.7.2 "./beaglebone_blink"

How to Use

package main

import (
	"time"

	"github.com/hybridgroup/gobot"
	"github.com/hybridgroup/gobot/platforms/beaglebone"
	"github.com/hybridgroup/gobot/platforms/gpio"
)

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

	beagleboneAdaptor := beaglebone.NewBeagleboneAdaptor("beaglebone")
	led := gpio.NewLedDriver(beagleboneAdaptor, "led", "P9_12")

	work := func() {
		gobot.Every(1*time.Second, func() {
			led.Toggle()
		})
	}

	robot := gobot.NewRobot("blinkBot",
		[]gobot.Connection{beagleboneAdaptor},
		[]gobot.Device{led},
		work,
	)

	gbot.AddRobot(robot)

	gbot.Start()
}