USBをシリアルブリッジドングルに接続し、dmesg | grep tty
を実行すると次のように出力されました。
[ 0.000000] console [tty0] enabled
[603199.380677] usb 2-2: cp210x converter now attached to ttyUSB0
だから今私は次のように実行して この前の質問の答え に従ってそれに書き込もうとしています:
cat hello.txt > /dev/ttyUSB0
そして
Sudo cat hello.txt > /dev/ttyUSB0
ただし、どちらも次のエラーが発生します。
bash: /dev/ttyUSB0: Permission denied
私は何が間違っているのですか?
ありがとう
それでもSudoを使用してポートにアクセスする場合、問題はcat
がroot権限で実行されているが、リダイレクトが実行されていないことです。 cat hello.txt | Sudo tee /dev/ttyUSB0
をお試しください。これは、rootとして実行されるtee
ツールを使用します。 stdout(端末)と指定された宛先(この場合はシリアルポート)の両方に出力します。
Ubuntuのシリアルポートは「ダイヤルアウト」グループに属していることを思い出しますが、デフォルトでは。次のようなものを実行することで、このグループに自分を追加できます。
Sudo gpasswd --add jodes dialout
これを有効にする前に、ログアウトして再度ログインする必要がある場合がありますが、そうすると、USBからシリアルへのコンバーターを含むシリアルポートとの間で読み取りと書き込みができるようになります。