Autor Tema: ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA  (Leído 8869 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« en: Marzo 04, 2013, 07:06:38 pm »
HOLA AMIGO HAY ALGUNA FORMA DE ENVIAR VARIOS SMS SEGUIDOS A UN MISMO NUMERO.?
ME REFIEREO DESDE VISUAL ALGUN CODIGO SIMPLE PARA HACERLO.

GRACIAS
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #1 en: Marzo 04, 2013, 09:40:13 pm »
Creo que no se puede por que hay que cachear por cada mensaje.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #2 en: Marzo 05, 2013, 03:30:50 pm »
Bazooka, existen empresas que te ofrecen el servicio por mensualidades. Afiliate a una de estas empresas, ellos te envian un ejemplo en VB, el cual facilmente puedes adaptar a tu soft. Es sencillo, simplemente envias comando a una ip con un puerto especifico en los cuales va el mensaje y el numero, y seguido de esto el mensaje se envía sin problemas. Lo interesante de esto es que muchas de estas empresas te habilitan un panel donde puedes ver los mensajes enviados, el numero, todo...!

Saludos
Miguel Núñez.

softmania

  • Bytes
  • *
  • Mensajes: 35
  • Reputación: +4/-0
    • Ver Perfil
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #3 en: Mayo 15, 2013, 02:09:45 am »
Hola Bazooka, tu puedes enviar mensajes y recibirlos también, hacer llamadas, etc , desde visual, abres un puerto serial del COM correspondiente módem GSM o bién tu propio móvil conectado a través del USB o Serial, envías comandos AT y listo ...  Puedes hacer mucho mas cosas, que se yo ... ver señal del equipo, cuanto le queda de batería, etc etc etc etc ... salu2
Solo se que no se nada!!! ;) By Sócrates

lvaldesu

  • Bit
  • Mensajes: 5
  • Reputación: +0/-0
    • Ver Perfil
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #4 en: Mayo 30, 2013, 01:56:58 pm »
Hola, tienes algun codigo que me sirva para enviar mensajes a un telefono movil o PDA a traves de VB6 en Chile

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #5 en: Mayo 31, 2013, 09:58:15 am »
Hola yo vengo trabajando hace unos años con unos modems motorola G20/G24, tienen una interface serial Rs-232, podes usar cualq modem GSM-GPRS, se manejan por un set de comandos AT.
Tenes comandos para enviar sms, recibir, abrir una conex a internet, ver nivel de señal, etc, etc.
Obviamente el modem necesita un SIM de alguna telefonica

lvaldesu

  • Bit
  • Mensajes: 5
  • Reputación: +0/-0
    • Ver Perfil
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #6 en: Mayo 31, 2013, 02:09:30 pm »
Hola Waldo,
Tengo varias PDA que tienen señal de internet, tarjeta sims, y necesito enviar mensajes desde mi PC a estos equipos moviles, tienes por casualidad algun codigo en VB6 que puedas compartir.

Gracias

Lvaldesu

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #7 en: Junio 03, 2013, 05:01:45 pm »
es que no se envia directamente con la PC, necesitas conectar un modem GSM/GPRS a la pc, y el modem con un sim es el que envia el SMS

softmania

  • Bytes
  • *
  • Mensajes: 35
  • Reputación: +4/-0
    • Ver Perfil
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #8 en: Junio 16, 2013, 02:23:00 am »
Hola, bueno explicaré un poco como es el tema de los módem GSM a través de USB, así pueden practicar desde su celular, módem Claro, módem Movistar o desde cuales quiera…

Es realmente fácil la manipulación de los mismos, hay código AT estándar  que se aplica prácticamente en todos los módem y hay otros que son particulares de cada dispositivo…
Estos códigos AT nos permiten conversar con el dispositivo, pudiendo ejecutar intrucciones en el mismo, obtener datos y establecer configuraciones ...
No empecé explicando que es un comando AT, porque no pretendo profundizar conceptos, ni aburrirlos, pero sería bueno que investiguen un poco sobre el tema
Vamos al grano…

Explicaré con Vb.net, pero es equivalente a VB6…

Trataré de hacer el ejemplo lo más simple que se pueda

Primero hay que tener el driver del módem el cual permitirá interactuar con el puerto serie a través del puerto USB … este puede venir en forma individual o contenido en el aplicativo que la empresa haya proporcionado para interactuar con el mismo … ok

Una vez que tenemos instalado el driver… hay que identificar el puerto COM con el que acepta los comandos AT, ya que puede haber más de uno utilizados por el dispositivo…

En algunos casos se puede saber porque esta descripto en el mismo nombre con el que se encuentra el driver, en administrador de dispositivos (caso Windows), pero otras veces habrá que hacer algunas pruebas…

Programación

Agregamos un Control que nos permite conectar el puerto COM (o puerto serial), “Serialport”

Armamos una función de conexión

