Skip to content

embedded-php/ext-i2c

Repository files navigation

I2C PHP Extension

The I2C PHP Extension provides an object-oriented wrapper to the i2c-dev Linux Module that gives users the ability to write code that interacts with external hardware using the I2C protocol.

Requirements

  • PHP >= 8.0 (either NTS or ZTS version);
  • libi2c-dev;

Note: if you are using this extension on Raspbian or Raspberry Pi OS, the user executing the script must belong to the i2c group or you may run into "Permission denied" errors.

On Raspbian or Raspberry Pi OS:

PHP 8.0:

sudo apt install php8.0-cli php8.0-dev php8.0-phpdbg libi2c-dev

PHP 8.1:

sudo apt install php8.1-cli php8.1-dev php8.1-phpdbg libi2c-dev

Building

phpize
./configure
make
make test

Stubs

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 (phpi2c.stub.php) is a generated file, edit the files on the stubs folder instead.

Classes

Class Description
I2C\Bus Represents a I2C Bus.
I2C\Exception Base exception.

Resources

License

This library is licensed under the PHP License.