Php Serial Port Communication Linux Commands

  
Active6 years, 8 months ago
  1. Linux Serial Port Commands
  2. Linux Command Line Serial Port
  3. Hyperterminal
  4. Linux Serial Port Communication

I have installed xampp in fedora 13.I am trying to communicate with microcontroller through serial port using php serial class.My code is example.php

Apr 30, 2012  php serial communication in linux. Arduino Forum > Using Arduino > Programming Questions > php. I have installed xampp in fedora 13.I am trying to communicate with microcontroller through serial port using php serial class. The commands are not being sent to the microcontroller. I wanna automate a test written in Tcl, but stuck in serial communication. I had 2 PC, one is my local Windows machine, the other one is my test Linux server. The Linux box is connected to the test board via serial port. So I wanna send commands and get output through the serial port. So i wrote a.

Linux Serial Port Commands

The php script gets executed but gives the following warnings .

Warning: Specified serial port is not valid in /opt/lampp/htdocs/xampp/php_serial.class.php on line 147Warning: Unable to set the baud rate : the device is either not set or opened in /opt/lampp/htdocs/xampp/php_serial.class.php on line 241Warning: Unable to set parity : the device is either not set or opened in /opt/lampp/htdocs/xampp/php_serial.class.php on line 295

.. I have used the command : chmod 0777 /dev/ttyUSB0 to give permissions . I have also tried to add the apache user 'prudhvi' to the dialout group by using command : $ usermod -a -G dialout prudhvi

But it doesnt work . When I send a command directly from the terminal using the command : echo 1 > /dev/ttyUSB0 it works and '1' is transmitted to the serial port . But using php I get the above warnings .

I have used the '$whoami' to check name of user and added that user 'prudhvi' to the dialout group . It still doesnt work . Please help me guys.

Linux Command Line Serial Port

prudhvi09
prudhvi09prudhvi09

4 Answers

I did this once with Debian to control an Arduino board with a PHP script and initially ran into the same problem.

In Debian, you need to add the Apache user to the dialout group in order to allow it to make serial connection requests. I would assume the same is true for Fedora.

In Debian the command is:

However I believe Fedora names the Apache user as apache instead. I don't have a Fedora machine to test on, but I would assume the command you need to run is:

You will then need to restart your xampp server.

See the following for reference:

Neal

nealio82nealio82
2,5191 gold badge12 silver badges19 bronze badges

Could you post the lines near / related to '/opt/lampp/htdocs/xampp/php_serial.class.php on line 147'?

I suspect that you are trying to set the device incorrectly (as Marc indicated). Either that or the port is already in use from other testing you are conducting at the same time. I'm not sure if the script you are running provides errors specific to ports you are trying to attach to already being in use.

Serial
PilipoPilipo

First test a hello world type php script to testyour basic installation.

Then verify the web server / php engine is running as a user which is in a group allowed to access the applicable /dev/ttyWHATEVER device file corresponding to the serial port. It would be surprising if that were true by default - you'll probably have to add it to the 'dialout' or similar group.

Add some fault checking / reporting to your code.

Driver for hp deskjet 3050 j610 series. This tool will install you the latest drivers for all devices on your computer. The utility has been repeatedly tested and has shown excellent results. This utility contains the only official version for HP Deskjet 3050 J610 series (USB) Driver for Windows XP/7/Vista/8/8.1/10 32-bit and 64-bit versions. Supported OS: Windows 10, Windows 8/8.1, Windows 7, Windows Vista. With just one click you can update the driver as well as the rest of the drivers in your system, such as: • Monitors • Audio & Sound • Graphics & Video Adapters • Modems & Network Adapters • Printers • Scanners • Optical Disk Drives • Other Devices This utility works in two simple steps: 1.

Chris StrattonChris Stratton
36.3k5 gold badges66 silver badges106 bronze badges

Credit goes to Marc B's comment for causing me to look this up, and he's dead on: http://www.phpclasses.org/browse/file/17926.html

I believe that calling $serial->deviceSet('/dev/ttyUSB0'); will fix it, but you may have to modify the source of php_serial.class.php to work on /dev/ttyUSB instead of /dev/ttyS.

zebediah49zebediah49

Not the answer you're looking for? Browse other questions tagged phplinuxserial-communication or ask your own question.

In this tutorial we will see how to use the serial port on Raspberry Pi. We will use the serial port available on Raspberry with a RS232/TTL 3-5,5V adapter and a USB-serial adapter. By default the Raspberry Pi’s serial port is configured to be used for console input/output. This can help to fix problems during boot, or to log in to the Pi if the video and network are not available.

To be able to use the serial port to connect and talk to other devices (e.g. a modem a printer. ), the serial port console login needs to be disabled.

Here we use Raspberry Pi 2, and we connect a RS232/TTL 3-5,5V adapter to pins 4 (5V), 6 (GND) ,8 (TX),10 (RX) of Raspberry, obviously connect tx with rx and vice versa.

To search for available serial ports we use the command

The output is something like this

Last line indicates that the console is enabled on the serial port ttyAMA0, so we disable it

Man hping3. Run the configuration command and follow the instructions below

Hyperterminal

Reboot and try with

output now is

Now we can use the serial ttyAMA0. We connect an adapter usb / serial, then we will try to establish a communication between the two serial ports; obviously in a practical application to every serial we could connect a device, for example a modem, a printer a RFID reader etc.

After connecting the second serial port we launch the command to find the name that Raspberry gives him

The output is something like this

Ok, now we create two files, one who writes something on the ttyAMA0 port and the other that reads on the ttyUSB0 port.

serial_write.py

serial_read.py

If we run both files, serial_read.py will read what serial_write.py writes

Linux Serial Port Communication

Communication

This is just a small example but it can serve as a starting point to send a print to an old printer or read data from a router or a gps.

Follow us on social to stay informed.
http://www.emmeshop.eu