Código: [Seleccionar]
Private Function Conectar() As String
        Try
            With SerialPort1
                If .IsOpen Then
                    .Close()
                End If
                .PortName = “COM9”
                .BaudRate = 9600 ‘bits por segundo (velocidad)
                .DataBits = 8 ‘bits de datos
                .DtrEnable = False
                .StopBits = IO.Ports.StopBits.One
                .Parity = IO.Ports.Parity.None
                .Handshake = IO.Ports.Handshake.None
                .WriteBufferSize = 1024 ‘buffer de escritura
                .ReadBufferSize = 2048 ‘buffer de lectura
                .WriteTimeout = 500 ‘tiempo de espera
                .Encoding = System.Text.Encoding.Default
                .Open()
            End With
            Conectar = vbOK
        Catch ex As Exception
            Conectar = ex.Message
        End Try
    End Function

Citar
De donde saque los datos de la función?  De las propiedades del dispositivo,  allí se detalla la configuración del puerto …

Bién, ya estamos conectados… ahora … ¿Cómo enviamos un comando AT?

Haremos otra función para que se entienda

Código: [Seleccionar]
Public Function Check_AT() As String
        Try
            SerialPort1.Write("AT" & Chr(13))
            Check_AT = vbOK
        Catch ex As Exception
            Check_AT = ex.Message
        End Try
    End Function

Citar
EL chr(13) es necesario para darle ingreso al comando AT


Ahora unos comandos AT para tener en cuenta

ATZ&F = resetea el dispositivo

Código: [Seleccionar]
Private Function Resetear() As String
        Try
            SerialPort1.Write("ATZ&F" & Chr(13))
            Resetear = vbOK
        Catch ex As Exception
            Resetear = ex.Message
        End Try
End Function

Para enviar SMS se construiría de la siguiente manera: AT+CMGS

Código: [Seleccionar]
Private Function Enviar_mensaje(ByVal Numero_Movil As String, ByVal Mensaje As String) As String
        Try
            SerialPort1.Write("APZ&F" & Chr(13))
            SerialPort1.Write("AT+CMGF=1" & Chr(13)) ‘este comando establece el modo texto
            SerialPort1.Write("AT+CMGS=" & Chr(34) & (Numero_Movil) & Chr(34) & Chr(13))
            SerialPort1.Write(Mensaje & Chr(26))
            Enviar_mensaje = vbOK
        Catch ex As Exception
            Enviar_mensaje = ex.Message
        End Try
End Function

Citar
Chr(26) es un carácter especial necesario para poder indicar el envío del mensaje “→”

Para obtener mensajes contenidos en el dispositivo sería algo así: AT+CMGL

Código: [Seleccionar]
Private Function Recibir_mensaje(ByVal Tipo As Tipo) As String
        Try
            SerialPort1.Write("ATZ&F" & Chr(13))
            SerialPort1.Write("AT+CMGF=1" & Chr(13)) ‘este comando establece el modo texto

            Select Case Tipo
                Case 0
                    SerialPort1.Write("AT+CMGL=" & Chr(34) & "REC UNREAD" & Chr(34) & Chr(13)) ‘solo recibiremos los sms no leidos
                Case 1
                    SerialPort1.Write("AT+CMGL=" & Chr(34) & "REC READ" & Chr(34) & Chr(13)) ‘solo recibiremos los sms leidos
                Case 2
                    SerialPort1.Write("AT+CMGL=" & Chr(34) & "STO UNSENT" & Chr(34) & Chr(13)) ‘solo recibiremos los sms no enviados
                Case 3
                    SerialPort1.Write("AT+CMGL=" & Chr(34) & "STO SENT" & Chr(34) & Chr(13)) ‘solo recibiremos los sms enviados
                Case 4
                    SerialPort1.Write("AT+CMGL=" & Chr(34) & "ALL" & Chr(34) & Chr(13)) ‘Recibiremos todos los sms

            End Select
            Recibir_mensaje = vbOK
        Catch ex As Exception
            Recibir_mensaje = ex.Message
        End Try
End Function

Para recibir en forma automática mensajes que vaya recibiendo el dispositivo sería:

Código: [Seleccionar]
Private Function Auto_Recibir() As String
        Try
            SerialPort1.Write("ATZ&F" & Chr(13)) ‘reseteamos
            SerialPort1.Write("AT+CMGF=1" & Chr(13)) ‘establecemos el modo texto
            SerialPort1.Write("AT+CNMI=" & Chr(34) & "1,2,0,0,0" & Chr(34) & Chr(13)) ‘esto es más largo de explicar, recomiendo lo investiguen
            Auto_Recibir = vbOK
        Catch ex As Exception

            Auto_Recibir = ex.Message
        End Try

    End Function

Bueno hay muchos comandos mas, como saber la señal del dispositivo, nivel de carga de la batería, fabricante, se pueden hacer llamadas, colgar llamadas, etc y algo interesante para que investiguen, se pueden redireccionar llamadas ... mnmnm

Bueno salu2
« última modificación: Junio 16, 2013, 03:38:08 am por softmania »
Solo se que no se nada!!! ;) By Sócrates

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:ENVIAR SMS DESDE VISUAL BASIC EN ARGENTINA
« Respuesta #9 en: Junio 17, 2013, 05:03:49 pm »
Buenisimo el aporte!! lo miraremos!!!

Gracias
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.