私はシェルを使用し、Pythonのos.system()を使用してモーションが検出されるたびにbash
wavファイルを再生しています。omxplayer
動きが検出されるたびに印刷できましたが、"Beep"
omxplayerには実行されるたびにデフォルトの出力があり、ログが詰まります。
Audio codec pcm_s16le channels 1 samplerate 44100 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
have a nice day ;)
pr=サウンドを配置するPythonコードは次のとおりです。
import os
import time
from gpiozero import MotionSensor
while True:
if MotionSensor(4).motion_detected:
os.system("omxplayer beep-06.wav")
print("Beep!")
time.sleep(1)
omxplayerにこのメッセージを出力せずに出力するにはどうすればよいですかprint("Beep!")
?一晩実行されるため、これを使用しており、SSHを介してこれを行い、Raspbianを実行しているRaspberry Pi 3 B +(重要な場合)の名前付きファイルに出力をnohup python3 alarm.py > alarm.out 2>&1
リダイレクトします。alarm.out
よろしくお願いします!
答え1
コマンドの出力を表示したくない場合は、標準エラーと標準出力を次にリダイレクトするだけです/dev/null
。
os.system("omxplayer beep-06.wav >/dev/null 2>&1")
これにより、出力とエラーが送信されますが、/dev/null
ユーザーはそれを見ることができません。