- Notifications
You must be signed in to change notification settings - Fork0
A php extension for peripheral I/O Serial in Linux (wrapper of c-periphery)
License
1nv1/php-periphery-serial
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A php extension for peripheral I/O Serial in GNU/Linux.
The goal of this project is build a wrapper (serial I/O) ofc-peripherylibrary.
This project really has two goal, the first is create a wrapper and the secondis learn about php extensions. It's my first project around this.
Right now I uploaded to sourceforge two compilations of the extension. One isfor x86_64 target system and the other was build on a x86.The last one was tested with real electronics hardware without problems.
- Public attributes
- Testing arguments
- Test again over real hardware (x86/x86_64)
- Documentation of class
- I will keep uploading compiled versions
- Errors support
You can access to documentation to class in thislink.
You can download the compiled library in thesourceforge page.
Previous, do you need install the developer package of ^PHP7x. In Fedora:
# dnf install php-devel
Now, clone the repo:
$ git clone --recurse-submodules -j8 https://github.com/1nv1/php-periphery-serial.git
To compile, you need to do these steps
$ phpize$ ./configure --enable-periphery_serial$ make# make install
Do you need clean the project?
$ make clean&& phpize --clean
This is a simple example:
<?php// Class for use periphery-serialrequire_oncedirname(__FILE__).$relative_path_to."/class/Periphery.php";// Create an instance$pb =newPeriphery\Serial();// Yo can see the version of c-periphery embeddedecho"Version:".$pb->version().PHP_EOL;// Now, open the serial port: path to device and baudrate$res =$pb->open("/dev/ttyUSB0",38400) ?'yes' :'no';if ($res =='no') {echo"Error at open!".PHP_EOL;die();}echo"Open: yes".PHP_EOL;echo"Flush...".PHP_EOL;$pb->flush();// Take the "string" to send and convert it in array$send =str_split("RP");echo"Write:".$pb->write($send,2).PHP_EOL;echo"Read:";// Do you need wait 30 bytes response with a 2 senconds of timeout?$res =$pb->read(30,2000);if (!empty($res)) {var_dump($res); }else {echoPHP_EOL; }// You expects 30 bytes with a 2 senconds of timeoutecho"Close:".($pb->close() ?'yes' :'no').PHP_EOL;
php-periphery-serial is MIT licensed. See the includedLICENSE file.
About
A php extension for peripheral I/O Serial in Linux (wrapper of c-periphery)