跳到主要内容

gpiozero

使用 Raspberry Pi 连接 GPIO 设备的简单接口,由 Ben NuttallDave 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.GPIOpigpio,每个引脚库都有自己的优势。你可以根据自己的需要,为整个脚本或每个设备选择一个特定的引脚库。请参阅 更改引脚工厂 部分。

为测试目的,还提供了一个 "模拟引脚" 接口。请参阅 模拟引脚 部分了解更多信息。

安装

GPIO Zero 默认安装在 Raspberry Pi OS 桌面映像中,可从 raspberrypi.org 获取。要在 Raspberry Pi OS Lite 或其他操作系统(包括使用远程 GPIO 的 PC)上安装,请参阅 安装 章节。

文档

全面的文档可从 https://gpiozero.readthedocs.io/ 获取。请参阅文档中的 贡献开发 章节,了解有关项目贡献的信息。

问题和疑问

如果您有功能请求或错误报告,请 在 GitHub 上打开一个问题。如果您有问题或需要帮助,我们的 GitHub 讨论板Raspberry Pi Stack ExchangeRaspberry Pi 论坛 可能更适合您。

贡献

查看 GitHub 贡献页面 获得更多信息。

更新日志

版本发布更新日志请参见 这里

目录


中文翻译版以英文版相同知识授权方式共享:BSD-3-Clause。交流 Q群:498908352