70 lines
1.7 KiB
Markdown
70 lines
1.7 KiB
Markdown
# PHP-Serial
|
|
|
|
[](https://github.com/fawno/PHP-serial/blob/master/LICENSE)
|
|
[](https://github.com/fawno/PHP-serial/releases)
|
|
[](https://packagist.org/packages/fawno/php-serial)
|
|
[](https://php.net)
|
|
|
|
Serial port access convenience class
|
|
|
|
## Requirements
|
|
- PHP Pecl dio extension (>= 0.2.1) for SerialDio.
|
|
|
|
## Installation
|
|
|
|
You can install this plugin into your application using
|
|
[composer](https://getcomposer.org):
|
|
|
|
```
|
|
composer require fawno/php-serial
|
|
```
|
|
|
|
## Usage
|
|
|
|
```php
|
|
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();
|
|
```
|