VB.net从SIM卡发送/接收AT命令

时间:2015-07-28 17:16:49

标签: vb.net serial-port port at-command

好吧,所以我一直在使用Vb,但是与设备通信是全新的。

我有一台带有SIM卡插槽的HP Elitebook 820,我想做的就是显示SIM卡信息 - 特别是序列号。我做了一些搜索,发现很多人都在谈论AT命令。经过一番搜索,我试了一下。

    Dim com1 As SerialPort = New System.IO.Ports.SerialPort

    com1.PortName = "COM6"

    com1.Open()

    If com1.IsOpen Then
        com1.Write("AT+CIMI")
        Dim result As String
        result = com1.ReadExisting
        MsgBox(result)
    Else
        MsgBox("port not open")
    End If

没有错误但只返回空白字符串。任何人都可以通过让我知道来帮助我,首先,如果这是可能的,那么我会以正确的方式解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

步骤1.获取V.250调制解调器标准的副本,并至少读取第5章的所有内容。这将教你很多基本的AT命令处理,例如应该终止AT命令行与\r

步骤2.最好的文档是您的调制解调器制造商的特定文档,您肯定应该尝试抓住它,但是对于像AT+CIMI这样的基本手机命令,您可以使用3GPP规范{ {3}}同样(假设制造商没有偏离它的实现。有时他们会做一些命令,所以这是值得注意的(因此我建议首先获得调制解调器制造商的特定文档)然而,AT + CIMI命令如此简单,没有什么可以真正偏离。)。

步骤3.接收处理,例如result = com1.ReadExisting过于简单化了。您必须读取并解析来自调制解调器的每一行响应,直到您获得最终结果代码(最常见的是OKERROR,但还有其他几个)。任何其他方式都无法可靠地工作。有关如何正确执行此操作的伪代码结构,请参阅27.007