2013-02-24 1 views
2

Использование VB.NET Мне нужно отправить SMS с помощью GSM-модема на мобильный телефон.Отправка SMS через GSM-модем на мобильный телефон

В настоящее время у меня есть следующий код:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    If serialport.IsOpen Then 
     serialport.Close() 
    End If 
    Try 
     With serialport 
      .PortName = ComboBox1.Text 
      .BaudRate = 96000 
      .Parity = Parity.None 
      .DataBits = 8 
      .StopBits = StopBits.One 
      .Handshake = Handshake.RequestToSend 
      .DtrEnable = True 
      .RtsEnable = True 
      .NewLine = vbCrLf 
     End With 
     serialport.Open() 
    Catch ex As Exception 
    End Try 
    serialport.WriteLine("AT+CMGF=1" & vbCr) 
    System.Threading.Thread.Sleep(200) 
    serialport.WriteLine("AT+CMGS=" & Chr(34) & "destination" & Chr(34) & vbCr) 
    System.Threading.Thread.Sleep(200) 
    serialport.WriteLine("test message" & vbCrLf & Chr(26)) 
    System.Threading.Thread.Sleep(200) 
End Sub 

Дело в том, что, кажется, что этот код не работает.

Можете ли вы проверить, правильно это или нет. Или просто дайте мне некоторые темы, которые могут помочь мне в этом.

+0

Не могу точно сказать, что не так с вашим кодом, но 'BaudRate' выглядит не так:' .BaudRate = 96000'. Это должно быть 9600. –

+0

Я изменю его, спасибо – MakAdin

+0

Эй, @ dan radu, можете ли вы дать мне пример об этом? – MakAdin

ответ

-1
+1

, пожалуйста, покажите рабочее решение, а не только ссылки. – slfan

+0

у него есть исходники, и скачать и протестировать их самостоятельно – Shim

+1

ссылки имеют тенденцию устаревать. – slfan

0

Этот код работает для меня и может послать сообщение на телефон:

{ 
    SerialPort1.WriteLine("AT") 
    System.Threading.Thread.Sleep(300) 
    SerialPort1.WriteLine("AT+CMGF=1" & vbCrLf) 
    System.Threading.Thread.Sleep(300) 
    SerialPort1.WriteLine("AT+CSCA=" & Chr(34) & MessageCenter & Chr(34) & vbCrLf) 
    System.Threading.Thread.Sleep(300) 
    SerialPort1.WriteLine("AT+CMGS=" & Chr(34) & PhoneNumber & Chr(34) & vbCrLf) 
    System.Threading.Thread.Sleep(300) 
    SerialPort1.WriteLine(Message & Chr(26)) 
    MsgBox("Send") 
} 

Примечание; этот код я пробовал и получал сообщение с моего телефона, как это; "????? # $ ?? # ????".