Tengo conectado el celular por medio de USB utilizo el puerto COM19 para enviar el SMS con este código.
Ahora como hago para leer lo recibido en el Celular
Imports System.IO.Ports
Imports System.Threading
Public Class Form1
Sub enviarSMS(ByVal numero As String, ByVal mensaje As String, ByVal puerto As String)
Dim serialport As IO.Ports.SerialPort
Try
serialport = New IO.Ports.SerialPort
With serialport
.PortName = puerto ' Puerto de comunicaciones COM1, COM2...
.BaudRate = 9600 ' velocidad del puerto
.Parity = Parity.None ' Paridad
.StopBits = StopBits.One ' Bit de para
.DataBits = 8 ' Bits de datos
If .IsOpen = False Then ' Si el puerto no esta abierto
.Open() ' Abrir el puerto
End If
.Write("ATZ0" & vbCr)
.WriteLine("AT+CMGF=1" & vbCr) ' Configurando envio de SMS modo texto
Thread.Sleep(1000) ' Esperar 1 segundo
.Write("AT+CMGS=" & Chr(34) & numero & Chr(34) & vbCr) ' Numero al que se envia el SMS
.Write(mensaje & Chr(26) & vbCr)
Thread.Sleep(1000) ' Esperar 1 segundo
.Close()
MsgBox("Mensaje enviado")
End With
Catch Ex As IO.IOException
Console.WriteLine(Ex.Message)
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
enviarSMS("+595971888222", "Mensaje de prueba", "COM19")
End Sub
End Class
Uff si hubieses hecho la pregunta hace unos dias atras te hubiese dado unos proyectos que me tropeze por la Web que hacian lo mismo (yo estuve buscando uno que me permitiera utilizar CUSD al final tuve que hacerlo de 0) asi te evitabas el tener que Goolear por la Red hay proyectos Open Sources muy buenos, y te digo no es para nada complicado lo que deseas hacer..
Salu2
Como haces para asignar el puerto com para el usb?
Aquí tienes lo necesario:
.NET Phone Communication Library Part IV - Receive SMS (http://www.codeproject.com/Articles/16727/NET-Phone-Communication-Library-Part-IV-Receive-S)
Plus:
.NET Phone Communication Library Part I - Retrieve Phone Settings (http://www.codeproject.com/Articles/16648/NET-Phone-Communication-Library-Part-I-Retrieve-P)
PD: El resto de artículos parece que han sido eliminados por antiguedad.
Saludos
Dudo mucho que funcione en telefonos inteligentes, esa manera de manipular el celular es viejisisisima.
Por lo menos en android es posible manipular los sms a traves del adb con el celular conectado via usb utilizando el servicio isms a traves de la consola de comandos del computador:
$ adb shell
# service call isms 5 s16 "+0000000000" i32 0 i32 0 s16 "Hola :)"
Talves eso te acomode mas que usar directamente el puerto con celulares viejos.
Desde java puedes programar tu servicio que manipule el servicio de sms creando un instalador apk para el celular o si no haciendo pipes al adb o instalando una shell en ssh en el celular (recuerda que el nucleo de android es linux asi que te puedes conectar como se te de la gana).
Saludos.