amnuts / phpiwire
一个使用 Zephir 编写的 PHP 扩展(与 wiringPi 交互),允许您轻松地使用 PHP 控制 Raspberry Pi 的 GPIO。
dev-master
2016-06-22 13:53 UTC
This package is auto-updated.
Last update: 2024-09-20 08:51:27 UTC
README
使用 Zephir 编写的 wiringPi 包装器,以便将其编译为 PHP 扩展。
要求
此扩展和 wiringPi 库旨在在 RaspberryPi 上运行,因此拥有 RaspberryPi 是一个相当大的要求!您还需要安装 Git、wiringPi 库、各种构建工具和 php 开发头文件。
安装 Git
sudo apt-get update
sudo apt-get install git
安装 wiringPi
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
如果一切顺利,您应该能够运行 gpio 工具
gpio -v
关于安装 wiringPi 的完整说明。
安装 zephir
sudo apt-get install gcc make re2c php5 php5-json php5-dev libpcre3-dev
git clone https://github.com/phalcon/zephir
cd zephir
./install-json
./install -c
如果一切顺利,您应该能够获取 zephir 的帮助信息
zephir help
关于安装 zephir 的完整说明。
构建扩展
git clone https://github.com/amnuts/phpiwire
cd phpiwire
zephir build
这将构建和安装扩展。然后您必须将扩展添加到您的 php.ini 文件中。您可能有两个 php.ini 文件,一个是 cli,一个是 web,所以请记住将扩展添加到两者中。您需要添加以下行
extension=phpiwire.so
完成此操作后(如果您在添加扩展用于 web 使用而不仅仅是 cli 时,则需要重新启动 web 服务器)您应该能够在使用 phpinfo()
方法或通过命令行 php -i
时看到扩展信息。
示例
以下是一个非常简单的示例,说明如何使连接到引脚 0 的 LED(使用 wiringPi 引脚编号方案,BCM_GPIO 引脚 17)闪烁。
假设 LED 连接如所示
<?php namespace Phpiwire; set_time_limit(0); echo "Raspberry Pi blink\n"; $pi = new Board(); $p = $pi->getPin(0)->mode(Pin::OUTPUT); while (true) { $p->write(Pin::HIGH); sleep(1); $p->write(Pin::LOW); sleep(1); }
要运行它,您需要以 root 身份运行
sudo php blink.php
版本
扩展的版本可在以下位置获取
https://github.com/amnuts/phpiwire/releases/