Skip to main content

Generic API to control boards with programmable IO pins.

Project description

Pingo provides a uniform API to program devices like the Raspberry Pi, BeagleBone Black, pcDuino etc. just like the Python DBAPI provides an uniform API for database programming in Python.

The API is object-oriented but easy to use: a board is an instance of a Board subclass. Every board has a dictionary called pins which lists all GPIO pins on the board. Each pin is an instance of a Pin subclass with attributes that you can inspect to learn about its capabilities.

The name Pingo is a tribute to Garoa Hacker Clube, where it started (Portuguese skills needed to understand the link). To our English-speaking friends we like to say that it means “pin, go!” – the main purpose of this package.

Basic usage

Blink.py on an UDOO board:

import pingo
from time import sleep

board = pingo.udoo.Udoo()
led_pin = board.pins[13]
led_pin.set_mode(pingo.OUTPUT)

while True:
    led_pin.high()
    sleep(1)
    led_pin.low()
    sleep(1)

To do the same on a Arduino Yún, just change the line were the board is instantiated, and the pin numbers as needed:

import pingo
from time import sleep

board = pingo.arduino.yun.YunBridge()  # <---
led_pin = board.pins[13]
led_pin.set_mode(pingo.OUTPUT)

while True:
    led_pin.high()
    sleep(1)
    led_pin.low()
    sleep(1)

Drivers

In the examples above, pingo.udoo pingo.arduino.yun are drivers, and the respective Udoo and YunBridge are classes implementing the pingo.board.Board interface.

The following table lists the drivers currently planned or under development.

Board

Type

Package

Notes

Arduino Firmata

remote

arduino.firmata

requires firmata library on any Arduino board

Arduino Yún

on-board

arduino.yun

requires Bridge sketch on the Arduino Yún

BeagleBone Black

on-board

beagle

Fantasma

mock

ghost

not a real board, just a mock for testing clients

Raspberry Pi

on-board

rpi

pcDuino

on-board

pcduino

UDOO

on-board

udoo

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pingo-0.1.8.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file pingo-0.1.8.tar.gz.

File metadata

  • Download URL: pingo-0.1.8.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pingo-0.1.8.tar.gz
Algorithm Hash digest
SHA256 59d3a817e73005f11678b490fb84d7f3dc493617b63e4a05569964984a6f45f7
MD5 d044604eb7dcb8e7584f363210456739
BLAKE2b-256 c3c5414ebc83adaa05806c23d3a4d50697c3ec41954b56d05b3702d48d6cb557

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page