NOTE: Check embedded-php/ext-gpio instead.
Object-oriented PHP bindings for the libgpiod library
- PHP >= 8.0 (either NTS or TS version);
- libgpiod >= 1.6
phpize
./configure
make
make test
After changing any of the stubs, the main stub file must be updated by running the command below.
php stubs/update-main-stup.php
Once the stub is updated, the regular build process can be executed.
Note: The main stub file (phpgpio.stub.php) is a generated file, edit the files on the stubs folder instead.
All namespace defined constants can be seen in the Constants.php stub.
Class | Description |
---|---|
GPIO\Bulk | Represents multiple GPIO lines. |
GPIO\Chip | Represents a GPIO chip. |
GPIO\Exception | GPIO base exception. |
GPIO\Line | Represents a single GPIO line. |
Name | Description |
---|---|
gpiodetect.php | List all GPIO chips, print their labels and number of GPIO lines. |
gpioinfo.php | Print information about all lines of the specified GPIO chip(s) (or all gpiochips if none are specified). |
The table below lists the supported and tested chips.
SoC | Model |
---|---|
BCM2835 | Raspberry Pi 1 and Zero |
BCM2836 | Raspberry Pi 2 |
BCM2837 | Raspberry Pi 3 (and later Raspberry Pi 2) |
BCM2837B0 | Raspberry Pi 3B+ and 3A+ |
BCM2711 | Raspberry Pi 4B |
- Golang: periph/conn
- Golang: warthog618/gpiod
- Java: mattjlewis/diozero
- NodeJS: sombriks/node-libgpiod
This library is licensed under the PHP License.