Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Este sistema utiliza un pizero, un dongle wifi y una vieja cámara web en una caja de cerillas personalizada. Graba videos de detección de movimiento a 27 fps de cualquier movimiento significativo en mi camino de entrada. Luego, carga los clips en una cuenta de Dropbox. También puede ver los registros y cambiar la configuración a través de Dropbox.
Paso 1: configurar los requisitos previos
Primero actualice el sistema operativo a la última versión como se describe aquí.
Luego configure el wifi como se describe aquí.
Entonces necesitará configurar OpenCv. Hay buenas instrucciones sobre cómo hacer esto en pyimagesearch. Si opta por la versión 3.0, espere que tarde mucho tiempo. Uno de los pasos tarda 9 horas en realizarse. También necesitará los enlaces de Python que se explican en esa página.
Cuando tenga todo esto en funcionamiento, estará listo para descargar el software de detección de movimiento.
Paso 2: Configuración del software de detección de movimiento
El código se puede encontrar en bitbucket. Copie estos archivos usando
clon de git
o si lo prefiere, descárguelos individualmente.
La parte principal de este sistema es multiMotionDetect.py. Utiliza una gran cantidad de colas y eventos de multiprocesamiento.
En primer lugar, debe decidir dónde desea almacenar las imágenes de video MotionVideos y establecer este valor en el archivo globalConfig.json. Luego copie config.json.txt y maskedAreas.json.txt a la raíz de esta carpeta. El config.json.txt tiene la siguiente configuración que se puede editar de forma remota.
}
FrameThreshold: es el número de fotogramas significativos antes de que se detecte movimiento.
staticThreshold: es el número de fotogramas estáticos antes de que apaguemos la filmación.
minArea: es el tamaño mínimo del área para que se considere significativa.
postSeconds: este es el número de segundos desde el final de la filmación para que el movimiento pase por la cola. readCamNice: esta es la prioridad que se le dará al
proceso readCam. Esto está entre -20 y +20 (cuanto menor sea la cifra, mayor será la prioridad). Pero no exagere o bloqueará el sistema operativo.
checkMotionNice: La prioridad para el proceso de detección de movimiento.
writeCamNice: La prioridad del proceso de escritura de la cámara.
maxqsize: este es el número de segundos que luego se multiplica por los fotogramas por segundo.
La mayoría de las veces solo cambio min_area para tener en cuenta las condiciones del viento.
Si prefiere usar un registrador simple en lugar del registrador de sockets (abajo), cambie el archivo import miaLogging a
registro de importación
logging.basicConfig (nombre de archivo = 'ejemplo.log', nivel = registro. DEBUG)
y elimine el receptor de registro del archivo motionDetect y todo lo demás debería funcionar bien.
Si desea ejecutar la detección de movimiento automáticamente al inicio.
Primero edite el script y verifique que homedir apunte a donde tiene multiMotionDetect.py, luego copie el archivo motionDetect en /etc/init.d ie
cp motionDetect /etc/init.d/motionDetect
Ya debería ser ejecutable pero
chmod + x /etc/init.d/motionDetect
Finalmente registre el script con
sudo update-rc.d valores predeterminados de motionDetect
También puede iniciar, detener y reiniciar el sistema con
sudo /etc/init.d/motionDetect start | stop | restart
De forma predeterminada, el registro de sockets miaLogReceiver comenzará al mismo tiempo. Los otros tres programas son independientes pero usan el mismo registrador de sockets (pero podrían convertirse fácilmente). Llamo a todos estos usando un script cron de diferentes intervalos. Para obtener instrucciones, busque aquí.
CheckRunning.py comprueba que multiMotionDetect.py se está ejecutando y reinicia si no.
fileMaint.py realiza tareas de limpieza en las carpetas de video eliminándolas después de la cantidad de días indicada. Elimina los subdirectorios de la carpeta de video en movimiento establecidos en el primer párrafo. Comprueba que comiencen con "MV", así que asegúrese de no tener otro directorio de importancia que comience con los mismos caracteres dentro de esa carpeta.
Paso 3: Acceder a los videos y la configuración a través de Dropbox
Finalmente, si desea ver sus videos, registros y archivos de configuración de forma remota, deberá configurar Dropbox.
Primero obtenga una cuenta de Dropbox que es gratuita. Luego configure la API para python -https://www.dropbox.com/developers/documentation/ … Esto incluye descargar el sdk y registrar la aplicación para acceder a la API.
Cuando tenga una clave, introdúzcala en el archivo globalConfig.json. Más información sobre el sistema se puede encontrar en mi blog dani cymru - cyber renegade Si encuentra algo de interés o alguna pregunta, por favor ponga un comentario en el blog.