marabesi / arduino-php-wrapper
There is no license information available for the latest version (v1.0.0) of this package.
v1.0.0
2017-08-20 02:01 UTC
Requires (Dev)
- mikey179/vfsstream: ~1
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2024-10-07 02:54:54 UTC
README
If you are wondering how to control the Arduino serial port via PHP, here is the solution. The arduino:// wrapper is a easy and straightforward way to write and read data from Arduino.
Install
composer require marabesi/arduino-php-wrapper
Usage
To read data from Arduino serial just use the regular I/O functions in PHP such as fread or file_get_contents
\Arduino\Wrapper::register(); //reads data from Arduino $resource = fopen('arduino://ttyUSB0', 'r+'); print fread($resource, 1024);
Or if you prefer, you can use file_get_contents and get the same result
print file_get_contents('arduino://ttyUSB0');
To write data in the Arduino serial is as easy as it could be
\Arduino\Wrapper::register(); //writes data to Arduino $resource = fopen('arduino://ttyUSB0', 'r+'); print fwrite('hello Arduino');
\Arduino\Wrapper::register(); print file_put_contents('arduino://hello Arduino');
OOP
You can use in your project in a OOP style
Sending data
$writer = new Arduino\Writer(new Arduino\Wrapper()); $bytes = $writer->out('ttyUSB0', 'from oop');
Reading data
$arduino = new \Arduino\Wrapper(); $writer = new \Arduino\Reader($arduino); while (true) { print $writer->from('/dev/cu.usbmodem1411'); }
Improvements
As you can see is really simple and we can improve it much more as the sensors are identified.
- Prevent arduino from reload everytime a request is made by PHP
Slides (talks based on this lib)
Introduction to IoT and PHP - Nerdzão day #1