Writing to a Serial Port


 
Thread Tools Search this Thread
Top Forums Web Development Writing to a Serial Port
# 29  
Old 10-23-2014
Thank you newronscott and wisecracker.

" It would help to know what type of scale it is. Does it work with 'W\n' or 'W\r\n' in printf?"

From the root terminal -

Code:
root@meow:/var/www#  exec 3<>/dev/ttyS0
root@meow:/var/www#  printf '\rW\n' >&3
root@meow:/var/www# cat <&3

No output
Code:
root@meow:/var/www#  exec 3<>/dev/ttyS0
root@meow:/var/www#  printf 'W\r\n' >&3
root@meow:/var/www# cat <&3

01.755LB
00

[/CODE]


1.755is the weight of the item on the scale.

"Again what is connected to your serial port, NOT what you are trying to connect to?"

The scale.
# 30  
Old 10-23-2014
Quote:
"Again what is connected to your serial port, NOT what you are trying to connect to?"
The scale.
So you have a scale local to you that you can see and physically connect to?

This would have to be connected to the serial port using a cable then? Yes?
(This was the answer I was looking for.)

Does the scale require a Null Modem Cable or an Extension type?
If it is an Extension type then connect to your serial port and use your loopback plug at the other end and try the earlier test again.

Assuming the scale has RS232 transfer; what are the serial parameters and can it be used in raw data transfer mode?
'stty' is probably your best means of changing /dev/ttyS0 transfer parameters.

Do fault diagnosis step by step.
# 31  
Old 10-23-2014
So you have a scale local to you that you can see and physically connect to? Correct
This would have to be connected to the serial port using a cable then? Yes? Correct
Does the scale require a Null Modem Cable or an Extension type? NO
The data I displayed was after connecting the scale to the computer with a serial cable.
Assuming the scale has RS232 transfer; what are the serial parameters


Code:
     | Comp| A -    Serial Device      : /dev/ttyS0                                |                                               |     B - Lockfile Location     : /var/lock                                 |                                  
    | C -   Callin Program      :                                           |                                  
    | D -  Callout Program      :                                           |                                  
    | E -    Bps/Par/Bits       : 9600 7E1                                  |                                  
    | F - Hardware Flow Control : Yes                                       |                                  
    | G - Software Flow Control : No                                        |

Can it be used in raw data transfer mode? Please Explain
# 32  
Old 10-23-2014
Quote:
Does the scale require a Null Modem Cable or an Extension type? NO
Which one is NO or is this not_applicasble/neither?

Those parameters you display seem to be /dev/ttyS0 not the scales.

Next task is to research the model type of the scales and see if there are any commands, (much akin to AT style commands for modems), to see if you can alter serial parameters to the scales from your terminal emulator, (minicom?). Otherwise you are in the long haul of trial and error.

I have no experience with the quirks of minicom so I can't help with that but the man page should be of help...
This User Gave Thanks to wisecracker For This Post:
# 33  
Old 10-23-2014
Thanks wisecracker -

Which one is NO ? Both
Those parameters you display seem to be /dev/ttyS0 not the scales. Correct

I'll see what I can do, and keep you posted
# 34  
Old 10-27-2014
wisecracker and neutronscott -

I have a C program which will do what I want.

Code:
       #include <stdio.h>
       #include <fcntl.h>
       #include <sys/stat.h>
       #include <termios.h>
       #include <string.h>

        #define BAUDRATE B9600
        #define MODEMDEVICE "/dev/ttyS0"

        int main(void)
        {
            int n;
            char buff[20];

             FILE *fp1, *fp2;

            fp1 = fopen(MODEMDEVICE, "w+");

            if(fp1 == NULL)
            {
                printf("initiation error. \n");
                return 1;
            }

            fp2 = fopen("testfile.txt", "w+");

                fprintf(fp1, "%s","W\r\n");
                fread(buff,7,1, fp1);
                rewind(fp2);
                fwrite(buff, 1, 7,fp2 );
                fclose(fp2);
            
            fclose(fp1);
   }

