Búsqueda

Buscar en 
Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Venta de Garage

Remate de algunas chunches

Venta de Garage

Posts Recientes

About Me..

Lights of my Oaxaca City

Name : Filein Rommel Leon
Birth Year : 1981
Country/City of birth : México/Oaxaca de Juárez
Live in : México City.
Mail & MSN: fileinleon [at ] gmail [dot] com
University : Instituto Tecnológico de Oaxaca
Profession : SoftwareDeveloper
Hobbies : Photography, Basketball, Movies, Books, Gadgets, Travel, Open Source, Technology.
Movies : Knight's Tale, The life is beautiful, August Rush, 7 Dias(Mexican), Matrix, The Pianist.
Songs : La chispa adecuada(Heroes del Silencio), One(U2), Somewhere over the rainbow(Israel Kamakawiwo), Chan Chan(Buena Vista Social Club), Mesecina(Goran Bregovic), Something Inside (Jonathan Rhys Meyers).
Books : The Alchemist(Paulo Cohelo), Travel to the center of the earth(Julio Verne), The Journeyer (gary Jennings), Iliada(Homero),

Visitantes


Hace 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:

  • PHP
  • Apache
  • Gnokii
  • Algún teléfono móvil, los Nokia funcionan bien con Gnokii, de preferencia USB.

    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
     

    Ya teniendo listo Gnokii, en el caso del Nokia 3500 editar en modo super usuario el archivo

    sudo scite /etc/gnokiirc

    Y ahí poner lo siguiente

    [global]
    port = /dev/ttyACM0
    model = AT
    connection = serial
    debug=on
     

    Ahora solo basta poner el siguiente script en un directorio web:

    <?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);
            }
     
    ?>
     

    De ahí solo basta ir a Firefox al directorio dónde se instaló el script para ejecutarlo:

    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.

  • yuynan ordoñez vergara, <> / 27 Octubre, 5:22am  
    avatar

    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

    [ Responder (0) ]
    Phylevn, <> / 28 Octubre, 9:52pm  
    avatar

    te 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) ]

    Dejar un comentario









    Fuentes XML de comentario: RSS | Atom
    Total de visitantes:70677

    Categorías

    Mi Flickr

    Eventos

    ENLi 2008
    Encuentro Nacional de Software Libre 2008 http://www.ENLi.org.mx
    23, 24 y 25 de Octubre del 2008
    Programa de Conferencias

    ¿Que regalarías a un Geek en Navidad?

    Votar 20% [2]
    Votar 10% [1]
    Votar 0% [0]
    Votar 30% [3]
    Votar 0% [0]
    Votar 0% [0]
    Votar 20% [2]
    Votar 0% [0]
    Votar 20% [2]

    Conversación

    Abraham Fuentes L.: Hola, veo en tú web que has desarrollado aplicaciones sobre PocketPC para hacer facturaciones electrónicas, aqui en la empresa estamos interesados en tener puntos de venta móviles que permitan facturación electrónica, tiene un teléfono para contactarte.
    Bucio: face-smile.png Aca vistando y leindo saludos
    Phylevn: Elias:
    /etc/init.d/festival es un script para ejecutar el servidor de Festival, si no está el script intenta buscar festival con el comando:
    whereis festival
    Quizá te regrese /usr/src/festival/bin/festival, entonces solo ejecutas /usr/src/festival/bin/festival --server , para poder iniciar el servidor de Festival
    elias: saludo...
    he tratado de instalarlo en centos y no encuestro /etc/init.d/festival ayudenme
    Phylevn: El problema con el validador de SAT es que solo soporta la version 1.0, para la version 2.0 hay nuevos campos que cuándo generas el Sello Digital, el validador de SAT no los reconoce por ende el Sello te lo manda erroneo, si generas el sello con el procedimiento que pongo con los campos de la version 1.0 no tienes problemas.
    CFD: Hola! encontré tu página e hice muchísimos ensayos pero aun no es válido el cóface-smile-big.png igo, te describo lo que hice en

    www.forosdelweb.com/f18/facturacion-electronica-mexico-638882/

    Saludos
    Phylevn: Asi es.. puede enviar SMS desde Asterisk usando un telefono y conectandolo v[ia bluetooth con chan-mobile, tambien puedes enviar SMS desde una aplicacion web usando gnokii..
    stormbringer: Hola, tengo una duda sobre voip.
    Segun entiendo con asterisk+did se pueden enviar sms, estoy en lo correcto???
    Gabriela Alvarez: Hola.Buscando información sobre facturación electrónica encontré tu sitio ¿tongue.png odrías darme más información de como hiciste la implementación de la facturación electrónica ?
    Daniel Cabrera: He visto tus tutoriales de Asterisk, estoy interesado en aprender, ¿ Das cursos de VoIP ? estoy en Queretaro. Saludos
    :



    :

    :

    Escribe el código Captcha que estás viendo


    Volcado de enlaces

    | Archivos | Fuente |