0

我正在使用 gpiozero 和 pigpio 库在 python 中创建远程 gpio 控制应用程序。pigpio 文档将其宣传为一项功能,因此我知道这是可能的。这是此示例代码的问题:

import gpiozero as zero
import pigpio as io
testrun = io.pi("greenhousedatalogger")
led = zero.LED(26)
led.blink()

是的,我已经确保在 pi 上启动了 pigpio 守护进程。这是错误代码。我不确定是否需要全部提供它们,但我不知道解决这个问题的关键是什么。:


Did you start the pigpio daemon? E.g. sudo pigpiod

Did you specify the correct Pi host/port in the environment
variables PIGPIO_ADDR/PIGPIO_PORT?
E.g. export PIGPIO_ADDR=soft, export PIGPIO_PORT=8888

Did you specify the correct Pi host/port in the
pigpio.pi() function? E.g. pigpio.pi('soft', 8888)

venv\lib\site-packages\gpiozero\devices.py:288: PinFactoryFallback: Falling back from rpigpio: No module named 'RPi' warnings.warn(

venv\lib\site-packages\gpiozero\devices.py:288: PinFactoryFallback: Falling back from lgpio: No module named 'lgpio' warnings.warn(

\venv\lib\site-packages\gpiozero\devices.py:288: PinFactoryFallback: Falling back from rpio: No module named 'RPIO' warnings.warn(

\venv\lib\site-packages\gpiozero\devices.py:288: PinFactoryFallback: Falling back from pigpio: failed to connect to localhost:8888 warnings.warn(

\venv\lib\site-packages\gpiozero\devices.py:288: PinFactoryFallback: Falling back from native [Errno 2] No such file or directory: '/proc/cpuinfo' warnings.warn(

Traceback (most recent call last):
\PycharmProjects\pigpio test\main.py", line 5, in <module> led = zero.LED(26)

\PycharmProjects\pigpio test\venv\lib\site-packages\gpiozero\devices.py", line 108, in __call__
    self = super(GPIOMeta, cls).__call__(*args, **kwargs)

\PycharmProjects\pigpio test\venv\lib\site-packages\gpiozero\output_devices.py", line 200, in __init__ super(DigitalOutputDevice, self).__init__(

\PycharmProjects\pigpio test\venv\lib\site-packages\gpiozero\output_devices.py", line 83, in __init__ super(OutputDevice, self).__init__(pin, pin_factory=pin_factory)

\PycharmProjects\pigpio test\venv\lib\site-packages\gpiozero\mixins.py", line 85, in __init__ 
super(SourceMixin, self).__init__(*args, **kwargs)

\PycharmProjects\pigpio test\venv\lib\site-packages\gpiozero\devices.py", line 540, in __init__
    super(GPIODevice, self).__init__(**kwargs)

\PycharmProjects\pigpio test\venv\lib\site-packages\gpiozero\devices.py", line 250, in __init__
    Device.pin_factory = Device._default_pin_factory()
\PycharmProjects\pigpio test\venv\lib\site-packages\gpiozero\devices.py", line 291, in _default_pin_factory raise BadPinFactory('Unable to load any default pin factory!')
gpiozero.exc.BadPinFactory: Unable to load any default pin factory!

Can't connect to pigpio at localhost(8888)

Did you start the pigpio daemon? E.g. sudo pigpiod

Did you specify the correct Pi host/port in the environment
variables PIGPIO_ADDR/PIGPIO_PORT?
E.g. export PIGPIO_ADDR=soft, export PIGPIO_PORT=8888

Did you specify the correct Pi host/port in the
pigpio.pi() function? E.g. pigpio.pi('soft', 8888)

Process finished with exit code 1

我已经读到这与某处的一些环境变量有关,但我没有找到关于如何更改它们并使其工作的好资源。如何更改正确的系统变量并让我的树莓派主机名可用于网络上的其他设备?

4

0 回答 0