Programming paradigms for physical computing and IoT
summary
GPIO Zero provides a Pythonic API that maps real devices to device classes and supports four concrete paradigms: procedural polling, event-driven callbacks, blocking waits and a declarative source/values model that wires generators into outputs. Examples include a potentiometer driving a PWM LED, combining motion and light sensors into a garden light prototype, Blue Dot phone control for a Raspberry Pi robot, and a mains-controlled tortoise heat lamp via an energy-sensing socket. The related piwheels service serves ~500k packages/month and saves ~23 years of build time.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:50GPIO Pins - General Purpose Input/Output
- 1:51GPIO Zero - a friendly API for GPIO devices
- 3:12Multi-paradigm: procedural (polling)
- 4:02Multi-paradigm: event-driven (callbacks)
- 6:59Source / Values
- 7:43Processing values
- 8:22Source tools - single source conversions
- 8:36Combining values
- 10:11Chaining combined values - garden light prototype
- 11:28Combining paradigms
- 12:36Artificial values
- 14:15Energenie tortoise lamp
- 16:46Multi-paradigm: procedural (blocking)
- 17:05Blue Dot Robot
- 18:17Z-Wave devices & asyncio
- 19:42GPIO Zero on GitHub & ReadTheDocs
- 20:06piwheels
- 21:38Raspberry Jam
- 22:39CoderDojo
related talks
50mGot Python I/O: IoT Development in Python via GPIO
17mRapid GUI development for IOT systems
26mEnabling Cyber Physical systems using Beaglebone Black and Python
31mProgram all the things - How to develop IoT devices using MicroPython
47mCreating a Connected Home
40mIoT Adventures with Python
46mPhysical Computing, or How Software Meets Xmas Trees (and more)
34mUsing Python to enter the world of Microcontrollers
