How it works...

The first script defines a class called Switch; it sets up the GPIO pins required to control the five relays (within the setup function). It also defines the __enter__ and __exit__ functions, which are special functions used by the with..as statement. When a class is created using with..as, it uses __enter__ to perform any extra initialization or setup (if required), and then it performs any cleanup by calling __exit__. When the Switch class has been executed, all the relays are switched off to preserve the remote's battery and GPIO.cleanup() is called to release the GPIO pins. The parameters of the __exit__ function (type, value, and traceback) allow the handling of any specific exceptions that may have occurred when the ...

Get Raspberry Pi 3 Cookbook for Python Programmers - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.