raspi

package
v0.0.0-...-5b337ac Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2017 License: Apache-2.0, Apache-2.0 Imports: 9 Imported by: 0

README

Raspberry Pi

The Raspberry Pi is an inexpensive and popular ARM based single board computer with digital & PWM GPIO, and i2c interfaces built in.

The Gobot adaptor for the Raspberry Pi should support all of the various Raspberry Pi boards such as the Raspberry Pi 3 Model B, Raspberry Pi 2 Model B, Raspberry Pi 1 Model A+, and Raspberry Pi Zero.

We recommend updating to the latest Raspian Jessie OS when using the Raspberry Pi, however Gobot should also support older versions of the OS, should your application require this.

For more info about the Raspberry Pi platform, click here.

How to Install

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

How to Use

The pin numbering used by your Gobot program should match the way your board is labeled right on the board itself.

package main

import (
        "time"

        "gobot.io/x/gobot"
        "gobot.io/x/gobot/drivers/gpio"
        "gobot.io/x/gobot/platforms/raspi"
)

func main() {
        r := raspi.NewAdaptor()
        led := gpio.NewLedDriver(r, "7")

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

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

        robot.Start()
}

How to Connect

Compiling

Simply compile your Gobot program like this:

$ GOARM=6 GOARCH=arm GOOS=linux go build examples/raspi_blink.go

Use the following GOARM values to compile depending on which model Raspberry Pi you are using:

GOARM=6 (Raspberry Pi A, A+, B, B+, Zero) GOARM=7 (Raspberry Pi 2, 3)

Once you have compiled your code, 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
Enabling PWM output on GPIO pins.

For extended PWM support on the Raspberry Pi, you will need to use a program called pi-blaster. You can follow the instructions for pi-blaster install in the pi-blaster repo here:

https://github.com/sarfata/pi-blaster

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

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Adaptor

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

Adaptor is the Gobot Adaptor for the Raspberry Pi

func NewAdaptor

func NewAdaptor() *Adaptor

NewAdaptor creates a Raspi Adaptor

func (*Adaptor) Connect

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

Connect starts connection with board and creates digitalPins and pwmPins adaptor maps

func (*Adaptor) DigitalRead

func (r *Adaptor) DigitalRead(pin string) (val int, err error)

DigitalRead reads digital value from pin

func (*Adaptor) DigitalWrite

func (r *Adaptor) DigitalWrite(pin string, val byte) (err error)

DigitalWrite writes digital value to specified pin

func (*Adaptor) Finalize

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

Finalize closes connection to board and pins

func (*Adaptor) I2cRead

func (r *Adaptor) I2cRead(address int, size int) (data []byte, err error)

I2cRead returns value from i2c device using specified size

func (*Adaptor) I2cStart

func (r *Adaptor) I2cStart(address int) (err error)

I2cStart starts a i2c device in specified address

func (*Adaptor) I2cWrite

func (r *Adaptor) I2cWrite(address int, data []byte) (err error)

I2CWrite writes data to i2c device

func (*Adaptor) Name

func (r *Adaptor) Name() string

Name returns the Adaptor's name

func (*Adaptor) PwmWrite

func (r *Adaptor) PwmWrite(pin string, val byte) (err error)

PwmWrite writes a PWM signal to the specified pin

func (*Adaptor) ServoWrite

func (r *Adaptor) ServoWrite(pin string, angle byte) (err error)

ServoWrite writes a servo signal to the specified pin

func (*Adaptor) SetName

func (r *Adaptor) SetName(n string)

SetName sets the Adaptor's name

Jump to

Keyboard shortcuts

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