2017-06-01 6 views
0

私は通常、サーバ上で仮想端末を開くためにGNU screenを使用しているため、ログアウトまたは切断されたときに長時間実行されているプログラムを実行することができます。私は今、ラズベリーパイをSparkfun OpenScaleに添付してload cell(体重を測定するための重み付けスケール)を読んでいます。このOpenScaleボードを読み出すためにラズベリーパイのUSBスクリーンセッションを終了するには?

私はいくつかのオプションを備えた端末プログラムを取得した後

screen /dev/ttyUSB0 9600 

を使用して接続:

Serial Load Cell Converter version 1.0 
By SparkFun Electronics 
No remote sensor found 
System Configuration 
1) Tare scale to zero [-23555] 
2) Calibrate scale [-9649] 
3) Timestamp [Off] 
4) Set report rate [95] 
5) Set baud rate [9600 bps] 
6) Change units of measure [kg] 
7) Decimals [1] 
8) Average amount [1] 
9) Local temp [Off] 
r) Remote temp [Off] 
s) Status LED [Off] 
t) Serial trigger [Off] 
q) Raw reading [Off] 
c) Trigger character: [120] 
x) Exit 

これは正常に動作し、いくつかのキャリブレーション後、私は良いを取得読書。物事は、私がこのプログラムをどのように終了できるか理解していないということです。上記のメニューが表示されたら、単にxを押すことができると思うかもしれませんが、このメニューを終了すると測定値の読み込みモードに入ります。 xをもう一度押すと、再びこのメニューが開きます。

私はこれを閉じるには、物事の多くを試してみました:

q 
x 
Ctrl + c 
Ctrl + d 
Esc 
Backspace 

は、私はもちろん、セッション(Ctrl + aを使用して、dを押す)から切り離した後、画面のセッションを殺すが、プログラムにはないことができますタールリングをゼロに保管します。校正は正しく保存されますが、零点ではなく、読み取りが完全に偽になり、再起動するたびにゼロにする必要があります。これが、プログラムを正しく終了するとゼロ点を適切に保存できると思った理由です。

誰かがこのプログラムを正しく終了する方法を知っていますか?

答えて

0

シリアルデバイスの端末エミュレータとしてscreenを使用しているため、シリアルデバイス自体がある種のNVRAMにキャリブレーションデータを保存していない限り、Raspberry Piをリセットするたびに再キャリブレーションを実行する必要があります。

出力をファイルに記録するには、-Lオプションを使用して起動画面をお勧めします。校正ルーチンが完了したら、Ctrl-a dを使用して画面セッションから切り離すことができます。ただし、ログファイルは、測定されているウェイトと共に増加し続ける必要があります。

しかし、本当に他のプロセスがシリアルデバイスから開いて読み取ることができるように画面を終了する場合は、Ctrl-a \を使用できます。終了する場合は画面にメッセージが表示されますので、終了するにはyと入力してください。

関連する問題