mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
b6fb4e4d8947983fbc12038d0ccc4608bb663c26
This is just a quicky for people to start playing with - it's not complete in any way, shape, or form. This is how I envisage the "real" pin tests being done; part of the test suite with a `skipif` to ensure they don't get run on non-Pi platforms, with a fixture to loop over whatever pin implementations are found (we can't always assume all of them: for example, RPIO doesn't work on a Pi 2), and a relatively simple wiring for the test. In this case I've assumed GPIOs 22 and 27 are wired together. They're next to each other, so a jumper is sufficient to run the test. PRs extending the coverage are very welcome (I've already discovered and fixed several silly bugs in NativePin!). I've left all the interesting hard stuff for people to play with (PWM testing: statistical sampling? debounce compensation testing: timing?). When I've got a second, I'll looking into hooking up my Pi Zero as a Travis-esque test-bed for this, triggered by GitHub webhooks (not sure how I'll deal with reporting yet).
========
gpiozero
========
.. image:: https://badge.fury.io/py/gpiozero.svg
:target: https://badge.fury.io/py/gpiozero
:alt: Latest Version
.. image:: https://travis-ci.org/RPi-Distro/python-gpiozero.svg?branch=master
:target: https://travis-ci.org/RPi-Distro/python-gpiozero
:alt: Build Tests
A simple interface to everyday GPIO components used with Raspberry Pi.
Created by `Ben Nuttall`_ of the `Raspberry Pi Foundation`_, `Dave Jones`_, and
other contributors.
About
=====
Component interfaces are provided to allow a frictionless way to get started
with physical computing::
from gpiozero import LED
from time import sleep
led = LED(17)
while True:
led.on()
sleep(1)
led.off()
sleep(1)
With very little code, you can quickly get going connecting your components
together::
from gpiozero import LED, Button
from signal import pause
led = LED(17)
button = Button(3)
button.when_pressed = led.on
button.when_released = led.off
pause()
The library includes interfaces to many simple everyday components, as well as
some more complex things like sensors, analogue-to-digital converters, full
colour LEDs, robotics kits and more.
Install
=======
First, update your repositories list::
sudo apt-get update
Then install the package of your choice. Both Python 3 and Python 2 are
supported. Python 3 is recommended::
sudo apt-get install python3-gpiozero
or::
sudo apt-get install python-gpiozero
Documentation
=============
Comprehensive documentation is available at https://gpiozero.readthedocs.org/.
Development
===========
This project is being developed on `GitHub`_. Join in:
* Provide suggestions, report bugs and ask questions as `issues`_
* Provide examples we can use as `recipes`_
* Contribute to the code
Alternatively, email suggestions and feedback to mailto:ben@raspberrypi.org
Contributors
============
- `Ben Nuttall`_ (project maintainer)
- `Dave Jones`_
- `Martin O'Hanlon`_
- `Andrew Scheller`_
- `Schelto vanDoorn`_
.. _Ben Nuttall: https://github.com/bennuttall
.. _Raspberry Pi Foundation: https://www.raspberrypi.org/
.. _Dave Jones: https://github.com/waveform80
.. _GitHub: https://github.com/RPi-Distro/python-gpiozero
.. _issues: https://github.com/RPi-Distro/python-gpiozero/issues
.. _recipes: http://gpiozero.readthedocs.org/en/latest/recipes.html
.. _Ben Nuttall: https://github.com/bennuttall
.. _Dave Jones: https://github.com/waveform80
.. _Martin O'Hanlon: https://github.com/martinohanlon
.. _Andrew Scheller: https://github.com/lurch
.. _Schelto vanDoorn: https://github.com/pcopa
Description
Languages
Python
98.8%
Makefile
1.2%