Codacy Badge Build Status Latest Stable Version Total Downloads composer.lock
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.
composer require marabesi/arduino-php-wrapper
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');
You can use in your project in a OOP style
$writer = new Arduino\Writer(new Arduino\Wrapper()); $bytes = $writer->out('ttyUSB0', 'from oop');
$arduino = new \Arduino\Wrapper(); $writer = new \Arduino\Reader($arduino); while (true) { print $writer->from('/dev/cu.usbmodem1411'); }
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
SlideShare Introduction to IoT and PHP - Nerdzão day #1
SlideShare IoT powered by PHP and streams - PHPExperience2017
SlideShare Control your house with the elePHPant - PHPConf2016