AT Command

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Locked
amirsarb
Forum Newbie
Posts: 5
Joined: Tue Apr 17, 2007 9:25 pm

AT Command

Post 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?
User avatar
arturm
Forum Commoner
Posts: 86
Joined: Fri Apr 13, 2007 8:29 am
Location: NY
Contact:

Post 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);
    }
}
User avatar
John Cartwright
Site Admin
Posts: 11470
Joined: Tue Dec 23, 2003 2:10 am
Location: Toronto
Contact:

Post by John Cartwright »

Do not make duplicate threads.

Topic Locked.
Locked