Help me to send message using USB GPRS modem and with vb.net
Let me Describe the code
<br />
'This is for Connecting Port<br />
<pre lang="vb">private sub OpenPort()
OpenPort("COM5",11520,8,1,300,300)
End Sub</pre><br />
<br />
<pre>
private sub SendMessage()
Dim X As String = ClsMSg.ExecuteATCommand(Port, "AT", 300)
If X.Contains("OK") Then
X = ClsMSg.ExecuteATCommand(Port, "AT+CMGF=1", 300)
If X.Contains("OK") Then
Dim PhoneNo As String = "0559963424"
Dim command As [String] = "AT+CMGS=""" & PhoneNo & """"
X = ClsMSg.ExecuteATCommand(Port, command, 300)
If X.Contains(">") Then
Dim Cmd As String = "this is a test message " + Char.ConvertFromUtf32(26) & vbCr
X = ClsMSg.ExecuteATCommand(Port, Cmd & vbCr, 300)
End If
End If
End If
end sub
Public Function OpenPort(ByVal StrPortName As String, ByVal p_baudRate As Integer, ByVal p_Databits As Int16, ByVal p_ReadTimeOut As Integer, ByVal p_WriteTimeout As Integer, ByRef ConnStatus As String) As SerialPort
Try
With Port
.PortName = StrPortName
.BaudRate = p_baudRate
.DataBits = p_Databits
.StopBits = StopBits.One
.Parity = Parity.None
.ReadTimeout = p_ReadTimeOut
.WriteTimeout = p_WriteTimeout
.Encoding = Encoding.GetEncoding("iso-8859-1")
AddHandler Port.DataReceived, AddressOf Port_DataReceived
.Open()
.DtrEnable = True
.RtsEnable = True
ConnStatus = "Y"
Return Port
End With
Catch ex As Exception
ConnStatus = ex.Message
End Try
Return Port
End Function
'this codes for stop connection
Public Sub ClosePort(ByVal port As SerialPort)
Try
port.Close()
RemoveHandler port.DataReceived, AddressOf port_DataReceived
port = Nothing
ClsComm.ShowNotification("SMS CENTER", "SMS Service Stopped", ToolTipIcon.Info)
Catch ex As Exception
ClsComm.ShowNotification("SMS CENTER", "Failed to Stopp SMS Service ", ToolTipIcon.Error)
End Try
End Sub
<pre lang="vb">Public Sub Port_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
Try
If e.EventType = SerialData.Chars Then
ReceiveNow.[Set]()
End If
Catch ex As Exception
Throw ex
End Try
End Sub</pre><br />
<br />
Public Function ExecuteATCommand(ByVal Port As SerialPort, ByVal Scommand As String, Optional ByVal ResponseTimeOut As Integer = 300) As String<br />
Try<br />
<br />
Port.DiscardOutBuffer()<br />
Port.DiscardInBuffer()<br />
ReceiveNow.Reset()<br />
<br />
Port.Write(Scommand & vbCr)<br />
Threading.Thread.Sleep(300)<br />
Dim Input As String = ReadResponse(Port, ResponseTimeOut)<br />
<br />
If (Input.Length = 0) OrElse ((Not Input.EndsWith(vbCr & vbLf & "> ")) AndAlso (Not Input.EndsWith(vbCr & vbLf & "OK" & vbCr & vbLf))) Then<br />
Return "ERROR"<br />
Else<br />
Return Input<br />
End If<br />
Catch ex As Exception<br />
Return "ERROR"<br />
End Try<br />
End Function<br />
Public Function ReadResponse(ByVal Port As SerialPort, ByVal TimeOut As Integer) As String<br />
Dim Buffer As String = String.Empty<br />
Dim ErrMsg As String = ""<br />
Try<br />
Do<br />
If ReceiveNow.WaitOne(TimeOut, False) Then<br />
Dim T As String = Port.ReadExisting<br />
Buffer += T<br />
Else<br />
If Buffer.Length > 0 Then<br />
ErrMsg = "Incompleted Response."<br />
Else<br />
ErrMsg = "No Data Received."<br />
End If<br />
Exit Do<br />
End If<br />
Loop While Not Buffer.EndsWith(vbCr & vbLf & "OK" & vbCr & vbLf) AndAlso Not Buffer.EndsWith(vbCr & vbLf & "> ") AndAlso Not Buffer.EndsWith(vbCr & vbLf & "ERROR" & vbCr & vbLf)<br />
<br />
If ErrMsg.Length > 0 Then<br />
Buffer = "ERROR"<br />
End If<br />
<br />
Catch ex As Exception<br />
Return "ERROR"<br />
End Try<br />
Return Buffer<br />
End Function<br />
<br />
<br />
<br />
<br />
after i sending message using this code its the x returns sometimes error and some times its hang in the message portion with ">" if i stop port and start again the message is sending. i tried in the hyper terminal its Sending Message but the last line not getting response<br />
<br />
AT<br />
OK<br />
AT+CMGF=1<br />
OK<br />
AT+CMGW="+85291234567"<br />
> A simple demo of SMS text messaging.<br />
+CMGW: 1<br />
<br />
OK<br />
AT+CMSS=1<br />
<br />
after this portion hanging but message is sending<br />
<br />
And also Iam Using IMPULSE USB GPRS MODEM. <br />
please help me