Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Monitorización segura del hogar con Home Assistant en Raspberry Pi: Movimiento, alarma y captura de vídeo

Desplegar un sistema de seguridad doméstico fiable en una Raspberry Pi con Home Assistant (HA) es sencillo una vez que comprende los componentes clave: un sensor de movimiento, un panel de alarma y captura de vídeo basada en cámara. Esta guía le lleva a través de la configuración completa –desde cablear el sensor PIR HC‑SR501 hasta configurar HA, lanzar mjpg‑streamer y enviar alertas instantáneas por email con fotos.

Requisitos previos

1. Cableado del HC‑SR501 a la Pi

El sensor tiene tres pines: VCC (+), GND (–) y OUT. Conéctelos como sigue:

Estas conexiones permiten a HA leer el estado binario del sensor vía la plataforma rpi_gpio.

2. Instalación de mjpg‑Streamer

Use esta guía para configurar mjpg‑streamer y el grabador FFMpeg opcional. Los scripts en el repositorio lanzan el stream y inician/detienen la grabación bajo demanda.

3. Configuración de Home Assistant

Abra /usr/share/hassio/homeassistant/configuration.yaml (o su carpeta de configuración HA). Añada las siguientes secciones:

# Sensor binario para PIR
binary_sensor:
  - platform: rpi_gpio
    ports:
      7: Sensor HC‑SR501
    invert_logic: false

# Panel de alarma manual
alarm_control_panel:
  - platform: manual
    name: Home Alarm
    pending_time: 60
    delay_time: 40
    code: 1234

# Interruptores de línea de comandos para controlar mjpg‑streamer
switch:
  - platform: command_line
    switches:
      start_stop_motion_rec_timelapse:
        friendly_name: 'Record motion timelapse'
        command_on: "curl https://localhost/start_mjpgstrm.php && curl https://localhost/rec-motion-mjpg.php"
        command_off: "curl https://localhost/stop_mjpgstrm.php && curl https://localhost/rec-motion-mjpg-stop.php"

# Comandos shell para scripts personalizados
shell_command:
  take_snapshot_webcam: '/config/scripts/takeSnapshotWebcam.sh'
  start_mgpg_streamer: 'curl https://localhost/start_mjpgstrm.php'
  stop_mgpg_streamer: 'curl https://localhost/stop_mjpgstrm.php'
  start_motion_rec: 'curl https://localhost/rec-motion-mjpg.php'
  stop_motion_rec: 'curl https://localhost/rec-motion-mjpg-stop.php'

# Notificador por email (ejemplo Gmail)
notify:
  - name: ha_sendmail
    platform: smtp
    server: smtp.gmail.com
    port: 587
    timeout: 15
    sender: <your‑email>
    encryption: starttls
    username: <your‑email>
    password: <app‑password>
    recipient:
      - <your‑email>
    sender_name: My Home Assistant

Tras editar, valide la configuración vía Configuration → Server Controls → Check Config, luego recargue automatizaciones y scripts.

4. Lógica de automatización

Cree las siguientes automatizaciones en automation.yaml para vincular el sensor, la alarma y la cámara.

# 1. Disparar cuando armado away y se detecta movimiento
- alias: 'Trigger alarm while armed away'
  trigger:
    - platform: state
      entity_id: binary_sensor.sensor_hc_sr501
      to: 'on'
  condition:
    - condition: state
      entity_id: alarm_control_panel.home_alarm
      state: armed_away
  action:
    - service: shell_command.start_mgpg_streamer
    - service: shell_command.start_motion_rec
    - service: alarm_control_panel.alarm_trigger
      target:
        entity_id: alarm_control_panel.home_alarm

# 2. Detener grabación cuando la alarma se desarma
- alias: 'Stop recording when alarm disarmed'
  trigger:
    - platform: state
      entity_id: alarm_control_panel.home_alarm
      to: 'disarmed'
  action:
    - service: shell_command.stop_mgpg_streamer
    - service: shell_command.stop_motion_rec
    - service: persistent_notification.create
      data:
        message: 'The alarm is disarmed at {{ states(''sensor.date_time'') }}'

# 3. Enviar foto al disparar la alarma
- alias: 'Email alert on alarm trigger'
  trigger:
    - platform: state
      entity_id: alarm_control_panel.home_alarm
      to: 'triggered'
  action:
    - service: persistent_notification.create
      data:
        message: 'Alarm triggered by motion sensor.'
    - delay: { seconds: 4 }
    - service: script.webcam_snapshot
    - service: notify.ha_sendmail
      data:
        title: 'Intruder alert'
        message: '{{now().strftime("%H:%M %Y-%m-%d")}}: Alarm triggered by motion sensor.'
        data:
          images:
            - /config/camera/snapshot.jpg

El script.webcam_snapshot debe invocar takeSnapshotWebcam.sh, que captura un solo frame y lo guarda como /config/camera/snapshot.jpg para el adjunto del email.

5. Nota sobre volúmenes Docker

Si HA se ejecuta dentro de Docker, recuerde que la carpeta /config del contenedor se mapea a /usr/share/hassio/homeassistant en el host. Use docker inspect homeassistant | less para confirmar los bindings de volumen.

6. Prueba del sistema

  1. Arme la alarma a armed_away vía la UI de HA.
  2. Active el sensor PIR (p. ej., caminando frente a él).
  3. Verifique que mjpg‑streamer inicia, el grabador de movimiento captura un clip corto y se recibe un email con una instantánea.
  4. Desarme la alarma y confirme que la grabación se detiene y aparece una notificación de desarme.

Conclusión

Con estos pasos tiene una solución de seguridad doméstica autónoma, de bajo coste, que combina detección de movimiento, control de alarma y alertas fotográficas instantáneas –todo orquestado por Home Assistant en una Raspberry Pi.

Siéntase libre de adaptar los scripts y ajustes de notificación a su entorno. ¡Feliz automatización!

Proceso de manufactura

  1. Construya un registrador de temperatura con Raspberry Pi y sensor I2C de 5 $
  2. Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
  3. Construya una estación meteorológica con Raspberry Pi que envíe datos diarios por email
  4. Cómo conectar un sensor de temperatura DS1820 One‑Wire a Raspberry Pi usando GPIO
  5. Conexión del sensor ultrasónico HC‑SR04 a Raspberry Pi 3 – Guía completa
  6. Construya un Sensor de Movimiento Infrarrojo DIY para Raspberry Pi – Guía Paso a Paso
  7. Construya una Red de Sensores Inalámbrica Económica para su Hogar
  8. Controle un LED con Sensor PIR de Movimiento en Raspberry Pi
  9. Construya una Alarma de Agua Headless para Raspberry Pi 2 con Adafruit T‑Cobbler Plus
  10. Construya un Sensor de Humedad de Suelo de Bajo Coste para Riego Inteligente con Raspberry Pi
  11. Lectura de Sensor Hall Lineal con Raspberry Pi: Guía Java y Análisis del ADC0832