私は、ラズベリーパイhttps://www.raspberrypi.org/learning/parent-detector/worksheet/でモーション検知セキュリティカメラを構築しています。Python:キーを押したままループを閉じる
コードは正常に動作しますが、起動時にデバイスにPythonコードを実行させたいので、特定のキーを押したときにプログラムを終了します。現時点では、プログラムは動作しますが、ループから抜け出すことはできませんので、私はラズベリー・パイのデスクトップにアクセスできない(私の回避策は、デバイスをオフにして、手動でカメラを取り外し、デバイスをオンに戻してこのコードは、モニタ、キーボードなどに接続されたpiからプログラムを実行するように書かれています。私はちょうどそれをどこかに差し込み、カメラを腕にしたい。私は家に戻り(仕事、休暇など)、キーボードを差し込み、プログラムを終了して安全にシャットダウンし、モニターに接続するとセキュリティインシデントを見ることができるようにキーを押します。
スクリプトコード:
from gpiozero import MotionSensor
from picamera import PiCamera
from datetime import datetime
camera = PiCamera()
pir = MotionSensor(4)
while True:
pir.wait_for_motion()
filename = datetime.now().strftime("%Y-%m-%d_%H.%M.%S.h264")
camera.start_recording(filename)
pir.wait_for_no_motion()
camera.stop_recording()
'if input()== '':break'? –
@Shivaは動作しません、 'input'はブロックしています。 –
ああ...それを得た。 'signal.signal'おそらく? –