Originariamente inviato da marasma1
Ciao a tutti!!
Sto lavorando su una macchina linux, con collegato sulla seriale un modem gsm.
Ho creato il seguente script per l'invio di un sms tramite porta seriale...
<?PHP
//Apre la connessione alla seriale
$fd=dio_open('/dev/ttyS0',O_RDWR|O_TRUNC);
//Imposta gli attributi
dio_tcsetattr($fd, array(
'baud' => 9600,
'bits' => 8,
'stop'=> 1,
'parity'=> 0
));
//Invio sms tramite comandi AT
$at="AT+CMGF=1";
//E' necessario un \n al termine di ogni comando
$at.=chr(13);
//Scrittura nella seriale.
dio_write($fd,$at);
$at="AT&W";
$at.=chr(13);
dio_write($fd,$at);
//scrivo AT+CMGS="+39numero_cellulare\nTesto messaggio CTRL-Z"
$at="AT+CMGS=";
$at.="\"";
$at.=chr(43);
$at.="3933333333";
$at.="\"";
$at.=chr(13);
$at.="Testo messaggio";
$at.=chr(26);
$at.=chr(122);
dio_write($fd,$at);
//Chiudo connessione alla seriale.
dio_close($fd);
?>
Il mio problema e' che se provo ad eseguire lo script in un ciclo for, per l'invio a piu' numeri cellulari, lo script non funziona.
L'output e' visibile tramite minicom.
Probabilmente, e' necessario attendere l'esecuzione di un invio prima di processare il successivo.
Qualcuno ha esperienze a riguardo?