Как с помощью Raspberry Pi выявить, кто был в твоей комнате. Часть 7

Шаг 6: Запись в файл и воспроизведения
Теперь мы можем добавить немного больше кода, чтобы позволить запись в файл для воспроизведения на более позднем этапе. В идеале, если есть много посетителей в Вашей комнате, то Вы хотите захватить их всех, а не только одного самого последнего. Таким образом, чтобы сделать это нам нужен способ для автоматического создания нового имени файла каждый раз, когда оказывается движение. Самый простой и безопасный способ сделать это — создать файл с именем из даты и времени.
Например, если время было 23 мая 2014 в 10:24 утра и 18 секунд, то имя файла будет выглядеть примерно так: 2014-05-23_10.24.18.h264. При этом используется формат YEAR-MONTH-DAY_HOUR.MINUTE.SECOND.h264; часть h264 является форматом видео, которое будет записываться. Это тот же формат, который использует YouTube.
Чтобы сделать это, мы должны импортировать модуль Python datetime и написать функцию для создания имени файла. Смотрите ниже getFileName; это использует * строка из функции времени для вставки значения из текущего времени в указанном формате строки. Тогда Вы просто используете команды для запуска и остановки записи с использованием сгенерированного имени файла. Это должно произойти в то же время, когда и соответствующие команды предварительного просмотра.
nano pirCamera.py
Измените вручную или скопируйте и вставьте код ниже:
import RPi.GPIO as GPIO
import time
import picamera
import datetime # new

def getFileName (): # new
return datetime.datetime.now (). strftime ("% Y-% m-% d_% H.% M.% S.h264")

sensorPin = 7

GPIO.setmode (GPIO.BOARD)
GPIO.setup (sensorPin, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

prevState = False
currState = False

cam = picamera.PiCamera ()

while True:
time.sleep (0.1)
prevState = currState
currState = GPIO.input (sensorPin)
if currState! = prevState:
newState = «HIGH» if currState else «LOW»
print «GPIO pin% s is% s»% (sensorPin, newState)
if currState:
fileName = getFileName () # new
cam.start_preview ()
cam.start_recording (fileName) # new
else:
cam.stop_preview ()
cam.stop_recording () # new
Нажмите Ctrl + O, чтобы сохранить и Ctrl + X для выхода. Для запуска программы используйте следующую команду:
sudo ./pirCamera.py
Нажмите Ctrl + C, если захотите выйти.

ringtone-converter.com

Читайте также: