La videovigilancia no profesional del apartamento es entretenida y económica

Desde el momento en que obtuve un sistema de alarma GSM en mi departamento de guardia, tuve la idea de que sería bueno tener "ojos" en mi ausencia en el departamento si se activaran los sensores de alarma (¿o tal vez la alarma es falsa?). Como soy ingeniero en el campo de la tecnología de la información, no se trataba de una solución profesional en forma de registrador y un montón de cámaras, solo todo yo mismo, con mis propias manos. También se decidió establecer inmediatamente el presupuesto al límite, y si el proyecto fue exitoso, ya piense en su mejora y modernización.

Hierro


En primer lugar, seleccionamos la plancha. "Ojos" significa una cámara, no hay lugar para nada. Entonces surge la pregunta de qué hacer con la imagen recibida: almacenarla, transferirla a algún lugar, etc. Así que pensé en un enrutador conectado a través de UPS con un módem 4G para un canal de Internet estable que es difícil de poner a un ladrón potencial.

En el trabajo, hemos estado utilizando con éxito enrutadores con puertos USB ZyXel Keenetic durante varios años (específicamente mi modelo Giga2 ya obsoleto). Después de que los desarrolladores del firmware "arruinaron" algo como OPKG (administrador de paquetes), fue posible convertir mi enrutador en una computadora personal con Linux con las más amplias posibilidades, que decidí usar para mi propósito. En total, ya teniendo en casa un enrutador de computadora con un módem 4G conectado, solo me faltaban los "ojos": una cámara USB. Recordando que compré una cámara web Logitech C270 para mis padres hace tres o cuatro años para su comunicación con familiares a través de Skype en una computadora y que ahora ya se comunican a través de una tableta, les solicité la cámara. Por cierto, hay un LED en el panel frontal de la cámara que muestra si la cámara está funcionando o no; en el futuro resultó ser muy conveniente para determinar visualmente el funcionamiento del sistema de videovigilancia.


Emparejar y configurar plancha


Entonces, hay hierro. Y lo que no puede sino alegrarse, mientras estamos dentro del presupuesto.
Hay dos puertos USB en mi enrutador, uno de los cuales ya estaba ocupado por un módem USB 4G. Usaremos la segunda colocando la cámara Logitech C270 allí. Para que el enrutador funcione con la cámara, primero debe instalar el componente OPKG en el enrutador (en este componente ponemos todas las marcas de verificación excepto "Módulos del núcleo para soportar sintonizadores USB DVB"). Pero hay un inconveniente: para que OPKG funcione en el enrutador, necesita espacio en disco (un gigabyte es suficiente para los ojos), pero ¿dónde puedo obtenerlo, porque los dos puertos USB en el enrutador ya están ocupados? Había dos posibles soluciones: un concentrador USB con una unidad flash USB (lo primero que se me ocurrió de inmediato) o el hecho de que puede colocar una tarjeta microSD en mi módem USB 4G. Y la vieja tarjeta microSD lenta de 8 gigabytes que se encuentra en casa fue inmediatamente al módem. Dejó el sistema de archivos en una tarjeta NTFS (aunque se recomienda EXT2 o EXT3). Cree la carpeta de instalación y cargue la imagen Entware deseada.

Luego vamos al panel de administración del enrutador, a la pestaña OPKG, seleccionamos nuestra tarjeta de memoria, en la línea "script initrc" escribimos

/opt/etc/init.d/rc.unslung 

y haga clic en Aplicar .
Después de instalar OPKG, el cliente SSH (uso el programa Putty en mi computadora portátil con Windows) se aferra al enrutador y ejecuta los siguientes comandos para actualizar OPKG:

 opkg update opkg upgrade 

Por defecto, en SSH, la contraseña de root es keenetic (o zyxel , dependiendo de la versión del firmware). Se recomienda encarecidamente que cambie la contraseña con el comando passwd .

Software


Luego, instale el programa de movimiento.

 opkg install motion 

Es ella quien trabajará con nuestra cámara, analizará el cambio en la imagen e instruirá al enrutador a dónde enviar la imagen recibida. El archivo de configuración del programa de movimiento es \ etc \ motion \ motion.conf, al editarlo cambiamos la configuración que necesitamos. En primer lugar, configuré la resolución máxima admitida por la cámara en 1280x720, la giré 180 grados (era más conveniente para mí poner la cámara al revés), grabando 2 cuadros por segundo.

 rotate 180 width 1280 height 720 framerate 2 

No vi la necesidad de grabar todo el flujo de video y transmitirlo a Internet, así que puse el movimiento para grabar video y transferirlo solo si la imagen cambia. En el proceso de configuración del movimiento, quedó claro que no es compatible con el modo MJPEG con mi cámara, sino que solo admite el modo YUYV, como resultado de lo cual el resultado del trabajo no es una secuencia de video, sino solo una secuencia de fotos JPEG.

 v4l2_palette 15 

También configuré el movimiento para que se copie una copia de las fotos en un servidor FTP externo.

 on_picture_save wput ftp://login:pass@XX.29.136.XX %f 

En el caso de que se saque un enrutador con una tarjeta de memoria del apartamento, aún habrá una oportunidad de ver cómo sucedió exactamente esto.

Se recomienda encarecidamente que cambie la contraseña de inicio de sesión para conectarse a su cámara.

 stream_authentication login:pass 

Después de todas las configuraciones, busque en el navegador el resultado en:

 IP:8081 


Atencion Si no vio ninguna imagen en el navegador, debe prestar atención a su versión de firmware Keenetic. Presumiblemente a partir de la versión de firmware 2.11.A.4.0-1, los módulos de video no se cargan de manera predeterminada, por lo que debe cargarlos en "plumas" "SSH" o agregarlos al script de inicio:

 /opt/sbin/insmod /lib/modules/3.4.113/i2c-core.ko /opt/sbin/insmod /lib/modules/3.4.113/i2c-dev.ko /opt/sbin/insmod /lib/modules/3.4.113/videodev.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-core.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-memops.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-vmalloc.ko /opt/sbin/insmod /lib/modules/3.4.113/v4l2-common.ko /opt/sbin/insmod /lib/modules/3.4.113/uvcvideo.ko 

Si la imagen no apareció incluso después de eso, primero que nada miramos los registros de Keenetic, qué sucede cuando la cámara está conectada. ¿Se detecta la cámara como un dispositivo de video, etc.

Gestión


Habiendo hecho todo este trabajo, surgió la idea de que necesitamos gestionar esto de alguna manera, es decir encender y apagar en el momento adecuado (y principalmente de forma remota). Resolví el problema instalando el cliente SSH en mi teléfono inteligente Android. Después de elegir los clientes SSH, se decidió por ScriptKitty. Al presionar dos o tres teclas en un teléfono inteligente, puede activar o desactivar el movimiento rápidamente.


Ejecución de movimiento a través de SSH:

 /opt/etc/init.d/K99motion restart 

Completando el movimiento a través de SSH:

 /opt/etc/init.d/K99motion stop 

Pero había una trampa más: una dirección IP "gris" en mi módem 4G. Al conectarse al enrutador a través de Wi-Fi, puede apagar o encender el movimiento sin ningún problema. Pero, ¿qué sucede si está fuera del Wi-Fi de su enrutador y su enrutador tiene una IP "gris"? Encontré el rescate en forma de VPN. El esquema es el siguiente: con mi enrutador doméstico, me aferro al enrutador en el trabajo con una IP estática usando un cliente PPTP (un servidor PPTP está instalado en el trabajo en el enrutador). Ahora, después de haber reenviado el puerto SSH del enrutador que funciona al hogar, finalmente puedo controlar mi cámara de forma remota accediendo a la dirección estática del enrutador en el trabajo desde mi teléfono inteligente.

También intenté automatizar el control usando la herramienta de automatización Tasker (tiene su propio cliente SSH separado) para monitorear la conexión del teléfono inteligente al enrutador Wi-Fi y activar o desactivar el movimiento dependiendo de esto. La lógica aquí es esta: el teléfono inteligente está conectado al enrutador Wi-Fi, así que estoy en casa, para apagar la cámara. El teléfono inteligente no está conectado al enrutador Wi-Fi, por lo que no estoy en casa, encienda la cámara. Pero después de experimentar, rechazó esta opción: hay demasiados falsos positivos. Por ejemplo, estoy en casa, el teléfono inteligente se quedó dormido, el enrutador perdió el teléfono inteligente, la cámara se encendió, bueno, etc. Actualmente solo uso el método manual.

Conclusión


En principio, lo que quería del proyecto era lo que obtuve. Puedo "ver" el apartamento cuando quiera, y en caso de que se active una alarma GSM, ya puedo decidir qué hacer a continuación. En el proceso de implementación, resolví un montón de problemas, pero su solución causó cierta emoción por el conocimiento adquirido y la implementación del plan.

Source: https://habr.com/ru/post/es420005/


All Articles