Dave Jones e2ddad6fea Shut down GPIO threads nicely
The motion sensor queue doesn't shut down properly at script end at the
moment and prevents the interpreter shutting down. This is because it's
a non-daemon thread so `__del__` never gets run and so on.

This is a bit of a major PR - I can split it up if you want. Firstly it
makes a common base class called `GPIODevice` for both `InputDevice` and
`OutputDevice`. This just takes care of the read-only pin stuff. Next it
makes a `GPIOThread` class that ensures its a daemon thread, and which
also ensures proper cleanup on shutdown.

Finally, it fixes `MotionSensor` to use the new `GPIOThread` class
(tested this time! Works nicely) and adds the `blink` method to the
`LED` class (which also works nicely this time).
2015-09-18 12:45:30 +01:00
2015-09-15 17:53:50 +01:00
2015-09-18 12:45:30 +01:00
2015-09-15 08:43:13 +01:00
2015-09-15 17:57:14 +01:00
2015-09-15 19:12:08 +01:00
2015-09-15 17:53:50 +01:00

========
gpiozero
========

A simple interface to everyday GPIO components used with Raspberry Pi

*A work in progress*

Motivation
==========

The "hello world" program in Java is at least 5 lines long, and contains 11 jargon words which students are taught to ignore.

The "hello world" program in Python is one simple line. However, the "hello world" of physical computing in Python (flashing an LED) is similar to the Java program: 6 lines of code to flash an LED.

Young children and beginners shouldn't need to sit and copy out several lines of text they're told to ignore. They should be able to read their code and understand what it means.

Install
=======

Install with pip::

    sudo pip install gpiozero
    sudo pip-3.2 install gpiozero

Usage
=====

Example usage for flashing an LED::

    from gpiozero import LED
    from time import sleep

    led = LED(2)

    while True:
        led.on()
        sleep(1)
        led.off()
        sleep(1)

Development
===========

This project is being developed on `GitHub`_. Join in:

* Provide suggestions
* Help design the `API`_
* Contribute to the code

Alternatively, email suggestions and feedback to ben@raspberrypi.org


.. _`GitHub`: https://github.com/RPi-Distro/python-gpiozero
.. _`API`: https://github.com/RPi-Distro/python-gpiozero/issues/7
Description
A simple interface to GPIO devices with Raspberry Pi
Readme 7.3 MiB
Languages
Python 98.8%
Makefile 1.2%