laxamar/gpiosysv

一个库,用于访问树莓派的GPIO引脚,无需root权限,适用于使用SysV消息队列和客户端/服务器模式的客户端。

1.4.2 2022-10-14 17:44 UTC

README

License Total Downloads

一个用户空间(非root)库,用于低级别访问树莓派的GPIO引脚。这些引脚可以用来控制输出(LED、电机、阀门、泵)或读取输入(传感器)。

改编自 laxamar (Twitter)

来自 AndrewCarterUK (Twitter)

安装

此版本包含两个组件。一个可以通过git或composer安装的服务器。一个使用composer安装和运行的客户端。

客户端(服务器作为服务,手动安装)

使用 composer

composer require laxamar/gpiosysv

或者

php composer.phar require laxamar/gpiosysv

服务器代码被安装在composer的service目录下的vendors/laxamar/gpiosysv目录,并可以按照以下方式安装

服务器

服务器可以通过git下载,使用sudo install_systemd.sh将必要的文件安装到/usr/local/GPIOSysV,并安装systemd服务

示例

设置输出引脚

use Amar\GPIOSysV\GPIOSysVClt;

// Create a GPIO object
$gpio_obj = GPIOSysVClt::getInstance();

// Set the value of the pin high (turn it on)
$success = $gpio_obj->setPinHigh(18);

$success = $gpio_obj->setPinLow(18);

// Set a series on PINs using BCD
$gpio->setPinsBinary($board, CS_PINs);
for ($dec = 0; $dec < 8; $dec++) {
    // echo "Decimal $dec";
    $gpio->strobeBinary($dec, LED_PINs, FLASH_PIN, 1, 0, $frequency, true, $error);
}

输入引脚

use Amar\GPIOSysV\GPIOSysVClt;

// Create a GPIO object
$gpio_obj = GPIOSysVClt::getInstance();

// Set the value of the pin high (turn it on)
$value = $gpio_obj->getPin(4);

进一步阅读

SitePoint发布了一篇关于如何使用PHP为树莓派项目供电的教程,该教程使用了这个库,并展示了带接线图的按钮示例。https://www.sitepoint.com/powering-raspberry-pi-projects-with-php/

更多资源

PiPHP维护了一个资源目录,用于在树莓派上使用PHP编程。