README
¶
Raspi
The Raspberry Pi is an inexpensive and popular ARM based single board computer with digital & PWM GPIO, and i2c interfaces built in.
The Raspberry Pi is a credit-card-sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools
For more info about the Raspberry Pi platform, click here.
How to Install
First you must install the appropriate Go packages
go get -d -u github.com/hybridgroup/gobot/... && go install github.com/hybridgroup/gobot/platforms/raspi
Enabling PWM output on GPIO pins.
You need to install and have pi-blaster running in the raspberry-pi, you can follow the instructions for pi-blaster install in the pi-blaster repo here:
https://github.com/sarfata/pi-blaster
Special note for Raspian Wheezy users
The go vesion installed from the default package repositories is very old and will not compile gobot. You can install go 1.4 as follows:
$ wget -O - http://dave.cheney.net/paste/go1.4.linux-arm~multiarch-armv6-1.tar.gz|sudo tar -xzC /usr/local -f -
$ echo '# Setup for golang' |sudo tee /etc/profile.d/golang.sh
$ echo 'PATH=$PATH:/usr/local/go/bin'|sudo tee -a /etc/profile.d/golang.sh
$ source /etc/profile.d/golang.sh
Cross compiling for the Raspberry Pi
You must first configure your Go environment for linux cross compiling
$ cd $GOROOT/src
$ GOOS=linux GOARCH=arm ./make.bash --no-clean
Then compile your Gobot program with
$ GOARM=6 GOARCH=arm GOOS=linux examples/raspi_blink.go
Then you can simply upload your program over the network from your host computer to the Raspi
$ scp raspi_blink pi@192.168.1.xxx:/home/pi/
and execute it on your Raspberry Pi with
$ ./raspi_blink
How to Use
package main
import (
"time"
"github.com/hybridgroup/gobot"
"github.com/hybridgroup/gobot/platforms/gpio"
"github.com/hybridgroup/gobot/platforms/raspi"
)
func main() {
gbot := gobot.NewGobot()
r := raspi.NewRaspiAdaptor("raspi")
led := gpio.NewLedDriver(r, "led", "7")
work := func() {
gobot.Every(1*time.Second, func() {
led.Toggle()
})
}
robot := gobot.NewRobot("blinkBot",
[]gobot.Connection{r},
[]gobot.Device{led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
Documentation
¶
Overview ¶
Package raspi contains the Gobot adaptor for the Raspberry Pi.
For further information refer to raspi README: https://github.com/hybridgroup/gobot/blob/master/platforms/raspi/README.md
Index ¶
- type RaspiAdaptor
- func (r *RaspiAdaptor) Connect() (errs []error)
- func (r *RaspiAdaptor) DigitalRead(pin string) (val int, err error)
- func (r *RaspiAdaptor) DigitalWrite(pin string, val byte) (err error)
- func (r *RaspiAdaptor) Finalize() (errs []error)
- func (r *RaspiAdaptor) I2cRead(address int, size int) (data []byte, err error)
- func (r *RaspiAdaptor) I2cStart(address int) (err error)
- func (r *RaspiAdaptor) I2cWrite(address int, data []byte) (err error)
- func (r *RaspiAdaptor) Name() string
- func (r *RaspiAdaptor) PwmWrite(pin string, val byte) (err error)
- func (r *RaspiAdaptor) ServoWrite(pin string, angle byte) (err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RaspiAdaptor ¶
type RaspiAdaptor struct {
// contains filtered or unexported fields
}
func NewRaspiAdaptor ¶
func NewRaspiAdaptor(name string) *RaspiAdaptor
NewRaspiAdaptor creates a RaspiAdaptor with specified name and
func (*RaspiAdaptor) Connect ¶
func (r *RaspiAdaptor) Connect() (errs []error)
Connect starts conection with board and creates digitalPins and pwmPins adaptor maps
func (*RaspiAdaptor) DigitalRead ¶
func (r *RaspiAdaptor) DigitalRead(pin string) (val int, err error)
DigitalRead reads digital value from pin
func (*RaspiAdaptor) DigitalWrite ¶
func (r *RaspiAdaptor) DigitalWrite(pin string, val byte) (err error)
DigitalWrite writes digital value to specified pin
func (*RaspiAdaptor) Finalize ¶
func (r *RaspiAdaptor) Finalize() (errs []error)
Finalize closes connection to board and pins
func (*RaspiAdaptor) I2cRead ¶
func (r *RaspiAdaptor) I2cRead(address int, size int) (data []byte, err error)
I2cRead returns value from i2c device using specified size
func (*RaspiAdaptor) I2cStart ¶
func (r *RaspiAdaptor) I2cStart(address int) (err error)
I2cStart starts a i2c device in specified address
func (*RaspiAdaptor) I2cWrite ¶
func (r *RaspiAdaptor) I2cWrite(address int, data []byte) (err error)
I2CWrite writes data to i2c device
func (*RaspiAdaptor) Name ¶
func (r *RaspiAdaptor) Name() string
func (*RaspiAdaptor) ServoWrite ¶
func (r *RaspiAdaptor) ServoWrite(pin string, angle byte) (err error)