Enviar SMS a móviles
Publicado por apacheco (98 intervenciones) el 25/11/2019 16:56:40
Tengo que enviar SMS desde una aplicación a los operarios del SAT que visitan a los clientes
He procedido a conectar al ordenador un móvil SAMSUNG GALAXY J5 y lo ha reconocido como SAMSUNG Movile USB módem y le ha asignado (aplicado) el puerto COM3.
El formulario se compone de un combo para seleccionar el puerto (cmbPuerto), 2 botones btConectar y btEnviar y 3 campos de texto, uno para el número de teléfono (txtNumero), otro para el mensaje a enviar (txtTexto) y un tercero (txtModem) para recoger los mensaje devueltos por ell módem.
Así mismo se ha incorporado un SerialPort (SerialPort1), del que ha programado el evento DataReceived, que no se activa no por activa ni por pasiva.
Os adjunto el desarrollo, obviando la carga del los posibles puertos existentes, textos del numero y mensaje a enviar.
Al ejecutarlo no se produce ningún error (pero no hace nada) y el desarrollo es el siguiente:
El SerialPort1.DataReceived no se activa al enviar ninguno de los comandos.
¿Será un problema del móvil o que haya que cargar mas drivers aunque no los pida?
Un saludo y gracias
He procedido a conectar al ordenador un móvil SAMSUNG GALAXY J5 y lo ha reconocido como SAMSUNG Movile USB módem y le ha asignado (aplicado) el puerto COM3.
El formulario se compone de un combo para seleccionar el puerto (cmbPuerto), 2 botones btConectar y btEnviar y 3 campos de texto, uno para el número de teléfono (txtNumero), otro para el mensaje a enviar (txtTexto) y un tercero (txtModem) para recoger los mensaje devueltos por ell módem.
Así mismo se ha incorporado un SerialPort (SerialPort1), del que ha programado el evento DataReceived, que no se activa no por activa ni por pasiva.
Os adjunto el desarrollo, obviando la carga del los posibles puertos existentes, textos del numero y mensaje a enviar.
Al ejecutarlo no se produce ningún error (pero no hace nada) y el desarrollo es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Imports System.IO.Ports
Imports System.Threading
Private Sub btConectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btConectar.Click
Try
SerialPort1.PortName = cmbPuerto.Text ' Puerto seleccionado
SerialPort1.Open() ' Apertura del puerto
btConectar.Enabled = False ' Para evitar varios intentos de conexión
btEnviar.Enabled = True
txtNumero.Focus() ' Ir a pedir el número del destinatario
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub btEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btEnviar.Click
Try
If txtTexto.Text = String.Empty Then
MessageBox.Show("INTRODUZCA EL TEXTO A ENVIAR")
txtTexto.Focus()
End If
SerialPort1.DiscardOutBuffer()
txtModem.Clear() ' Inicializo el texto de cotrol
SerialPort1.Write("AT" & vbCrLf) ' Comprueba la conexión con el módem
Threading.Thread.Sleep(1000)
SerialPort1.Write("AT+CMGF=1" & vbCrLf) ' Le indico que se va a enviar un SMS
Threading.Thread.Sleep(1000)
SerialPort1.Write("AT+CMGS=" & Chr(34) & txtNumero.Text & Chr(34) & vbCrLf) ' Enviará el mensaje sin almacenamiento
Threading.Thread.Sleep(1000)
SerialPort1.Write(txtTexto.Text & Chr(26)) ' Envia el mensaje
MessageBox.Show("ENVIADO")
txtNumero.Focus() ' Ir a pedir el número del siguiente destinatario
Catch ex As Exception
MsgBox(ex.Message)
End Try
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
' RECIBE LA INFORMACION DEL MODEM Y LA PONE EN EL TEXTBOX
Dim recibido As String = Convert.ToString(SerialPort1.ReadExisting)
txtModem.Text = txtModem.Text + recibido & vbCrLf
End Sub
El SerialPort1.DataReceived no se activa al enviar ninguno de los comandos.
¿Será un problema del móvil o que haya que cargar mas drivers aunque no los pida?
Un saludo y gracias
Valora esta pregunta


0