vb.net - 无法使用带有 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
解决方案
推荐阅读
- spring - 弹簧转换器不能有条件地禁用
- flutter - 在下拉菜单颤动中保持默认选择的值
- aws-lambda - 在 DynamoDB epoch 字段上触发 CloudWatch 事件
- python - 如何将单列数组与另一个数组相加(逐列)?
- python - 我如何知道我的应用程序支持哪些版本的依赖项?
- r - dplyr 的汇总输出是否有确定的输出顺序?
- java - 每次运行的 Google Cloud AppEngine Java 代码重复组件更新
- amazon-web-services - 删除 CloudFormation 堆栈后未取消的 Spot 请求
- python - 我可以在python3的单行代码中一次增加2个变量相同的值吗
- amazon-dynamodb - 用于查询 dynamodb 的 boto3 资源:查询条件缺少关键架构元素