Ben Nuttall ● Raspberry Pi Community Manager ● Based in Cambridge, UK ● Creator of gpiozero python library ● Columnist on opensource.com ● github.com/bennuttall ● twitter.com/ben_nuttall ● [email protected]
Raspberry Pi Foundation ● Educational charity founded in 2009 ● Owns trading subsidiary Raspberry Pi Trading Ltd ● Trading profits fund educational programmes
Our mission “Putting the power of digital making into the hands of people all over the world” So that people are: ● Capable of understanding and shaping an increasingly digital world ● Able to solve the problems that matter to them, both as makers and entrepreneurs ● Equipped for the jobs of the future
Multi-paradigm: procedural from gpiozero import LED, Button led = LED(17) button = Button(4) while True: if button.is_pressed: led.on() else: led.off()
Supporting multiple back-ends ● RPi.GPIO ● Implemented in C, current default ● RPIO ● Implemented in C ● pigpio ● Python wrapper for C library, runs as daemon, remote pins ● Native ● Pure Python, limited functionality, experimental ● MockPin & MockPWMPin ● Pure Python, used in test suite
pigpio - remote GPIO from Pi or PC from gpiozero import LED from gpiozero.pins.pigpiod import PiGPIOPin led = LED(PiGPIOPin(22, host='192.168.0.2')) led.blink()
Picamera ● 8 megapixels (v2) – v1 was 5mpx ● Visible light & infra-red versions available ● 1080p30, 720p60 and VGA90 video ● Command line interface and Python library
Picamera - capture from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() sleep(3) camera.capture('/home/pi/Desktop/image.jpg') camera.stop_preview()
Picamera – record video from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() camera.start_recording('/home/pi/video.h264') sleep(10) camera.stop_recording() camera.stop_preview()
Picamera image effects from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() for effect in camera.IMAGE_EFFECTS: camera.image_effect = effect camera.annotate_text = "Effect: %s" % effect sleep(5) camera.stop_preview()
Sense HAT ● Special made for Tim Peake's Astro Pi mission ● Sensors, LED display & joystick ● Great for science, games and creativity ● Works on any Pi model ● Emulators also available
Python libraries ● Contribute to: – gpiozero – picamera – sense hat – more! ● Help maintainers upgrade modules to Python 3 ● Create your own Python libraries for Raspberry Pi things
The MagPi ● Community magazine established in 2012 (as free PDF download) ● Now the official Raspberry Pi magazine ● Paper copies on sale in UK/US shops and online ● Still a free PDF download ● Occasionally comes with a free computer ● Book series (also available for free) ● raspberrypi.org/magpi
Raspberry Jam ● Independently organised community events ● Family-friendly ● Mix of meetup / conference / workshop styles ● Contact me about setting one up! ● raspberrypi.org/jam
Code Club ● Free volunteer-led after school clubs for children ● Projects provided using Scratch, HTML and Python ● Training and support provided for volunteers ● Help translating materials ● codeclubworld.org