Serial-Port
如何將數據發送到串列埠並查看任何答案?
在 Linux 上,我想將命令字元串(即一些數據)發送到串列埠(包含控製字元),並監聽響應(通常也可能包含控製字元)。
如何在 Linux 上盡可能簡單地做到這一點?一個例子表示讚賞!
Unix 上的所有設備都映射到一個設備文件,串列埠將是
/dev/ttyS0
/dev/ttyS1
… 。首先看一下該文件的權限,假設您使用的是
/dev/ttyS1
.
ls -l /dev/ttyS1
您將需要 read.write 訪問權限,如果這是一個共享系統,那麼您應該考慮向所有人開放它的安全後果。
chmod o+rw /dev/ttyS1
寫入文件的一個非常簡單粗略的方法是使用簡單的
echo
命令。echo -ne '\033[2J' > /dev/ttyS1
並閱讀
cat -v < /dev/ttyS1
您可以讓 cat 在一個終端中執行,並在第二個終端中回顯。
如果一切都是亂碼,那麼波特率、位設置可能需要在開始發送之前進行設置。
stty
會這樣做。!!注意 stty 將使用 stdin 作為預設文件描述符來影響。等效命令。
stty 19200 < /dev/ttyS1 stty 19200 -F /dev/ttyS1
這可能足以讓您編寫腳本並記錄?不確定您要達到的目標。
為了更具互動性,請記住您的預設設置方法是使用
minicom
它只是一個程序,它可以完成我迄今為止提到的所有事情。(類似於 Windows 中的超級終端,您可能很熟悉)。一個中間解決方案是使用一個
screen
可以在串列設備上執行的終端程序。screen /dev/ttyS1
man screen
man minicom
man stty
了解更多資訊