none
Como enviar sms con aplicación vb2008. RRS feed

  • Pregunta

  • Tengo que crear una aplicación VB2008 que envíe sms a traves de un modem GSM y no tengo ni idea de como hacerlo.
    Alguien podría ayudarme. He encontrado que hay una libreria de VB6 que sirve para esto la MSCOMM.OCX pero yo lo he intentado y no me funciona. ¿Podria hacerse con el control serialport?¿como? Muchas gracias de ante mano.

    lunes, 7 de septiembre de 2009 13:39

Respuestas

  • Hola JorgeMAG,

    la mejor opción, es hacerlo mediante el puerto Serie. Para ello, tu modem dispone de un conjunto de comandos a los que debes llamar utilizando el serialPort, como bien dices. Los comandos son distintos en función del fabricante del modem. Seguramente dispones de un manual de instrucciones donde explique cómo lanzar los comandos del modem: de qué comandos dispone, que parámetros necesita cada comando, etc... si no dispones de esa información, visita la web del fabricante. Seguramente tienen alli la documentación que necesitas.

    Si dispones de los comandos, puedes probar si funcionan correctamente usando hyperterminal para conectarte al modem via el puerto serie. Desde ahi puedes probar los comandos. Si funcionana bien, entonces puedes crear la aplicación. En el fondo es lo mismo, abres el puerto serie y envias los comandos por ahi. Te llegan las respuestas y las procesas.


    En caso de que la respuesta te sirva, porfavor, márcala como válida

    Muchas gracias y suerte!


    Javier Jiménez Roda


    MCP (Microsoft Certified Professional)
    MCTS (Microsoft Certified Technology Specialist)
    MCPD (Microsoft Certified Professional Developer)
    Blog: http://jimenezroda.wordpress.com

    lunes, 7 de septiembre de 2009 13:56

Todas las respuestas

  • Hola JorgeMAG,

    la mejor opción, es hacerlo mediante el puerto Serie. Para ello, tu modem dispone de un conjunto de comandos a los que debes llamar utilizando el serialPort, como bien dices. Los comandos son distintos en función del fabricante del modem. Seguramente dispones de un manual de instrucciones donde explique cómo lanzar los comandos del modem: de qué comandos dispone, que parámetros necesita cada comando, etc... si no dispones de esa información, visita la web del fabricante. Seguramente tienen alli la documentación que necesitas.

    Si dispones de los comandos, puedes probar si funcionan correctamente usando hyperterminal para conectarte al modem via el puerto serie. Desde ahi puedes probar los comandos. Si funcionana bien, entonces puedes crear la aplicación. En el fondo es lo mismo, abres el puerto serie y envias los comandos por ahi. Te llegan las respuestas y las procesas.


    En caso de que la respuesta te sirva, porfavor, márcala como válida

    Muchas gracias y suerte!


    Javier Jiménez Roda


    MCP (Microsoft Certified Professional)
    MCTS (Microsoft Certified Technology Specialist)
    MCPD (Microsoft Certified Professional Developer)
    Blog: http://jimenezroda.wordpress.com

    lunes, 7 de septiembre de 2009 13:56
  • Seguramente las operadoras deben de proveer algun web services para este tipo de situaciones, no creo que puramente con una aplicacion que realices puedas llevar a cabo esto, asi que deberias de averiguar con algun operador telefonico que exponga algun servicio web o que te de acceso a un servidor SMPP
    Alexander Díaz Fernandez (Ingeniero de Sistemas-Madrid)
    •Microsoft Certified Professional Developer Web Developer
    •Microsoft Certified Technology Specialist Distributed Applications
    •Microsoft Certified Technology Specialist Web Applications
    •Microsoft Certified Technology Specialist Application Development Foundation c#
    •Microsoft Certified Technology Specialist SQL Server 2005
    •Microsoft Desarrollador 5 estrellas – Gold - Platiniun
    Blog: http://highscalability.wordpress.com
    lunes, 7 de septiembre de 2009 17:05
  • Ya he conseguido los comandos lo que no se como enviarlos desde visual  basic, con el hiperterminal funcionan. Son estos

    AT+CMGF=1
    OK
    AT+CMGS="7789952010"
    > MENSAJE PRUEBA<Ctrl>+<Z>
    +CMGS: 44
     
    OK

    Me podrias echar una mano
    en el codigo pongo:

    Imports

     

    System.Text

    Imports

     

    System.Drawing

    Imports

     

    System.IO.Ports

    Imports

     

    System.Windows.Forms

    Public

     

    Class Form1

     

     

     

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     

    If Not SerialPort1.IsOpen Then

    SerialPort1.Open()

     

    End If

    SerialPort1.Write(

    "AT+CMGF=1")

    TextBox1.Text = SerialPort1.ReadLine

     

     

     

    End Sub

    End

     

    Class


    y no hace nada
    Gracias de entemano

    miércoles, 9 de septiembre de 2009 15:09
  • Hola Jorge,

    En primer lugar deberias, especificar las caracteristicas de conexion del Modem GSM : (Velocidad, Paridad...etc)

    Si me detallas el formato exacto del mandato : AT+CMGS segun la especificacion del fabricante, te detallare un ejemplo de entrada.

    Espero tus noticias,
    Pep Lluis,
    MVP - Visual Developer
    martes, 15 de septiembre de 2009 8:17
    Moderador