環境
人感センサ:SE-10
raspberrypi zero wh
wnidows 10
python3
vscode(wsl)
したいこと
プログラムが実行されると人感センサに反応してWebカメラが撮影します。
→その後実行されたカレントディレクトリで「日付.jpg」で保存されます。
外部モジュールでfswebcamを利用しています。連続撮影を防止するためにswの値を切り替え、シャッターを切るタイミングを調整しています。
回路図(写真)
実際のコード
python
1import RPi.GPIO as GPIO 2from time import sleep 3from datetime import datetime 4import subprocess 5 6SENSOR_PORT = 23 7LED_PORT = 4 8 9GPIO.setmode(GPIO.BCM) 10GPIO.setup(SENSOR_PORT, GPIO.IN) 11GPIO.setup(LED_PORT, GPIO.OUT) 12 13def exec(cmd): 14 r = subprocess.check_output(cmd, shell=True) 15 return r.decode("utf-8").strip() 16 17def take_photo(): 18 now = datetime.now() 19 f = now.strftime('%Y-%m-%d %H:%M:%S') + ".jpg" 20 exec("fswebcam "+f) 21 22try: 23 sw = 0 24 while True: 25 v = GPIO.input(SENSOR_PORT) 26 if v == GPIO.HIGH: 27 GPIO.output(LED_PORT, GPIO.HIGH) 28 take_photo() 29 sw = 1 30 else: 31 GPIO.output(LED_PORT, GPIO.LOW) 32 sw = 0 33 sleep(0.1) 34 35except KeyboadInterrupt: 36 pass 37 38GPIO.cleanup()
error文
File "camera-pe.py", line 13 def exec(cmd): ^ SyntaxError: invalid syntax
解決したいこと
errorが解決出来なくて困っています。
アドバイスやコードレビュー等していただけるとうれしいです。
初心者のみであるので、わかりづらい内容を送ってしまうかもしれません。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。