最近,我一直在尝试使用 Lua 来捕获我的 USB 3G 调制解调器链路质量和网络类型,方法是使用提供的/dev/ttyUSB2
设备节点向调制解调器发送命令并解析输出。
不幸的是,当时我并不知道这些设备节点可能会被
stty
命令篡改,这使得捕获输出变得非常困难,因为它有时会包含写入接口的命令,有时它什么也不显示,并且在有时它甚至会向我发送虚假数据(可能是回车和换行问题的结果)。
通过发出以下命令,我设法正确设置了内容:
os.execute("stty -F ".. device ..
" time 1 -hupcl ignpar -opost -onlcr -isig -icanon -echo brkint -icrnl")
现在,发送AT+ZPAS?
并AT+CSQ
似乎产生了一致性,但我想知道是否有人知道我可以为节点设置的更有用的设置。
想到的一件事是 Luaio.read()
在等待EOF
设备时挂起,基本上永远停止了代码,但是如果有一个命令可以将设备节点呈现为“命令响应”,那就太好了我可以安全地阅读一个特定命令的全部输出,而不必担心。
谢谢!