首页 > 解决方案 > 无法使用带有 AT 命令的 gsm 调制解调器发送英文文本

问题描述

我试图发送一个文本“警报”,但它变成了“5w”,发出了其他类型的消息,它们最终都是一些奇怪的字符,比如 =ìteèNñq¥tΔ6M#ΦReÅZ¡Δf¿£AfåP3TÅbVÉè /&pøo3Λ+XKw6 ΣPΨΓ8FwΘBΩ。我不确定我做错了什么有人可以帮助我解决这个问题吗?

Public Sub New(ByRef COMMPORT As String)
        'initialize all values
        SMSPort = New SerialPort
        With SMSPort
            .PortName = COMMPORT
            .BaudRate = 115200
            .Parity = Parity.None
            .DataBits = 8
            .StopBits = StopBits.One
            .Handshake = Handshake.RequestToSend
            .DtrEnable = True
            .RtsEnable = True
            .NewLine = vbCrLf
        End With
    End Sub
    Public Function SendSMS() As Boolean
        If SMSPort.IsOpen = True Then
            'sending AT commands
            SMSPort.WriteLine("AT")
            SMSPort.WriteLine("AT+CMGF=1" & vbCrLf) 'set command message format to text mode(1)
            SMSPort.WriteLine("AT+CMGS= " & Chr(34) + phonenumber + Chr(34) & vbCrLf)  
            _ContSMS = False
            SMSPort.WriteLine("alert" & vbCrLf & Chr(26)) 'SMS sending

            SMSPort.Close()
        End If
    End Function

    Public Sub Open()
        If Not (SMSPort.IsOpen = True) Then
            SMSPort.Open()
        End If
    End Sub

    Public Sub Close()
        If SMSPort.IsOpen = True Then
            SMSPort.Close()
        End If
    End Sub

标签: vb.netserial-portsmsgsmat-command

解决方案


推荐阅读