저는 쉘을 사용하고 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
사용자는 이를 볼 수 없습니다.