如何访问 Raspberry Pi Zero 的 GPIO 引脚 Fedora

[ad_1]

当使用 Raspberry Pi Zero(或类似设备)进行黑客攻击时,许多制造商使用通用输入/输出 (GPIO) 引脚。 这些引脚用于连接和控制各种设备,例如 LED 或传感器,以测量温度、光或湿度。 但是,如果您更喜欢在台式机或笔记本电脑上编码,这可能是个问题,因为这些设备中的大多数都没有可访问的 GPIO 引脚。 这就是 GPIO 扩展器软件可以提供帮助的地方。

GPIO 扩展器软件的主要目标是将 Raspberry Pi Zero 用作连接到个人计算机的 USB 设备,其中 Raspberry Pi Zero 的 GPIO 引脚将可供主机使用。

本文介绍了在 Raspberry Pi Zero 上设置和使用 GPIO 扩展器软件的步骤 Fedora.

连接树莓派零

连接微型 USB 端口(不是标有 压水堆) 的 Raspberry Pi Zero 到您的计算机。 连接后,运行 lsusb 命令,应该会出现一个像这样的新 USB 设备:

Bus 004 Device 005: ID 0a5c:2763 Broadcom Corp.

构建 GPIO 扩展器

接下来,我们将从源代码构建 GPIOexpander。 使用 dnf 安装以下构建依赖项:

sudo dnf install git gcc bc cmake flex unzip bison gcc-c++ wget patch python2 perl-ExtUtils-MakeMaker perl-Thread-Queue libusb-devel

然后,为源创建一个目录并使用 git 检查它们

$ mkdir ~/pi_hacking 
$ cd ~/pi_hacking
$ git clone --depth 1 https://github.com/raspberrypi/gpioexpander.git 
$ git clone --depth=1 https://github.com/raspberrypi/usbboot

接下来,构建 GPIOexpander:

$ cd ~/pi_hacking/gpioexpander
$ ./build.sh

最后,构建usbboot。

$ cd ~/pi_hacking/usbboot
$ make

usbboot 负责通过 USB 从主机设备(您的 PC)启动 Raspberry(就像通过外部大容量存储启动计算机)加载一个非常简单的最小系统,而 gpioexpander 模拟 USB 以太网加密狗并在 Raspberry 上运行 pigpiod 守护进程皮零。

完成设置

现在,改回 usbboot git checkout,并发出以下命令:

$ cd ~/pi_hacking/usbboot
$ sudo ./rpiboot -d ../gpioexpander/output

您应该会看到一些看起来像是启动过程的消息。 完成后,使用“ifconfig”命令查看 PC 上的网络接口。 一个名为“enp0s20f0u1i2”的新网络接口,并为其分配了 IPv6 地址。 尝试 ping Rasperry Pi Zero,其中 enp0s20f0u1i2 是您计算机上创建的接口的名称

$ ping6 fe80::1%enp0s20f0u1i2

接下来安装gpiozero Python包,导出如下 bash 变量:

注意:将 enp0s20f0u1i2 替换为您计算机上创建的接口的名称:

$ pip3 install gpiozero --user
$ export GPIOZERO_PIN_FACTORY=pigpio
$ export PIGPIO_ADDR=fe80::1%enp0s20f0u1i2

测试一下

将 LED 连接到引脚 20 (GPIO 25),启动 python3,并发出以下 python 代码使 LED 闪烁:

$ python3
>>> from gpiozero import LED
>>> led = LED(25)
>>> led.blink()

LED 应闪烁。 惊人的!

现在你可以使用你的力量 Fedora 工作站使用 Raspberry Pi 零 GPIO 引脚。 请注意,您仅限于 GPIO Zero Python 库,并且不能使用例如 RPi.GPIO 库。 然而,该工具的目的是提供一个简单易用的系统,可用于教学课程和实验,无需网络或显示器、电源、键盘和鼠标,以便直接从笔记本电脑或工作站。

[ad_2]

Related Posts