我想通过移远EG25-G发送短信,我已经使用ModemManager连接到LTE 我已经成功通过 minicom 连接到设备,并且可以发送 AT 命令 我想使用 PySerial 发送消息,所以我创建了一个可以发送 AT 命令的基本脚本
from serial import Serial
port = Serial("/dev/ttyUSB2", baudrate=115200)
port.write(b'AT\r')
print(port.readline())
print(port.readline())
port.close()
在允许使用命令读写端口后,我能够运行以下脚本
sudo chmod a+rw /dev/ttyUSB2
,但重新启动并再次运行命令后,脚本显示
could not open port /dev/ttyUSB2: [Errno 16] Device or resource busy: '/dev/ttyUSB2'
我知道ModemManager使用该设备并且它之前也使用过它,因为我通过LTE通过OpenVPN连接到设备
即使脚本显示设备或资源正忙,我也可以通过 minicom 发送 AT 命令,并且可以在重新启动之前运行代码一次。
在这一点上,我想我已经搜索了所有内容,所以这可能是我的一个简单错误,但我一生都无法弄清楚......
我尝试终止该特定端口上的 ModemManager 进程,但它又恢复了并且不允许脚本运行
对于任何寻找答案的人,我都这么做了
sudo chown [username] /dev/ttyUSB2
这似乎有效。 minicom 工作的原因是因为它是使用 sudo 权限执行的,因此可以访问该端口。