Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Veilige thuismonitoring met Home Assistant op Raspberry Pi: Beweging, alarm en videocapture

Een betrouwbaar thuissecurity-systeem implementeren op een Raspberry Pi met Home Assistant (HA) is eenvoudig zodra u de kerncomponenten begrijpt: een bewegingsensor, een alarm-paneel en camera-gebaseerde videocapture. Deze gids leidt u door de complete setup – van het bedraden van de HC-SR501 PIR-sensor tot het configureren van HA, het lanceren van mjpg-streamer en het versturen van directe e-mailalerts met foto's.

Vereisten

  • Raspberry Pi met Home Assistant draaiend (aanbevolen 0.101.3 of nieuwer)
  • HC-SR501 PIR-bewegingsensor
  • USB of CSI-camera (elke camera die werkt met mjpg-streamer)
  • Internet-verbonden e-mailaccount (bijv. Gmail) voor notificaties
  • Basiskennis van YAML en Docker (als HA in een container draait)

1. De HC-SR501 aan de Pi koppelen

De sensor heeft drie pinnen: VCC (+), GND (–) en OUT. Sluit ze als volgt aan:

  • VCC → Pin 5 (3,3 V)
  • GND → Pin 6 (Ground)
  • OUT → Pin 7 (GPIO 4)

Deze verbindingen staan HA toe de binaire staat van de sensor uit te lezen via het rpi_gpio-platform.

2. mjpg-Streamer installeren

Gebruik deze gids om mjpg-streamer en de optionele FFMpeg-recorder in te stellen. De scripts in de repository starten de stream en starten/stoppen opname op verzoek.

3. Home Assistant configureren

Open /usr/share/hassio/homeassistant/configuration.yaml (of uw HA-configmap). Voeg de volgende secties toe:

# Binaire sensor voor PIR
binary_sensor:
  - platform: rpi_gpio
    ports:
      7: Sensor HC-SR501
    invert_logic: false

# Handmatig alarm-paneel
alarm_control_panel:
  - platform: manual
    name: Home Alarm
    pending_time: 60
    delay_time: 40
    code: 1234

# Command-line switches voor mjpg-streamer-besturing
switch:
  - platform: command_line
    switches:
      start_stop_motion_rec_timelapse:
        friendly_name: 'Beweging timelapse opnemen'
        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"

# Shell-commando's voor custom scripts
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'

# E-mailnotificator (Gmail-voorbeeld)
notify:
  - name: ha_sendmail
    platform: smtp
    server: smtp.gmail.com
    port: 587
    timeout: 15
    sender: <uw-email>
    encryption: starttls
    username: <uw-email>
    password: <app-wachtwoord>
    recipient:
      - <uw-email>
    sender_name: My Home Assistant

Na bewerken, valideer de configuratie via Configuratie → Serverbesturing → Config controleren, herlaad daarna automatisering en scripts.

4. Automatiseringslogica

Maak de volgende automatisering in automation.yaml om de sensor, alarm en camera te koppelen.

# 1. Trigger wanneer armed_away en beweging gedetecteerd
- alias: 'Alarm activeren terwijl 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. Opname stoppen wanneer alarm ontwapenend
- alias: 'Opname stoppen wanneer alarm ontwapenend'
  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: 'Het alarm is ontwapenend op {{ states("sensor.date_time") }}'

# 3. Foto sturen bij alarmtrigger
- alias: 'E-mailalert bij alarmtrigger'
  trigger:
    - platform: state
      entity_id: alarm_control_panel.home_alarm
      to: 'triggered'
  action:
    - service: persistent_notification.create
      data:
        message: 'Alarm geactiveerd door bewegingsensor.'
    - delay: { seconds: 4 }
    - service: script.webcam_snapshot
    - service: notify.ha_sendmail
      data:
        title: 'Intruder alert'
        message: '{{now().strftime("%H:%M %Y-%m-%d")}}: Alarm geactiveerd door bewegingsensor.'
        data:
          images:
            - /config/camera/snapshot.jpg

Het script.webcam_snapshot moet takeSnapshotWebcam.sh aanroepen, dat een enkele frame vastlegt en opslaat als /config/camera/snapshot.jpg voor de e-mailbijlage.

5. Docker-volume-nota

Als HA in Docker draait, onthoud dan dat de container's /config-map gemapt is naar /usr/share/hassio/homeassistant op de host. Gebruik docker inspect homeassistant | less om volumekoppelingen te bevestigen.

6. Het systeem testen

  1. Wapen het alarm naar armed_away via de HA-UI.
  2. Activeer de PIR-sensor (bijv. door er langs te lopen).
  3. Controleer of mjpg-streamer start, de beweging-recorder een korte clip vastlegt en een e-mail met een snapshot ontvangen wordt.
  4. Ontwapen het alarm en bevestig dat opname stopt en een ontwapennotificatie verschijnt.

Conclusie

Met deze stappen hebt u een zelfstandige, laagkost thuissecurity-oplossing die bewegingsdetectie, alarmbesturing en directe fotalerts combineert – georchestreerd door Home Assistant op een Raspberry Pi.

Voel u vrij om de scripts en notificatie-instellingen aan te passen aan uw omgeving. Veel automatiseringsplezier!

Productieproces

  1. Bouw Een Raspberry Pi Temperatuur Logger Met Een $5 I2C Sensor
  2. Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
  3. Een Raspberry Pi-weerstation bouwen dat dagelijkse weergegevens e-mailt
  4. Hoe een DS1820 One-Wire temperatuursensor aan te sluiten op een Raspberry Pi via GPIO
  5. HC-SR04 ultrasoon-sensor aansluiten op Raspberry Pi 3 – Complete gids
  6. Een DIY Infrarood Bewegingssensor Bouwen voor Raspberry Pi – Stapsgewijze Handleiding
  7. Een Betaalbaar Draadloos Sensornetwerk Bouwen voor Uw Huis
  8. Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
  9. Een Headless Raspberry Pi 2 Wateralarm Bouwen met Adafruit T-Cobbler Plus
  10. Een Goedkope Raspberry Pi Grondvochtigheidssensor Bouwen voor Slimme Irrigatie
  11. Een Lineaire Hall-sensor Uitlezen met Raspberry Pi: Java-handleiding & ADC0832-inzichten