Construya una red de cámaras de seguridad Raspberry Pi

Build Raspberry Pi Security Camera Network



El módulo de cámara oficial de Raspberry Pi se puede utilizar como cámara de seguridad. Puede compartir la transmisión de video de la cámara en la red y acceder a ella de forma remota desde cualquier dispositivo en su red de área local (LAN).

Puede usar el reproductor multimedia VLC para compartir la transmisión de video en un puerto TCP y acceder a ella desde cualquier dispositivo en su red de área local (LAN) usando el reproductor multimedia VLC.







En este artículo, le mostraré cómo construir una cámara de seguridad Raspberry Pi y transmitir la transmisión de video de la cámara desde la Raspberry Pi usando el reproductor multimedia VLC.



¡Entonces empecemos!



Cosas que necesitará

Para seguir este artículo, necesitará lo siguiente:





  1. Raspberry Pi 3 o Raspberry Pi 4
  2. Módulo de cámara Raspberry Pi
  3. Adaptador de corriente Micro-USB (Raspberry Pi 3) o USB Type-C (Raspberry Pi 4)
  4. Tarjeta MicroSD de 16 GB o 32 GB con sistema operativo Raspberry Pi flasheado
  5. Conectividad de red en Raspberry Pi
  6. Computadora portátil o de escritorio para escritorio remoto VNC o acceso SSH a la Raspberry Pi.

NOTA : Si no desea acceder a su Raspberry Pi de forma remota a través de SSH o VNC, también debe conectar un monitor, un teclado y un mouse a su Raspberry Pi. No necesitaré ninguno de estos, ya que conectaré mi Raspberry Pi de forma remota a través de VNC o SSH. Mi configuración se llama configuración sin cabeza de Raspberry Pi.

Si necesita ayuda para actualizar la imagen del sistema operativo Raspberry Pi en la tarjeta microSD, consulte mi artículo: Cómo instalar y usar Raspberry Pi Imager.



Si es un principiante en Raspberry Pi y necesita ayuda para instalar el sistema operativo Raspberry Pi en su Raspberry Pi, consulte mi artículo: Cómo instalar el sistema operativo Raspberry Pi en Raspberry Pi 4 .

Si necesita ayuda con la configuración sin cabeza de Raspberry Pi, consulte mi artículo: Cómo instalar y configurar el sistema operativo Raspberry Pi en Raspberry Pi 4 sin monitor externo.

Si necesita ayuda para conectar el módulo de la cámara Raspberry Pi en Raspberry Pi, consulte mi artículo: Uso del módulo de cámara Raspberry Pi .

Habilitación del módulo de cámara Raspberry Pi

La interfaz de la cámara está deshabilitada de forma predeterminada en el sistema operativo Raspberry Pi. Puede habilitarlo desde la herramienta de configuración Raspberry Pi, raspi-config .

Inicie la herramienta de configuración Raspberry Pi con el siguiente comando:

$ sudo raspi-config

Seleccione Opciones de interfaz y presione .

Seleccione Cámara y presione .

Seleccione y presione .

prensa .

Seleccione y presione .

Seleccione y presione . Su Raspberry Pi debería reiniciarse y los cambios deberían aplicarse.

Instalación de VLC Media Player

VLC Media Player está disponible en el repositorio oficial de paquetes de Raspberry Pi OS. Por lo tanto, es fácil de instalar en el sistema operativo Raspberry Pi.

Primero, actualice la caché del repositorio de paquetes APT con el siguiente comando:

$ sudo apt actualización

Para instalar VLC Media Player, ejecute el siguiente comando:

$ sudo apt install vlc -y

Se debe instalar VLC Media Player. En mi caso, ya está instalado.

Creación de un servidor de cámara con VLC Media Player

los rasposo El comando se usa para grabar video desde el módulo de la cámara Raspberry Pi. He explicado cómo usar el rasposo comando para grabar un video usando Raspberry Pi en mi artículo Uso del módulo de cámara Raspberry Pi .

El VLC Media Player tiene un reproductor de línea de comandos cvlc . Puedes usar el cvlc comando para compartir una secuencia de video en un puerto TCP. En este caso, la transmisión de video del módulo de la cámara Raspberry Pi.

Para compartir la transmisión de video de la cámara Raspberry Pi en un puerto TCP usando el VLC Media Player, ejecute el siguiente comando:

$ rasposo -o - -t 0 -hf -w 1920 -h 1080 -fps 30 | cvlc -vvv flujo: /// dev / stdin
--sout '# estándar {acceso = http, mux = ts, dst =: 9000}': demux = h264

los rasposo El comando se usa para grabar el video desde el módulo de la cámara Raspberry Pi.

Aquí está el siguiente significado del comando a continuación:

  • El ancho del video será de 1920 píxeles.
  • La altura del video será de 1080 píxeles ( -h 1080 ).
  • El video se volteará horizontalmente ( -hf ).
  • El video se grabará a 30 cuadros por segundo ( -fps 30 ).
  • El video se grabará durante un número ilimitado de segundos ( -t 0 ).
  • La transmisión de video se imprimirá en el terminal en lugar de guardarla en el archivo ( -o – ).

Puede cambiar cualquiera de estas opciones como mejor le parezca.

los cvlc El comando se usa para abrir un puerto TCP y enviar la señal de video de la cámara Raspberry Pi en el puerto TCP.

La transmisión de video se toma de la entrada estándar ( flujo: /// dev / stdin ) de la terminal (usando una tubería | ).

VLC utilizará el códec TS para multiplexar ( –Sout ‘#standard {…, mux = ts,…}’ ) la alimentación de vídeo de entrada y el códec H264 para demultiplexar ( : demux = h264 ) la alimentación de vídeo de salida.

La transmisión de video estará disponible en el puerto HTTP 9000 ( –Sout ‘#standard {access = http,…, dst =: 9000}’ ).

Una vez que ejecute el comando y se complete el almacenamiento en búfer, puede transmitir el video desde cualquier dispositivo en la red usando el VLC Media Player.

Transmisión de la alimentación de la cámara desde el servidor de la cámara Raspberry Pi

Para acceder a la alimentación de la cámara desde otros dispositivos en su red doméstica (LAN), necesita conocer la dirección IP de su Raspberry Pi.

Puede encontrar la dirección IP de su Raspberry Pi en la interfaz de administración web de su enrutador doméstico. En mi caso, la dirección IP es 192.168.0.103. Será diferente para ti. Por lo tanto, asegúrese de reemplazarlo por el suyo a partir de ahora.

Si tiene acceso a la consola Raspberry Pi, también puede ejecutar el siguiente comando para encontrar la dirección IP.

$ nombre de host -I

Una vez que sepa la dirección IP de su Raspberry Pi, abra la aplicación VLC Media Player y vaya a Media > Abrir flujo de red… como se muestra en la captura de pantalla a continuación.

Escriba la URL del servidor de la cámara en el Ingrese una URL de red sección. En mi caso, la URL es http://192.168.0.103:9000 .

Una vez que haya escrito la URL, haga clic en Jugar .

El VLC Media Player debería comenzar a transmitir la transmisión de video desde la Raspberry Pi, como puede ver en la captura de pantalla a continuación.

Ahora, detenga el servidor de la cámara presionando + C .

Inicio del servidor de la cámara al arrancar el sistema

Iniciar manualmente el servidor de la cámara cada vez que arranca su Raspberry Pi no es muy práctico. Por lo tanto, podemos crear un servicio systemd para el servidor de la cámara que iniciará automáticamente el servidor de la cámara al arrancar.

Primero, crea un flujo de cámara HTTP. Servicio archivo en el / etc / systemd / system / directorio de la siguiente manera:

$ sudo nano /etc/systemd/system/camera-stream-http.service

Escriba las siguientes líneas en el camera-stream-http.service expediente.

[Unidad]
Descripción = Servidor de transmisión de cámara Raspberry Pi
Después = network.target
[Servicio]
WorkingDirectory = / home / pi
Entorno = APP_RES_WIDTH = 800
Entorno = APP_RES_HEIGHT = 450
Entorno = APP_RES_FPS = 24
Entorno = APP_PORT = 9000
ExecStart = / bin / bash -c 'raspivid -o - -t 0 -hf -w $ APP_RES_WIDTH -h
$ APP_RES_HEIGHT -fps $ APP_RES_FPS | cvlc -vvv flujo: /// dev / stdin
--sout '# estándar {acceso = http, mux = ts, dst =: $ APP_PORT}': demux = h264 '
StandardOutput = heredar
StandardError = heredar
Reiniciar = siempre
Usuario = pi
[Instalar en pc]
WantedBy = multi-user.target

Puede ajustar las siguientes variables de entorno para configurar el servidor de la cámara como mejor le parezca.

Entorno = APP_RES_WIDTH = 800
Entorno = APP_RES_HEIGHT = 450
Entorno = APP_RES_FPS = 24
Entorno = APP_PORT = 9000

Una vez que haya terminado, presione + X seguido por Y, y para salvar el camera-stream-http.service expediente.

Vuelva a cargar los demonios systemd para que los cambios surtan efecto de la siguiente manera:

$ sudo systemctl daemon-reload

Como puede ver, el cámara-stream-http El servicio systemd no se está ejecutando en este momento.

$ sudo systemctl status camera-stream-http.service

Puedes iniciar el cámara-stream-http servicio del sistema con el siguiente comando:

$ sudo systemctl iniciar camera-stream-http.service

los cámara-stream-http el servicio debe estar activo / en ejecución, como puede ver en la captura de pantalla a continuación. Entonces, cámara-stream-http el servicio systemd está funcionando.

$ sudo systemctl status camera-stream-http.service

Puede agregar el cámara-stream-http systemd service para el inicio del sistema de Raspberry Pi OS con el siguiente comando:

$ sudo systemctl habilitar camera-stream-http.service

Para que los cambios surtan efecto, reinicie su Raspberry Pi con el siguiente comando:

$ sudo reiniciar

Una vez que arranca tu Raspberry Pi, el cámara-stream-http El servicio systemd debería estar activo / en ejecución, como puede ver en la captura de pantalla a continuación.

$ sudo systemctl status raspi-home-automation.service

Conclusión

En este artículo, le he mostrado cómo construir una cámara de seguridad Raspberry Pi y acceder a la transmisión de video desde su red doméstica (LAN) usando el VLC Media Player. Si solo desea una configuración simple de la cámara de seguridad Raspberry Pi, este artículo debería ayudarlo a comenzar.