亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

树莓派 Home Assistant 安全监控:PIR 运动检测、报警面板与视频抓拍

在树莓派上部署 Home Assistant (HA) 实现可靠家庭安防,核心组件:运动传感器、报警面板、摄像头视频抓拍。本指南完整演示从 HC‑SR501 PIR 接线到 HA 配置、启动 mjpg‑streamer、发送带照片的即时邮件报警。

前置条件

1. HC‑SR501 接线

传感器三脚:VCC (+)、GND (–)、OUT。接法:

此连接使 HA 通过 rpi_gpio 平台读取传感器二进制状态。

2. 安装 mjpg‑Streamer

参考 此指南 部署 mjpg‑streamer 与可选 FFMpeg 录像。仓库脚本按需启动/停止流与录像。

3. 配置 Home Assistant

编辑 /usr/share/hassio/homeassistant/configuration.yaml (或你的 HA 配置目录),添加以下段:

# PIR 二进制传感器
binary_sensor:
  - platform: rpi_gpio
    ports:
      7: Sensor HC‑SR501
    invert_logic: false

# 手动报警面板
alarm_control_panel:
  - platform: manual
    name: Home Alarm
    pending_time: 60
    delay_time: 40
    code: 1234

# 命令行开关控制 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"

# 自定义脚本 Shell 命令
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'

# 邮件通知 (Gmail 示例)
notify:
  - name: ha_sendmail
    platform: smtp
    server: smtp.gmail.com
    port: 587
    timeout: 15
    sender: 
    encryption: starttls
    username: 
    password: 
    recipient:
      - 
    sender_name: My Home Assistant

编辑后通过 Configuration → Server Controls → Check Config 校验,随后重载自动化与脚本。

4. 自动化逻辑

在 automation.yaml 创建以下自动化串联传感器、报警、摄像头:

# 1. 布防离家模式下触发运动则报警
- 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. 撤防时停止录像
- 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. 报警触发发送照片邮件
- 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

script.webcam_snapshot 应调用 takeSnapshotWebcam.sh,抓取单帧保存为 /config/camera/snapshot.jpg 供邮件附件。

5. Docker 卷注意事项

HA 若运行在 Docker 容器中,容器 /config 映射宿主 /usr/share/hassio/homeassistant。用 docker inspect homeassistant | less 确认卷绑定。

6. 系统测试

  1. 通过 HA 界面将报警设为 armed_away。
  2. 触发 PIR 传感器 (如走过)。
  3. 验证 mjpg‑streamer 启动、运动录像捕获短片段、收到带快照邮件。
  4. 撤防报警确认录像停止、撤防通知出现。

结语

完成上述步骤,你将拥有自包含、低成本的家庭安防方案:运动检测、报警控制、即时照片报警,全由树莓派上 Home Assistant 编排。请按环境调整脚本与通知设置。自动化愉快!

制造工艺

  1. 树莓派+$5 I²C传感器打造温度记录仪
  2. 树莓派与 Python 构建远程温度传感器:分步实战指南
  3. 树莓派自制气象站:每日邮件推送温湿雨数据
  4. 树莓派 GPIO 直连 DS1820 单总线温度传感器指南
  5. 树莓派 3 接 HC‑SR04 超声波测距传感器完全指南
  6. 树莓派 DIY 红外运动传感器:从原理到代码的完整指南
  7. 打造低成本家庭无线传感器网络:Arduino + 树莓派 + Xively 物联网平台
  8. 树莓派 PIR 运动传感器控制 LED 实战指南
  9. 树莓派 2 无头模式水浸报警器:基于 Adafruit T‑Cobbler Plus 构建
  10. 树莓派低成本土壤湿度传感器:智能灌溉 DIY 指南
  11. 树莓派读取线性霍尔传感器:Java 指南与 ADC0832 深度解析
  12. 树莓派多传感器温度光照监测系统:DS18B20 实战构建