
Prefiere el consumo de lo Hecho en México
BúsquedaHagamos que México crezca..
![]() Prefiere el consumo de lo Hecho en México Posts Recientes
Conversación |
Como enviar SMS desde una pagina web en LinuxHace unos días adquirí un teléfono Nokia 3500 en plan prepago con Movistar, ya que el plan de renta que tengo con Telcel se me está haciendo cada vez más caro, lo lindo de este teléfono no solo fué su precio de apenas $ 900.00 si no también sus características como soporte de J2ME, Bluetooth, USB y en Linux es posible enviar SMS a traves de Gnokii, por lo que aprovechando estas característica me he puesto a jugar con esta chunche haciendo mis pininos con java y también unas pruebas de bluejacking que dejé pendientes que más tarde postearé aquí, pero ahora este post va relacionado con el envío de SMS usando GNokii a traves de una página con PHP mediante pipes.
Requisitos: El proyecto aquí comentado puede bajarse de la siguiente url: http://files.mexrom.net projects / sms / sms-gnokii-001.zip login: invitado password: invitado Básicamente en Ubuntu Linux instalar Gnokii es simple:
sudo apt-get install gnokii gnokii-smsd libgnokii3 libgnokii3-dev sudo scite /etc/gnokiirc
[global] port = /dev/ttyACM0 model = AT connection = serial debug=on
<?php /** * * Script para enviar SMS desde una pagina web usando PHP como lenguage script y Gnokii como interfaz de conexión entre el teléfono y la aplicación * * Desarrollado por Filein Rommel León Méndez * Script liberado bajo la licencia GPL * */ echo siteHeader(); $option = $_POST["status_page"]; switch($option){ case "": echo showForm(); break; case "sms_sender": pipes(ValidateNumber( $_POST["phone_number"]), $_POST["sms_message"]); break; } function showForm(){ $frontEnd = "<div align=center>" . "<form name=smssender method=post action=\"$_SERVER[PHP_SELF]\" >". "<table class=MAINFORM>". "<tr> <td colspan=2 >Envia SMS</td> </tr>". "<tr> <td colspan=2></td> </tr>". "<tr> <td class=NAME_FIELD>Telefono:</td> <td><input type=text name=phone_number size=70 maxlenght=16 class=TEXT_BOX></td> </tr>". "<tr> <td class=NAME_FIELD>Mensaje:</td> <td><textarea name=sms_message cols=60 rows=5 class=TEXT_AREA></textarea></td> </tr>". "<tr> <td></td> <td><input type=button name=send_message value='Enviar' onClick='javascript:document.forms[0].submit();' class=TXT_BUTTON></td> </tr>". "<input type=hidden name=status_page value=\"sms_sender\" >". "</table>". "</form>" . "</div>"; return $frontEnd; } function siteHeader(){ $header = "<link rel=stylesheet type=text/css href=estilo.css>"; return $header; } function pipes($number="", $message=""){ if(is_numeric($number)!="" and is_string($message) and $message!=""){ error_reporting(E_ALL); //message $echo_pipe = popen(" echo \"$message\" ", 'r'); //echo "'$echo_pipe'; " . gettype($echo_pipe) . "\n"; //gnokii $gnokii_pipe = popen("gnokii --sendsms $number -r", 'w'); //echo "'$gnokii_pipe'; " . gettype($gnokii_pipe) . "\n"; //pipes validate if ((!$echo_pipe) || (!$gnokii_pipe)) { fprintf(stderr, "One or both pipes failed.\n"); return EXIT_FAILURE; } $bytes_read = 0; //execute pipes while ($buffer = fread($echo_pipe, 2096)) { fwrite($gnokii_pipe, $buffer); $bytes_read += strlen($buffer); } //close pipes //printf("Total bytes read = %d\n", $bytes_read); $status_function = 0; if (pclose($echo_pipe) != 0) { fprintf(stderr, "Could not run 'echo', or other error.\n"); $status_function++; } if (pclose($gnokii_pipe) != 0) { fprintf(stderr, "Could not run 'festival', or other error.\n"); $status_function++; } if($status_function>=2){ echo sms_successful($number, $message); } echo sms_successful($number, $message); } } function sms_successful($number="", $message=""){ return "<div align=center>" . "<table class=MAINFORM><tr class=successful><td colspan=2>Mensaje enviado exitosamente</td></tr>" . "<tr><td class=name_field>Telefono: </td><td class=value_field>$number</td></tr>" . "<tr><td class=name_field>Mensaje: </td><td class=value_field>$message</td></tr>" . "</table>" . "</div>"; } function ValidateNumber($number ){ return eregi_replace("[^0-9]", "", $number); } ?> http://localhost/sms/ Dar un número de teléfono y mensaje a enviar.. si todo salió bien debería enseguida verse el mensaje enviado desde la página, en el teléfono destino. #2 Re: Como enviar SMS desde una pagina web en Linuxte sale el error, porque tienes que cambiarle permisos al servidor Web para que pueda ejecutar scripts, lo más fácil que puedes hacer es editar el archivo de configuración de apache y cambiar el usuario y grupo de www-data a tú usuario principal para que no te salga el error, [ Responder (0) ]
#3 Re: Como enviar SMS desde una pagina web en LinuxPodria entrelazar esta opcion con un Servidor de Nagios?? en Open Suse ?? para que me mande las alarmas de notificacion por medio del Gnokii.... [ Responder (0) ]
#4 Re: Como enviar SMS desde una pagina web en LinuxSi puedes.. de hecho creo que Nagios ya trae implementada esa funcionalidad,pues hace años que probé Nagios vi por ahi que podías usar como medio de Alertas el envío de SMS. [ Responder (0) ]
#5 Re:Como enviar SMS desde una pagina web en LinuxHola tengo un problema cuando configuro el www-data nose a que te referis con el usuario y grupo... Al correrlo me sale el mismo error que se describe arriba por el amigo anterior [ Responder (0) ]
#6 Re:Como enviar SMS desde una pagina web en LinuxEl usuario del servidor web que es apache, debe tener permisos para usar el puerto serial, por eso. Hay un archivo llamado /etc/group, agrega al grupo dialout el usuario de tú servidor web que debe de ser www-data [ Responder (0) ]
Dejar un comentario
Fuentes XML de comentario: RSS | Atom
|
Nube de EtiquetasEventosEncuestaComentarios Recientes
|
#1 Re: Como enviar SMS desde una pagina web en Linux
hola problema al instalar tu script me sale el siguiente error
Notice: Use of undefined constant stderr - assumed 'stderr' in /var/www/sms/index.php on line 79
Warning: fprintf(): supplied argument is not a valid stream resource in /var/www/sms/index.php on line 79
yo solo le estoy cambiando la configuracion de gnokii por que tengo un modem usb huawei y se conecta por usb0.
espero que me puedas ayudar muchas gracias por tu aportes son de mucha ayuda