Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

raspberry-pi-gpio树莓派 GPIO

Agent Skill

raspberry-pi-gpio 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

15,520

周安装

634

GitHub Stars

公开资料未说明

下载量

5,021
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:raspberry-pi-gpio(树莓派 GPIO)
来源仓库:https://github.com/cld1994/raspberry-pi-gpio
安装命令:
openclaw skills install raspberry-pi-gpio
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install raspberry-pi-gpio

简介

在树莓派中配置并使用GPIO。 何时触发:对LED、按钮等简单需要进行控制时,需要对伺服、电机进行简单控制时,或需要直接控制GPIO时。 不要触发:当硬件负载不是树莓派时,当需要精确控制伺服、电机时。

SKILL.md

name
raspberry-pi-gpio
description
在树莓派中配置和使用GPIO. 何时触发: 需要对 LED, Button 这类简单外设进行控制时, 需要对 Servo, Motors 进行简单控制时, 或需要直接控制GPIO时. 不要触发: 当硬件载体不是树莓派时, 当需要精确控制 Servo, Motors时.

Raspberry Pi GPIO Skill

如果需要了解有关 GPIO 硬件的信息, 请参阅 GPIO 硬件.

使用 gpiozero 库可以轻松地用 Python 控制 GPIO 设备. gpiozero 是其他 GPIO 库(RPi.GPIO, pigpio, lgpio)的封装。它提供了一个通用的 API,这样就可以使用任何适合的后端库,而无需更改代码。

随着树莓派硬件(特别是 Raspberry Pi 5)的架构演变, lgpio 正在逐渐取代 RPi.GPIO 成为新的标准. 自 Release 2.0 (2023-09-12) 起, lgpio 是 gpiozero 的默认后端.

RPi.GPIO 是树莓派早期的经典 GPIO 库, 直接通过访问硬件寄存器(/dev/mem)来控制引脚. 而 lgpio 是基于现代 Linux 内核的 gpiochip 接口开发的库, 不依赖特定的硬件地址.

首次使用前检查

gpiozero

gpiozero 在树莓派操作系统中已经默认安装. 如果发现没有安装, 则执行下列命令进行安装:

sudo apt update
sudo apt install python3-gpiozero

rpi-lgpio

rpi-lgpio 在莓派操作系统中已经默认安装. 如果发现没有安装, 则需要检查 RPi.GPIO 是否已经安装了。 因为不能在同一 Python 环境中同时安装 rpi-lgpio 和 rpi-gpio, 因为这两个包都试图安装一个名为 RPi.GPIO 的模块

如果硬件是 Raspberry Pi 5 之前的系列, 可以直接使用 RPi.GPIO. 否则需要先卸载 RPi.GPIO:

sudo apt remove python3-rpi.gpio

再执行下列命令进行安装 rpi-lgpio:

sudo apt update
sudo apt install python3-rpi-lgpio

RPi.GPIO

如果硬件是 Raspberry Pi 5 或之后的系列, 则 RPi.GPIO 已经不能使用, 必须需要安装 rpi-lgpio

RPi.GPIO 在旧版的莓派操作系统中已经默认安装.

如果发现没有安装, 因为 RPi.GPIO 已经不推荐使用,如果 Linux 内核支持 gpiochip, 则直接安装 rpi-lgpio. 否则执行下列命令进行安装 RPi.GPIO:

sudo apt update
sudo apt install python3-rpi.gpio

使用 gpiozero

gpiozero 是一个用于树莓派 GPIO 设备的简单接口. 该库包含了许多简单日常组件的接口,还有一些更复杂的东西,比如传感器、模数转换器、全彩 LED、机器人套件等等.

GPIO输入 - 读取按钮

from gpiozero import Button
from time import sleep

button = Button(17, pull_up=True)

while True:
    if button.is_pressed:
        print("按钮被按下!")
    sleep(0.1)

GPIO输出 - 控制LED

from gpiozero import LED
from time import sleep

led = LED(18)

# LED闪烁
try:
    while True:
        led.on()
        sleep(0.5)
        led.off()
        sleep(0.5)
except KeyboardInterrupt:
    pass

事件处理 - 按钮回调

from gpiozero import Button, LED
from signal import pause

button = Button(17)
led = LED(18)

# 按下开灯,松开关灯
button.when_pressed = led.on
button.when_released = led.off

pause()  # 保持程序运行,等待事件

PWM控制

from gpiozero import PWMLED, Servo
from time import sleep

# LED亮度渐变
led = PWMLED(18)
for b in range(0, 101, 5):
    led.value = b / 100
    sleep(0.1)

# 舵机控制
servo = Servo(18)
servo.value = -1   # 0度
sleep(0.5)
servo.value = 0    # 90度
sleep(0.5)
servo.value = 1    # 180度
servo.detach()  # 停止脉冲

使用 lgpio

lgpio 是树莓派的现代GPIO库, 使用 /dev/gpiochip Linux标准接口, 是gpiozero的默认后端. 仅当遇到 gpiozero 实现不了的复杂需求时, 才能使用它.

GPIO基础操作

import lgpio

# 打开 gpiochip0
h = lgpio.gpiochip_open(0)

# 配置GPIO12为输出
lgpio.gpio_claim_output(h, 12)
lgpio.gpio_write(h, 12, 1)  # 高电平
lgpio.gpio_write(h, 12, 0)  # 低电平

# 配置GPIO17为输入(带内部上拉)
lgpio.gpio_claim_input(h, 17, lgpio.SET_PULL_UP)
value = lgpio.gpio_read(h, 17)

# 释放资源
lgpio.gpio_free(h, 12)
lgpio.gpiochip_close(h)

PWM控制

import lgpio

h = lgpio.gpiochip_open(0)

# 在GPIO12上启动PWM: 50Hz, 7.5%占空比
lgpio.tx_pwm(h, 12, 50, 7.5)

# 停止PWM
lgpio.tx_pwm(h, 12, 0, 0)

lgpio.gpiochip_close(h)

舵机控制

import lgpio
import time

h = lgpio.gpiochip_open(0)

# 脉宽对应角度: 500us=0°, 1500us=90°, 2500us=180°
lgpio.tx_servo(h, 12, 1500)   # 90度
time.sleep(1)
lgpio.tx_servo(h, 12, 500)    # 0度
time.sleep(1)
lgpio.tx_servo(h, 12, 2500)   # 180度

# 停止发送脉冲
lgpio.tx_servo(h, 12, 0)
lgpio.gpiochip_close(h)

⚠️ 注意: tx_servo 使用软件定时,会有轻微抖动,仅适合测试。长期使用建议配置硬件PWM。

中断/回调

import lgpio

def callback(chip, gpio, level, timestamp):
    """
    中断回调函数
    level: 0=低电平, 1=高电平, 2=边沿变化
    """
    print(f"GPIO {gpio} 状态变为 {level}")

h = lgpio.gpiochip_open(0)

# 配置GPIO17为输入
lgpio.gpio_claim_input(h, 17, lgpio.SET_PULL_UP)

# 添加边沿检测回调
# BOTH_EDGES: 双边沿触发
# RISING_EDGE: 上升沿触发
# FALLING_EDGE: 下降沿触发
cb = lgpio.callback(h, 17, lgpio.BOTH_EDGES, callback)

# 程序运行中...
# 停止回调: cb.cancel()

lgpio.gpiochip_close(h)

更多示例与故障排错

  • 尝试通过 web_search 获取更多信息
  • 尝试通过 web_fetch 访问官方文档来获取精确信息

参考文档:

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

90.01%
按下载量换算4,519

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills