我正在尝试开发一个程序,可以与特定的 SIM 网络交互以发送和读取短信以及拨打 USSD 代码。
我使用旧调制解调器(iBall Airways 3G 调制解调器 - 高通芯片组)构建了一个原型。
我安装了调制解调器附带的驱动程序(在其大容量存储中),之后其 COM 端口在设备管理器中公开并可见。然后我使用 Ai-Thinker 串口工具测试了 AT 命令,然后编写了一个 Python 程序来与调制解调器交互。
下面是一个简单的代码片段,说明通过 AT 命令与调制解调器进行通信:
import serial.tools.list_ports
import serial
import time
ports = serial.tools.list_ports.comports()
modem = ports[0].device
ser = serial.Serial(str(modem), 115200, timeout=0)
ser.write('AT\r'.encode()) # This is for initializing, other commands can be given here
time.sleep(1)
response = ser.read_all()
这还允许我运行各种 AT 命令 - 读取短信、发送短信和拨打 USSD 代码并获取响应。
现在我买了一个新的 USB 调制解调器 (4G),但我无法向它发送任何命令,因为它没有暴露任何 COM 端口。在设备管理器中,该设备显示为“USB 以太网 RNDIS 小工具”。查找 RNDIS 告诉我,这是一个允许调制解调器作为以太网设备直接连接而无需额外驱动程序的协议。
由于现在市场上大多数商用USB调制解调器都使用这个协议,并且似乎没有提供特定的驱动程序(我也尝试了另一个调制解调器),我只需要知道是否可以运行AT命令来执行通过任何方法执行上述操作(以某种方式强制创建 COM 端口?)或者是否要使用其他标准而不是 AT 命令。
附注我使用的是 Windows 11 版本 23H2 [操作系统内部版本 22631.4169]
我有同样的问题和需求,另一个问题是什么调制解调器 4G 棒调制解调器允许通过 WIN 11 服务器的 Https/IP 连接发送和接收短信?