gpiozero
使用 Raspberry Pi 连接 GPIO 设备的简单接口,由 Ben Nuttall 和 Dave Jones 开发和维护。
关于
提供组件接口,让您以无障碍的方式开始物理计算:
from gpiozero import LED
from time import sleep
led = LED(17)
while True:
led.on()
sleep(1)
led.off()
sleep(1)
只需很少的代码,您就可以快速将组件连接起来:
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()
您可以进一步使用声明式范例和提供的方法来描述设备的行为及其交互:
from gpiozero import OutputDevice, MotionSensor, LightSensor
from gpiozero.tools import booleanized, all_values
from signal import pause
garden = OutputDevice(17)
motion = MotionSensor(4)
light = LightSensor(5)
garden.source = all_values(booleanized(light, 0, 0.1), motion)
pause()
更多信息,请参阅 Source/Values 章节。
该库包括许多简单日常组件的接口,以及一些更复杂的组件,如传感器、模数转换器、全彩 LED、机器人套件等。请参阅文档的 方案 章节,了解如何入门。
引脚工厂
GPIO Zero 基于大量底层引脚库,包括 RPi.GPIO 和 pigpio,每个引脚库都有自己的优势。你可以根据自己的需要,为整个脚本或每个设备选择一个特定的引脚库。请参阅 更改引脚工厂 部分。
为测试目的,还提供了一个 "模拟引脚" 接口。请参阅 模拟引脚 部分了解更多信息。