and a PHP script that calls the progarm.

PHP Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<html>

    <head>
        <title>Test Scale</title>
    </head>
        <body>
        <strong>
            <div align='center'>
                  <h3>Test Scale</h3>
            </strong>
                    </div>

<?php
            error_reporting
(E_ALL E_NOTICE);
            
ini_set('display_errors','1');
            
            
$output = `/var/www/scale`;
            echo 
$output;
            
?>

        </body>
</html>
When I run the PHP script, opening the serial port fails..

Code:
initiation error.

# 35  
Old 10-27-2014
It might still be open. Did you exit the shell that you used to open ttyS0?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Cabling and adapters to communicate to service processor serial port from Windows PC with USB port.

Hello, I have an unloaded T5140 machine and want to access the ILOM for the first time and subsequently the network port after that., and then load Solaris 10 the final January 2011 build. The first part is what confuses me -the cabling. I am coming from a Windows machine (w/appropriate... (5 Replies)
Discussion started by: joboy
5 Replies

2. Web Development

Setup Serial Port

I need to set a serial port to 9600 7E1. How do I accomplish this? I've tried every combination, with no luck. (6 Replies)
Discussion started by: Meow613
6 Replies

3. Shell Programming and Scripting

reading from and writing to serial port

hello all, please any one can provide me the shell script to write data to /dev/ttyS1 and read responce from /dev/ttyS1 and compare the responce to some string .. thnxx ---------- Post updated at 03:35 PM ---------- Previous update was at 11:46 AM ---------- any body help me.. how do i... (1 Reply)
Discussion started by: yashwantkumar
1 Replies

4. Solaris

How to enable Serial port on ILOM, when Network Port is enabled in parallel

Hi Everyone, In my environment, I have few T5220. On the iLOM Management Card, I have both Network and Serial port are cabled, I don't have any issues while I try to connect using Network Management port, but when I try to connect the serial port for the same server which is actually connected... (3 Replies)
Discussion started by: bobby320
3 Replies

5. Shell Programming and Scripting

Need help with serial port

Hi, I have a external board connected to my serial port. I need to execute "shutdown -r now" command when system boot up. When system boots up it requires a username ans password. Then I need to run my command. I can use rc script but that is rebooting system before it asks for username and... (0 Replies)
Discussion started by: charlie.arya
0 Replies

6. UNIX for Dummies Questions & Answers

Missing serial port

A neighbour's Ubuntu 10.04 machine has five serial ports, one on the motherboard and four on a PCI card. However, only four cards are showing: # dmesg | grep tty console enabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ... (2 Replies)
Discussion started by: dotancohen
2 Replies

7. AIX

Serial port in AIX

Hi, How can i configure my modem in AIX thru serial port (sa0-->tty0) I have two port serial card configured as sa0 I created tty1 which port is tty0 and which port is tty1 how can i know?? (1 Reply)
Discussion started by: pchangba
1 Replies

8. Programming

How to tell if a string to serial port has been sent

I have a need to determine when a string has been completely sent via a serial port from a standard 'C' application. The code is as follows: SerialPort_Send = open (pPortString, O_WRONLY | O_NOCTTY | O_NONBLOCK); write (SerialPort_Send, pCommandString, strlen (pCommandString)); ... (2 Replies)
Discussion started by: ExDes
2 Replies

9. Solaris

Serial port not found

Hi, I am working with solaris 9,SUN-Blade-100 and I want to communicate with the Serial port.To check whether the port is working or not.I write code and when I execute the file,then I got the output-- According to this,serial port is not found.can anyone please tell me how to configure the... (1 Reply)
Discussion started by: smartgupta
1 Replies

10. Linux

urgent......Serial port

I think my serial port(on board) is not working ...... because when I am running same code on two machines its working good....but when my system comes into picture ....it doesnt show any output comming from serial port.......... can anybody tell me how to configure my serial port.........or to... (16 Replies)
Discussion started by: arunchaudhary19
16 Replies
Login or Register to Ask a Question