Moxa Uport 1110 USB-シリアルデバイスでGPSを使用しようとしています。 UPortドライバが正常にインストールされ、GPSからNMEA(テキスト)データを送信します。しかし、コマンドを出すと
cat /dev/ttyUSB0
私の端末(重要な場合はUTF8ロケール)にバイナリ混乱が表示されます。 Windowsでは(したがって他のドライバを使用しますが、どちらも正式です)、うまく動作し、データを表示してGPSにアクセスできます。
一部の端末設定に問題があるかどうか疑問に思います。
私は以前安定したGPS設定の理由でもあるstty ispeed 9600を公開したことがあります。また、stty ispeedを低レベルから高レベルまで試しましたが、さまざまな種類の混乱を経験しました。
時々、まれな試みで良い記事が表示されることもあります。
私の現在の端末設定は次のとおりです
[root@blade gpsd-3.14]# stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
eof = ^A; min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
問題のある場所を見つけるのを手伝ってくれてありがとう。
答え1
私の経験によると、(数年前から)デバイスがオフになると、物理回線特性がデフォルト値にリセットされます。したがって、stty ... < /dev/ttyUSB0
コマンドが完了すると、デバイスはシャットダウンされ、デフォルト値にリセットされ、スタンドアロンコマンドとして実行する必要はありません。
この問題を解決するには、次の手順を実行する必要があります。
sleep 3600 </dev/ttyUSB0 & # Open the device and keep it open (for 1hr)
stty ... </dev/ttyUSB0 # Set the desired characteristics
cat /dev/ttyUSB0 # Read from the device
...
kill %1 # Finished with the "sleep"