Page 1 of 1

AT Command

Posted: Fri Apr 20, 2007 9:30 am
by amirsarb
hi all
My GSM Modem connected to ttyS0.
I need to use it in php application and send sms
by "AT command" like this:
>AT
>AT+CMGS="phone number"

is anyone to help me in linux?

Posted: Fri Apr 20, 2007 10:19 am
by arturm
You have to open connection to COM port.

There is a discussion about in at http://www.php.net (check function fopen)
I am not sure if it works on Linux but at least it might point you to the right direction.

This is the code I copied from php.net website:

Code: Select all

// HOW TO USE PHP TO WRITE TO YOUR SERIAL PORT: TWO METHODS
$serproxy=true;
if ($serproxy) {
    // Use this code in conjunction with SERPROXY.EXE
    // (http://www.lspace.nildram.co.uk/freeware.html)
    // which converts a Serial stream to a TCP/IP stream
    $fp = fsockopen ("localhost", 5331, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)";
    } else {
        $e = chr(27);
        $string  = $e . "A" . $e . "H300";
        $string .= $e . "V100" . $e . "XL1SATO";
        $string .= $e . "Q1" . $e . "Z";
        echo $string;
        fputs ($fp, $string );
        fclose ($fp);
    }
} elseif ($com1) {
    // Use this code to write directly to the COM1 serial port
    // First, you want to set the mode of the port. You need to set
    // it only once; it will remain the same until you reboot.
    // Note: the backticks on the following line will execute the
    // DOS 'mode' command from within PHP
    `mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off`;
    $fp = fopen ("COM1:", "w+");
    if (!$fp) {
        echo "Uh-oh. Port not opened.";
    } else {
        $e = chr(27);
        $string  = $e . "A" . $e . "H300";
        $string .= $e . "V100" . $e . "XL1SATO";
        $string .= $e . "Q1" . $e . "Z";
        echo $string;
        fputs ($fp, $string );
        fclose ($fp);
    }
}

Posted: Fri Apr 20, 2007 10:23 am
by John Cartwright
Do not make duplicate threads.

Topic Locked.