Serial port access convenience class
- PHP Pecl dio extension (>= 0.2.1) for SerialDio.
You can install this plugin into your application using composer:
composer require fawno/php-serial
require 'vendor/autoload.php';
use Fawno\PhpSerial\SerialDio;
use Fawno\PhpSerial\SerialConfig;
use Fawno\PhpSerial\SerialBaudRates;
use Fawno\PhpSerial\SerialStopBits;
use Fawno\PhpSerial\SerialParity;
use Fawno\PhpSerial\SerialDataBits;
// Create default serial config
$config = new SerialConfig;
// Set Data Rate
$config->setBaudRate(SerialBaudRates::B9600);
// Set Data Bits
$config->setDataBits(SerialDataBits::CS8);
// Set Stop Bits
$config->setStopBits(SerialStopBits::ONE);
// Set Parity
$config->setParity(SerialParity::NONE);
// Set Flow Control
$config->setFlowControl(true);
// Create SerialDio object with COM3 as device
$serial = new SerialDio('COM3', $config);
// Open device
$serial->open('r+b');
// Set Blocking
$serial->setBlocking(0);
// Set Timeout
$serial->setTimeout(0, 0);
// Send data
$serial->send($data);
// Read data
$data = $serial->read();