 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
kleampa
Data înscrierii: 10/Iul/2005
Mesaje: 2041
Locație: Bucuresti
|
| Trimis: Joi Mar 27, 2008 4:10 pm Titlul subiectului: |
|
|
ce inseamna AT ?
probabil mi-ar fi de ajutor si codul
multumesc |
|
| Sus |
|
mihaitha
Data înscrierii: 04/Mai/2007
Mesaje: 1343
Locație: Sibiu
|
| Trimis: Joi Mar 27, 2008 4:20 pm Titlul subiectului: |
|
|
| AT e prescurtare de la AT&T (daca imi aduc eu bine aminte), adica American Telephony and Telegraph, si in contextul asta reprezinta un set de comenzi folosite pentru a comunica cu modem-urile. Toate comenzile ce se transmit pe interfata seriala spre modem incep cu AT (de exemplu parca ATC era Connect, ATP numar - seta numarul de telefon la care sa sune etc.). Pana la urma, comenzile AT sunt un standard, si orice modem care se respecta le cunoaste. Deci inclusiv modemul GSM. |
|
| Sus |
|
asavin
Data înscrierii: 23/Noi/2005
Mesaje: 175
Locație: Galati
|
| Trimis: Joi Mar 27, 2008 6:24 pm Titlul subiectului: |
|
|
Din cate stiu eu comenzile AT sunt standard pentru toate tel mobile dar nu bag mana in foc .. eu am testat cu un Motorola V360 asta daca iti mere si tie pe Nokia sa imi zici si mie...
Pentru scriptul de mai jos iti trebuie si extensia "php_ser.dll" (http://www.softrecipe.com/Download/php_serial_extension.html - nu stiu ce versiune e aci ... vezi si tu)
Asta e scriptul PHP pentru a trimite SMS-uri .. vezi sa pui portul com pe care e conectat telefonul ... dupa clasa e si un exemplu
Cod:
<?php
class cellModem {
function cellModem($str_port="com1", $int_baudrate=9600, $int_databits=8, $str_parity="None",
$float_stopbits=1, $str_flowcontrol="None") {
$this->str_port=$str_port;
$this->int_baudrate=$int_baudrate;
$this->int_databits=$int_databits;
$this->str_parity=$str_parity;
$this->float_stopbits=$float_stopbits;
$this->str_flowcontrol=$str_flowcontrol;
}
function sendSMS($cellNr, $SMStext) {
ser_open( $this->str_port, $this->int_baudrate, $this->int_databits, $this->str_parity,
$this->float_stopbits, $this->str_flowcontrol );
if(ser_isopen()) {
ser_write('AT'."\r\n");
ser_write('AT+CMGF=1'."\r\n");
ser_write('AT+CMGS=+4'.$cellNr.'"'."\r\n");
ser_write($SMStext.chr(26));
do {
$result.=ser_read(512)."<br>";
} while (!ereg("ERROR",$result));
if(ereg("ERROR",$result)) {
return $result."<br>err_1";// err_1 = Eroare la trimitere mesaj
}
return "<br>".$result;
ser_close();
} else {
return "err_2";// err_0 = Eroare la deschiderea conexiunii cu modemul
}
}
}
$cellModem=new cellModem('com3');
$sms=$cellModem->sendSMS('0721286445','Test CLASS cellModem');
echo $sms;flush();
//ser_write("AT+CMGF=1\r\n");
//sleep(1); // wait a while
//$str = ser_read(128);
//echo $str."<br />";
//ser_write("AT+CMGL=\"ALL\"\r\n");
//sleep(10); // wait a while, if list is long we must wait longer
//$str = ser_read(5120);
//echo $str;
?>
|
|
| Sus |
|
rpsetzer
Data înscrierii: 06/Mai/2007
Mesaje: 36
|
| Trimis: Joi Mar 27, 2008 9:51 pm Titlul subiectului: |
|
|
Da, merge cu comenzi AT.
In primul rand trebuie sa comunici cu un port serial(vei conecta telefonul cu cablu de date)
Asta e o clasa pentru linux: http://www.phpclasses.org/browse/package/3679.html
E si una de windows, cauta.
Dupa ce ai reusit sa te conectezi, ai aici un tutorial foarte deltaiat, care iti explica cam tot ce ai nevoie sa stii:
http://www.developershome.com/sms/smsIntro.asp
Eu am facut invers(trimit sms din php). Succes! |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|