操作Linux /dev节点的设置以便于方便解析?

最近,我一直在尝试使用 Lua 来通过提供的 /dev/ttyUSB2 设备节点发送指令到 3G USB 网络调制解调器并解析输出以捕获连接质量和网络类型。

不幸的是,当时我不知道这些设备节点可以被 stty 命令篡改,这使得捕捉输出变得极为困难,因为输出有时会包含写入接口的命令,有时什么都不显示,有时甚至会发送虚假数据(可能是由于回车和换行问题导致)。

我通过以下命令成功地设置了正确的参数:

 os.execute("stty -F ".. device ..
  " time 1 -hupcl ignpar -opost -onlcr -isig -icanon -echo brkint -icrnl")

现在,发送 AT+ZPAS?AT+CSQ 似乎能够产生一致的结果,但我想知道是否有人知道可以设置的更有用的节点参数。

有一件事情值得注意的是,Lua 的 io.read() 在等待设备的 EOF 时会卡住,从而永远停止代码的运行,但如果有一种命令可以将设备节点渲染为“命令-响应”形式,这样我就可以安全地读取一个特定命令的全部输出,而不必担心。

谢谢!

点赞