【问题标题】:Connect to WWAN modem连接到 WWAN 调制解调器
【发布时间】:2015-03-03 22:42:39
【问题描述】:

我有移动宽带适配器。我需要能够从代码向调制解调器发送 AT 命令。我可以使用超级终端来做到这一点。 在我的设备列表中宽带适配器确定为 WWAN 适配器:

我可以使用超级终端连接到调制解调器:

并发送命令。

但我不知道如何从代码(C# 或 C++)中做到这一点。我必须使用什么协议以及连接什么端口(这不是 COM)?用wireshark wwan 嗅探绝对没有任何效果。

你能给我一些建议吗?

【问题讨论】:

    标签: c# at-command 3g hyperterminal wwan


    【解决方案1】:

    一种方法是致电SerialPort.GetPortNames() 并找出答案。希望它出现在那里。

    // Get a list of serial port names. 
    string[] ports = SerialPort.GetPortNames();
    
    Console.WriteLine("The following serial ports were found:");
    
    // Display each port name to the console. 
    foreach(string port in ports)
    {
        Console.WriteLine(port);
    }
    

    【讨论】:

    • 您的代码将打印 COM17,COM18,COM19。但连接通过 WWAN 而不是通过任何 COM。
    【解决方案2】:

    如果您想使用 AT 命令,正如 Kenny 所说,您必须通过 COM 端口来执行此操作。
    要通过网络适配器以编程方式访问 3G 网络,您可以通过 Windows Mobile Broadband API.
    您将使用 Mobile Broadband API 函数和事件,而不是 AT 命令。

    有一些示例代码here.

    要以编程方式发现您的设备,您必须知道 PID/VID(产品 ID 和供应商 ID)并进行搜索。有很多关于如何做到这一点的帮助,例如this SO question.
    您可以通过在 Windows 设备管理器中检查设备属性来找到设备的 PID 和 VID,然后以编程方式使用它们来发现设备,如问题中所述。

    注意:Windows Mobile Broadband API 从 Windows 7 开始在 Windows 桌面上可用。如果您在 Metro 地区,有不同的移动宽带 API,您也可以通过 PID/VID 访问它们

    【讨论】: