Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Surveillance domestique sécurisée avec Home Assistant sur Raspberry Pi : Mouvement, Alarme et Capture Vidéo

Prérequis

1. Câblage du HC‑SR501 sur le Pi

Le capteur a trois broches : VCC (+), GND (–) et OUT. Connectez-les ainsi :

Ces connexions permettent à HA de lire l'état binaire du capteur via la plateforme rpi_gpio.

2. Installation de mjpg‑Streamer

Suivez ce guide pour configurer mjpg‑streamer et l'enregistreur FFMpeg optionnel. Les scripts du dépôt lancent le flux et démarrent/arrêtent l'enregistrement à la demande.

3. Configuration de Home Assistant

Ouvrez /usr/share/hassio/homeassistant/configuration.yaml (ou votre dossier de config HA). Ajoutez les sections suivantes :

# Capteur binaire pour PIR
binary_sensor:
  - platform: rpi_gpio
    ports:
      7: Sensor HC‑SR501
    invert_logic: false

# Panneau d'alarme manuel
alarm_control_panel:
  - platform: manual
    name: Home Alarm
    pending_time: 60
    delay_time: 40
    code: 1234

# Interrupteurs en ligne de commande pour contrôler mjpg‑streamer
switch:
  - platform: command_line
    switches:
      start_stop_motion_rec_timelapse:
        friendly_name: 'Enregistrement timelapse mouvement'
        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"

# Commandes shell pour scripts personnalisés
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'

# Notificateur email (exemple Gmail)
notify:
  - name: ha_sendmail
    platform: smtp
    server: smtp.gmail.com
    port: 587
    timeout: 15
    sender: <votre-email>
    encryption: starttls
    username: <votre-email>
    password: <mot-de-passe-application>
    recipient:
      - <votre-email>
    sender_name: Mon Home Assistant

Après modification, validez la configuration via Configuration → Contrôles du serveur → Vérifier la config, puis rechargez automatisations et scripts.

4. Logique d'automatisation

Créez les automatisations suivantes dans automation.yaml pour lier le capteur, l'alarme et la caméra.

# 1. Déclenchement si armé absent et mouvement détecté
- alias: 'Déclencher alarme en mode absent'
  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. Arrêt enregistrement quand alarme désarmée
- alias: 'Arrêter enregistrement quand alarme désarmée'
  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: 'L\'alarme est désarmée à {{ states(\'sensor.date_time\') }}'

# 3. Envoi photo au déclenchement alarme
- alias: 'Alerte email au déclenchement alarme'
  trigger:
    - platform: state
      entity_id: alarm_control_panel.home_alarm
      to: 'triggered'
  action:
    - service: persistent_notification.create
      data:
        message: 'Alarme déclenchée par capteur de mouvement.'
    - delay: { seconds: 4 }
    - service: script.webcam_snapshot
    - service: notify.ha_sendmail
      data:
        title: 'Alerte intrusion'
        message: '{{now().strftime("%H:%M %Y-%m-%d")}}: Alarme déclenchée par capteur de mouvement.'
        data:
          images:
            - /config/camera/snapshot.jpg

Le script.webcam_snapshot doit invoquer takeSnapshotWebcam.sh, qui capture une seule image et la stocke sous /config/camera/snapshot.jpg pour la pièce jointe de l'email.

5. Note sur les volumes Docker

Si HA tourne dans Docker, rappelez‑vous que le dossier /config du conteneur correspond à /usr/share/hassio/homeassistant sur l'hôte. Utilisez docker inspect homeassistant | less pour confirmer les liaisons de volumes.

6. Test du système

  1. Armez l'alarme sur armed_away via l'interface HA.
  2. Déclenchez le capteur PIR (ex. en passant devant).
  3. Vérifiez que mjpg‑streamer démarre, l'enregistreur de mouvement capture un clip court, et qu'un email avec photo est reçu.
  4. Désarmez l'alarme et confirmez que l'enregistrement s'arrête et qu'une notification de désarmement apparaît.

Conclusion

Avec ces étapes, vous disposez d'une solution de sécurité domestique autonome, peu coûteuse, combinant détection de mouvement, contrôle d'alarme et alertes photo instantanées – le tout orchestré par Home Assistant sur un Raspberry Pi.

N'hésitez pas à adapter les scripts et paramètres de notification à votre environnement. Bonne automatisation !

Processus de fabrication

  1. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  2. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  3. Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
  4. Comment connecter un capteur de température DS1820 One‑Wire à un Raspberry Pi via GPIO
  5. Connexion du capteur ultrasonique HC‑SR04 au Raspberry Pi 3 : Guide complet
  6. Construire un capteur de mouvement infrarouge DIY pour Raspberry Pi – Guide étape par étape
  7. Construire un réseau de capteurs sans fil abordable pour votre maison
  8. Contrôler une LED avec un capteur de mouvement PIR sur Raspberry Pi
  9. Construire une alarme à eau headless Raspberry Pi 2 avec Adafruit T‑Cobbler Plus