Php Serial Port Communication Linux Tutorial

9/7/2018
68 Comments

Canon Vixia Hg20 Manual here. This tutorial will show you step by step ways how you can perform serial port communication operation in your c# application with necessary code examples.

PHP (PHP HyperText Preprocessor) is a server side scripting language popular with website developers. Typically PHP is used to generate web pages by interrogating a database and files. However PHP can also be used to control and communicate with other devices. This article explains how to configure PHP in order to send and receive data over a serial port on a unix system or a windows system. Prerequisites • PHP installed on your computer • An installed Brainboxes Serial port product Steps In Brief • Install PHP Direct IO extension • Configure PHP to use the extension • Use PHP file provided in the downloads • Open terminal program at other end of serial connection • Configure PHP file with correct local serial port settings • Go!

Php Serial Port Communication Linux Tutorial

In-depth Install PHP Direct IO PHP by default does not offer good COM port support however a PHP extension called Direct IO does offers low level access to IO. We will use this extension for serial port communication. On unix system install the extension using PECL, open a terminal and type: sudo pecl install dio-0.0.7 On windows download the latest php direct io extension dll from:. The dll file should be copied into your php_extension folder (often located in ext or lib phpext ) Configure PHP to use the extension Next the php.ini file needs to be updated to tell it to use the extension. To the bottom of the php.ini file add the following. Unix: extension=dio.so Windows: extension=php_dio.dll Restart PHP Unix: commands vary, on mac for example: sudo apachectl restart Windows: restart IIS webserver, or WAMP server Use PHP file provided in the downloads Download the file about and place it in your web-servers root directory.

Navigate to the file the a web browser to confirm that an error is not produced which tells you to install PHP Direct IO. Open terminal program at other end of serial connection In order to test sending and receiving serial data in PHP, the other end of the serial port should be open. On a windows system we recommend using Putty and on Mac OSX CoolTerm (see for more details) to configure a serial for for transmitting and recieving data.

We also recommend opening the other side of the serial connection in the terminal initially to confirm that data is definitely able to be sent and received across the connection. Configure PHP file with correct local serial port settings The sample script has some settings to be configured at the top, most importantly the port name. Windows the port name should be 'comX:' (X being the port number assigned name must be lower case and a colon at the end) this can be found by opening Device Manager. Unix systems the port name is '/dev/cu.usbserial-XXXXXXXXX' where 'X' is a randomly assigned id. To find all the names of Brainboxes serial ports installed on UNIX type ls /dev/cu.usbserial* into the terminal. In a Web Browser open the file, the other end of the serial port should show 'HELLO WORLD!' Then type into the terminal on the other end of the connection, this will be echoed back onto the web browser window.

Important note: PHP Direct IO does not currently implement a timeout on reads and is blocking. Hp Smart Array P400i Driver. What this means is that if there is no data present when the read method is called then PHP will block (halt) until data is received or the PHP execution time is reached. Links PHP Direct IO manual.

Contents • • • • • • Step 1: Connect to a terminal emulator using a PC Follow the instructions at, and, so that you end up with your Pi's serial port connected to a PC, running a terminal emulator such as minicom or PuTTY. The default Wheezy installation sends console messages to the serial port as it boots, and runs getty so you can log in using the terminal emulator. If you can do this, the serial port hardware is working.