如何在bash中将一系列AT命令发送到串口?

Ale*_*lex 4 linux bash serial-port at-command

在Linux中,我需要向一个串口发送一系列AT命令,例如/dev/ttyS0,OK在发送下一个命令之前必须等待一个答案.我可以想象做类似的事情

echo 'AT' > /dev/ttyS0
echo 'ATS0=0' > dev/ttyS0
...
Run Code Online (Sandbox Code Playgroud)

但是这并没有评估该端口上设备的答案.

是否有一种非常简单的方法可以在bash脚本中自动执行此操作,可能是借助于socat和/或microcom 没有在最简单的Linux系统上找不到的工具.

Kei*_*ith 11

如果安装PPP软件包,则可以使用chat随附的程序.或者你可以使用kermit.或者cuuucp附带的程序.但是使用纯shell来做这件事比较棘手.您可以使用read和printf函数,并将stdio重定向到端口.

一些片段:

stty -F /dev/ttyS0 38400 raw
chat -f script.txt < /dev/ttyS0 > /dev/ttyS0
Run Code Online (Sandbox Code Playgroud)

应该让你开始.