Enviar caracter de control

17 views
Skip to first unread message

fran

unread,
May 7, 2008, 3:18:20 PM5/7/08
to PHPes - PHP en español
Hola a todos los integrantes de este grupo

tengo un gran problema que me tiene de cabeza, estoy desarrollando una
aplicacion en PHP para enviar SMS desde el PC por medio de un modem
GSM, el problema se presenta al momento de la ejecucion del comando AT
+CMGS que me permite enviar los SMS, pues para poder obtener una
respuesta del modem que se encuentra conectado por un puerto COM es
necesario enviar el caracter de control ctrl-z (\x1A en hexadecimal)
caracter que al parecer no se escribe pues el modem no envia
respuesta. por favor si alguien tiene idea del tema le agrdecederia su
ayuda.

G.Frutos

unread,
May 9, 2008, 2:36:28 PM5/9/08
to PHPes - PHP en español
Hola

como estas enviando los caracteres al puerto?
te aseguraste de que el puerto se pudo abrir ?

EfrenDev

unread,
May 23, 2008, 4:01:19 AM5/23/08
to PHPes - PHP en español
¿Cual es el problema?, el caracter ctrl-z es un carácter ASCII más, no
tienes más que enviar el caracter 26 y listo.

Me explico, para enviar un SMS tienes que mandarle al modem (supongo
que ya tendrás el puerto abierto):

$stSend = "AT+CMGS=\"+34999999999\"\r\n"; // Número de móvil que
recibirá el SMS
fputs ($fp, $stSend ); //
Envias la cadena anterior al puerto - $fp es el descriptor del fichero-
puerto
fgets ($fp, 512); //
Tienes que recibir datos de respuesta del modem - (\r\n)

$stSend = "Mensajito que envias".chr(26)."\r\n"; // Mensajito +
ctrol-z
fputs ($fp, $stSend ); //
Envias la cadena anterior al puerto - $fp es el descriptor del fichero-
puerto
$stCad = "";
while ($stCad != "OK\r\n") // Ahora
tienes que recibir varias lineas de respuesta del modem, por eso el
bucle
$stCad = fgets($fp, 512);

Y listo, pruébalo...

Chau!
Reply all
Reply to author
Forward
0 new messages