我想用我的諾基亞手機(C1-01)使用AT命令發送短信,並且我可以使用此vb.net代碼成功發送短信。通過諾基亞移動通過AT命令發送短信
Button_Send_Click:
Dim SMSPort = New SerialPort
With SMSPort
.PortName = "COM2"
.BaudRate = 9600
.Parity = Parity.None
.DataBits = 8
.StopBits = StopBits.One
.Handshake = Handshake.None
.DtrEnable = True
.RtsEnable = True
.NewLine = vbCrLf
End With
SMSPort.Open()
SMSPort.Write("AT+CMGF=1" & vbCrLf)
Threading.Thread.Sleep(200)
SMSPort.Write("AT+CMGS=" & Chr(34) & TextBox1.Text & Chr(34) & vbCrLf) 'TextBox1.text = Recipient mobile number and chr(34) = "
Threading.Thread.Sleep(200)
SMSPort.Write("TEST MESSAGE" & Chr(26)) 'chr(26) = →
Threading.Thread.Sleep(200)
MsgBox(SMSPort.ReadExisting())
SMSPort.Close()
它的正常工作的第一時間,消防此代碼後,我收到短信我的手機TEST MESSAGE
(輝煌),但是,當我按在我收到的短信我的手機在第二次發送按鈕,其中包含: AT+CMGF=1 AT+CMGS=+92XXYYYYYY TEST MESSAGE
爲什麼在第二次它包括「AT命令即AT + CMGF等......」在SMS? 如何從中刪除不需要的文本? 我也嘗試SMSPort.DiscardInBuffer()
和SMSPort.DiscardOutBuffer()
打開和關閉我的串行端口(SMSPort)之前的屬性,但我的問題不解決。 我GOOGLE了很多,但都是徒勞的,請幫我解決這個問題。
平臺:微軟的Visual Basic 2010與.NET 2.0
只是好奇你爲什麼在諾基亞手機上使用AT命令。如果你使用GSM庫,這將會容易得多。我使用了幾個開源庫,它們工作正常。我還在連接到一個準系統GSM模塊的微控制器上完成了AT命令,事情是......你將不得不使用一些延遲,這樣GSM模塊才能趕上你發送給它的東西:) –