shell 从终端发送和读取串行命令

rseugnpd  于 2023-03-24  发布在  Shell
关注(0)|答案(1)|浏览(121)

我有一个非常有限的软件列表,我可以安装在(物联网边缘)设备上。我有minicomchat命令(除了像echocat这样的标准命令),并且需要向串行设备写入命令并读取响应。
有问题的设备是一个调制解调器,我需要在上面运行AT命令。如果使用minicom并设置菜单等,我可以正常运行这些命令,并获得输出。问题是我有大约一千个这样的设备,所以设置和数据记录需要自动化。
那么,在这些参数中,是否有一种方法可以运行minicom并在没有任何交互元素的情况下捕获输出?

minicom -S scriptfile -C outfile

其中scriptfile(目前)包含以下内容:

sleep 1
send "AT"

这似乎忽略了sleep命令,并且创建了 outfile,但保留为空。还有,我需要在命令中添加什么,它不会打开会话或交互式元素?

okxuctiv

okxuctiv1#

那么,在这些参数中,是否有一种方法可以运行minicom并在没有任何交互元素的情况下捕获输出?
我不确定minicom,但我有一个更好的工具来完成这项工作,它是专门为能够从命令行运行非交互式AT命令而编写的,具有捕获功能:atinout .
例如,您可以以任何您喜欢的方式自动执行此操作

for device in mydevice0001 mydevice0002 ... mydevice1000
do
    atinout my_at_commands.txt /dev/$device capture-$device.txt
done

相关问题