使用树莓派(Raspberry Pi)远程GPIO

本文介绍了如何通过网络远程控制树莓派的GPIO。首先,需在树莓派上启用Remote GPIO功能并启动GPIO守护程序。接着,在Windows上安装GPIO软件包。然后,通过示例代码展示了如何使用Python进行远程GPIO控制,包括LED的开关操作。最后,提到了通过'rprg'命令添加远程控制指令的方法,并提供了相关资源链接以获取更多远程GPIO示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

01 树莓派远程GPIO


树莓派支持在通过网络对其GPIO进行控制。如果树莓派已经安装了pigpio之后,便可以通过以下步骤来实现远程GPIO控制。

参考的文档:

1.配置树莓派

通过树莓派的首选项中的“Raspberry Pi Configuration”,或者通过窗口命令:sudo raspi-config打开配置对话框。通过其中的interface中的 RemoteGPIO来使能远程GPIO功能。
▲ 配置树莓派的Interface参数

▲ 配置树莓派的Interface参数

2.启动GPIO守候程序

(1)设置自动启动功能

使用systemctl命令设置启动自动运行GPIO远程有台守候程序:

sudo systemctl enable pigpiod

(2)启动GPIOD

sudo systemctl start pigpiod

sudo gpiod

详细参见 树莓派的Remote GPIO 中的内容。

3.Windows下载GPIO软件包

安装命令:

pip install gpiozero pigpio

4.例程

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TESTIO.PY                    -- by Dr. ZhuoQing 2021-03-07
#
# Note:
#============================================================

from head import *
import gpiozero
from gpiozero               import LED
from gpiozero.pins.pigpio   import PiGPIOFactory

factory = PiGPIOFactory(host='192.168.0.134')
led = LED(17, pin_factory=factory)

while True:
    led.on()
    time.sleep(1)
    led.off()
    time.sleep(1)

printf('\a')

#------------------------------------------------------------
#        END OF FILE : TESTIO.PY
#============================================================
from gpiozero import LED
from gpiozero.pins.pigpio import PiGPIOFactory
from time import sleep

factory3 = PiGPIOFactory(host='192.168.1.3')
factory4 = PiGPIOFactory(host='192.168.1.4')
led_1 = LED(17, pin_factory=factory3)
led_2 = LED(17, pin_factory=factory4)

while True:
    led_1.on()
    led_2.off()
    sleep(1)
    led_1.off()
    led_2.on()
    sleep(1)

▲ 远程GPIO运行的效果

▲ 远程GPIO运行的效果

 

▌结论


树莓派支持远程GPIO的动作。本文给出了远程GPIO的配置过程。更多的远程GPIO示例可以参见: Remote GPIO Recipes .

在python中增加远程控制命令,可以通过“rprg”来天界相应的指令。

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# RPRG.PY                      -- by Dr. ZhuoQing 2021-03-09
#
# Note: Raspberry Pi remote GPIO
# 
#============================================================

from head import *

tspinsii("from gpiozero               import LED,Button")
tspinsii("from gpiozero.pins.pigpio   import PiGPIOFactory\r\n")

tspinsii("factory = PiGPIOFactory(host='192.168.0.134')\r\n")
tspinsii("#beep = LED(10, pin_factory=factory)\r\n")

#------------------------------------------------------------
#        END OF FILE : RPRG.PY
#============================================================

■ 相关文献链接:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值