電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Raspberry Pi上HA中的運動傳感器、警報、視頻錄制

Raspberry Pi上HA中的運動傳感器、警報、視頻錄制

2023-07-05 | zip | 0.37 MB | 次下載 | 免費

資料介紹

描述

我想告訴你我在 Raspberry pi 上使用 Home Assistant(以下簡稱 HA)的一點經(jīng)驗。

當然,其中一個原因是希望從您的評論中了解我在實施此方案時“做錯了什么”。

配置上述功能的方式有三種:“沒有問題”、“短”和“獨立”。在第一種情況下,您可以從網(wǎng)站https://ViaMyBox.com/downloadpage下載開發(fā)的圖像

對于您的 Raspberry pi,您可以在已配置的表單中查看所有內(nèi)容。在第二種情況下,您可以從站點或從 github 項目下載 zip,安裝它,然后通過實用程序 (sudo via-setup.sh) 安裝 HA docker 映像,以查看所有設(shè)置。最后,第三種方法是設(shè)置“一切都以你自己的方式”:從網(wǎng)站或 githab 項目或本教程中獲取有用的東西。您將在文章末尾找到所有這些內(nèi)容的鏈接。

假設(shè)您已經(jīng)有一個正在運行的家庭助理 (HA)。在本文中,我們將只考慮創(chuàng)建 yaml 配置和描述導(dǎo)致特定操作的規(guī)則和條件的順序方面。在我們的例子中,動作是“安全”模式的連接和腳本的觸發(fā),在運動傳感器激活后 5 秒內(nèi)開始拍照。因此,家庭助理通過郵件發(fā)送拍攝的照片。我不是 yaml 或為 Home Assistant 創(chuàng)建配置方面的專家,但按照工作示例,我得到了一個我想分享的工作配置。

我們將聯(lián)系的所有文件,我將在文章末尾列出以方便考慮。我們只會談?wù)摷彝ブ怼?/font>但是,如果您有任何問題 - 歡迎您!

最后,我的一切看起來像這樣(紅色突出顯示了我們將在文章中考慮的內(nèi)容):

pYYBAGOYeKaAYSH5AAC-2IX8DwA251.jpg
2612-2-1
?
pYYBAGOYeKyAXbf0AAEP-1VBSQg115.jpg
2612-1-1
?

自然,我使用樹莓派作為平臺。我的配置文件路徑是 /usr/share/hassio/homeassistant/ 。您的配置文件的路徑可能與我的路徑不同。那時,我有 Home Assistant 0.101.3。我們會對這個目錄下的配置文件感興趣:configuration.yaml 和automation.yaml。

每次更改這些文件后,請務(wù)必記住,您需要在我們更改后檢查配置,以了解其中可能出現(xiàn)的錯誤。這是在 Home Assistant 儀表板 -> 配置 -> 服務(wù)器控制 -> 檢查配置中完成的。然后,在同一個地方,如果檢查成功,我們會執(zhí)行重新加載自動化和重新加載腳本。而且,如果有疑問,服務(wù)器管理會在同一選項卡中重新啟動配置更新。

HC-SR501 運動傳感器連接到 Raspberry pi GPIO 總線。有必要將三個接觸線正確連接到 GPIO,我們將能夠使用我們的傳感器。傳感器具有三個觸點:電源 gcc (+)、零接地 (-)、控制觸點(數(shù)據(jù))。閱讀 GPIO 的描述后,我將它們連接到我的樹莓派,如下所示。我將 HC-SR501 連接到 GPIO 連接器:pir#2 – 5.5 vvcc;pin#26(13 行)——傳感器的數(shù)據(jù)觸點和 pin#6-GND (-)。

作為照片源,我將 USB 相機或 csi 相機與 mjpg-streamer 結(jié)合使用。畢竟,由您決定將哪個 bash 腳本附加到 HA。

現(xiàn)在讓我們在 configuration.yml 中描述我們的傳感器,比方說,通過命令行:

須藤納米/usr/share/hassio/homeassistant/configuration.yaml

雖然使用帶有winscp的notepad ++可能更方便..

讓我們描述 HC-SR501 的設(shè)置順序如下:

binary_sensor:
  - platform: rpi_gpio
    #name: HC-SR501
    ports:
      7: Sensor HC-SR501
    invert_logic: false

應(yīng)該注意的是,在描述與傳感器控制(數(shù)據(jù))觸點的連接的行中的設(shè)置起到了重要的作用:pin#7

端口

????? 7:傳感器HC-SR501

家庭助理有一個用于啟用家庭安全功能的內(nèi)置工具。讓我們在我們的 configuration.yaml 中描述它,使用描述:https ://www.home-assistant.io/integrations/manual/

 alarm_control_panel:
  - platform: manual
    name: Home Alarm
    pending_time: 60
     delay time 40
     triggered:
    pending_time: 0
    code: 1234

這個設(shè)置意味著我們有 60 秒的時間離開家(在這個時間之后,警報會打開),還有 40 秒的時間來關(guān)閉它(使用密碼 1234)當我們回家時。出于某種原因,你離開的時間總是比來的時間長。)

我們現(xiàn)在將描述在我們的 configuration.yaml 中觸發(fā)運動傳感器時啟用和禁用攝影的機制(有關(guān)開關(guān)的更多信息 - 命令行平臺可以在這里找到https://www.home-assistant.io/integrations/switch .command_line/):

 - platform: command_line
   switches:
      start_stop_motion_rec_timelapse:
        friendly_name: 'Record motion timelapse video'
        command_on: 'curl http://localhost/start_mjpgstrm.php  && curl http://localhost//rec-motion-mjpg.php'
        command_off: 'curl http://localhost/stop_mjpgstrm.php && curl http://localhost/rec-motion-mjpg-stop.php'

在這里,我們將 command_on enable 和 command_off disable 命令鏈接到控制攝像機記錄的腳本。在這種情況下,當您啟用 command_on 時,會依次執(zhí)行 2 個腳本。這將啟動 mjpg-streamer 并開始在運動傳感器上錄制。通過 Raspberry pi 上工作站點的 php 文件訪問 bash 腳本。為此,我設(shè)置了 nginx 和 web 訪問,當通過瀏覽器以 http://<樹莓派的 IP 地址>/start_mjpgstrm.php 訪問時,應(yīng)該執(zhí)行我們的 php 腳本。

我們不考慮在本文中設(shè)置 Web 訪問。顯然,這并不安全,但由于我在 docker 上有 HA,我面臨著一個事實,即我有一個孤立的 docker 環(huán)境。通過 php 訪問我的網(wǎng)站,我可以看到操作系統(tǒng)的“外部世界”。docker 或 HA 大師可能有很多正確的解決方案。請寫下來,知道會很有趣!?

我將把這些腳本的列表留在文章下面,我們不再贅述。在本文中,我只想關(guān)注 Home Assistant 中一系列動作的形成。

所有這些都放在 start_stop_motion_rec_timelapse 對象中,這將是我們的視覺開關(guān),當運動傳感器被觸發(fā)時,我們將使用它來管理照片的記錄。

poYBAGOYeK6AEnqhAAARKczJL5E544.jpg
?

我們將能夠在 Home Assistant-> Overview 選項卡中通過切換右上角的 Configure UI 配置模式的激活來可視化我們創(chuàng)建的這些對象

pYYBAGOYeLCAYY4OAAANXvYuhLA876.jpg
配置用戶界面
?

在瀏覽器中的“配置 -> 服務(wù)器控制”選項卡中預(yù)先重啟 HA,以獲取我們的 configuration.yaml。

接下來,選擇瀏覽器窗口底部的黃色加號,單擊實體卡并將我們創(chuàng)建的對象鏈接到地圖。

poYBAGOYeLKAPkDkAAAs65fxR1A494.png
?

對于我們的傳感器,請選擇傳感器卡。它看起來像這樣:

poYBAGOYeLWAcPqhAABcagsBlfw932.jpg
?

如圖所示,第二個實體字段包含上述開關(guān):switch.start_stop_motion_rec_timelapse。

它允許我們打開和關(guān)閉我們的運動傳感器記錄,無論是否啟用了“家庭安全”功能。而且,一般來說,它應(yīng)該在上述所有操作之后已經(jīng)工作。

?并且,相應(yīng)地,我們添加了報警面板圖:

poYBAGOYeLeAQk0FAABUhrBqnT8037.png
?

這里還有一個有趣的地方。我使用 Home Assistant 作為 docker 容器。在這方面,我們腳本的路徑將與腳本文件的實際路徑不同。畢竟,容器內(nèi)的文件結(jié)構(gòu)是虛擬化的,并通過 docker 掛載的卷鏈接到實際的文件結(jié)構(gòu)。例如,這看起來像這樣: 容器內(nèi)的路徑:/config/scripts/ 操作系統(tǒng)內(nèi)的路徑:/usr/share/hassio/homeassiatnt/scripts。所以看看你的容器的設(shè)置,這些卷是如何在 Binds 字段中配置的。如果你那里有 HA。

sudo docker inspect homeassistant|less

當運動傳感器被觸發(fā)時,在警報被激活的那一刻:我希望除了我們開始拍攝快速照片(timelapsesnapshots)之外,我還會收到郵件中的警告和一張照片。我并行化了這些過程。在第一種情況下,照片記錄(timelapsesnapshots)在傳感器觸發(fā)后的幾秒鐘內(nèi)發(fā)生。為此,我運行 mjpg-streamer curl http://localhost/start_mjpgstrm.php ,啟動 php:сurl http://localhost/rec-motion-mjpg.php反過來,它運行 python 腳本 mov.py。所有描述的文件和捆綁包都可以通過鏈接在文章末尾找到。另一個腳本 takeSnapshotWebcam.sh 拍攝了一張我通過電子郵件發(fā)送的照片。我在我們的 configuration.yml 中這樣描述這些腳本:

shell_command:
#start the script that generates a snapshot for the mailing list
  take_snapshot_webcam: '/config/scripts/takeSnapshotWebcam.sh'
#starting our mjpg-streamer 
  start_mgpg_streamer: 'curl http://localhost/start_mjpgstrm.php'
#stopping mjpg-streamer
  stop_mgpg_streamer: 'curl http://localhost/stop_mjpgstrm.php'
#start the script that generates snapshots for 5 seconds
  start_motion_rec: 'curl http://localhost/rec-motion-mjpg.php'
#stop it
  stop_motion_rec: 'curl http://localhost/rec-motion-mjpg-stop.php'

在描述我們的郵件對象的同一 configuration.yml 中:

notify:
  - name: ha_sendmail
    platform: smtp
#if mail is on gmail
    server: smtp.gmail.com
    port: 587
    timeout: 15
#from whom we send
    sender: user@gmail.com
    encryption: starttls
    username: user@gmail.com
    password: passwd
#to whom we send (you can use one box and send it to yourself, why not)
    recipient:
      - user@gmail.com
    sender_name: My Home Assistant

很重要的一點!為了讓我們的 HA 能夠連接和發(fā)送電子郵件(發(fā)件人字段),我們必須允許我們的 HA 服務(wù)在 gmail 上使用此郵箱。如何在此處執(zhí)行此鏈接:https ://myaccount.google.com/lesssecureapps

此外,我們描述了在automation.yaml 中啟用home_alarm 警報時的自動化機制本身:

#first action bundle (alias “triggered by sensor if security is enabled”
- alias: 'Trigger alarm while armed away'
#alias is triggered when the sensor is in the “on” position
  trigger: 
    - platform: state
      entity_id: binary_sensor.sensor_hc_sr501
      to: 'on'
#provided that the security mode is enabled in the absence of people at home “armed away”
  condition:
    - condition: state
      entity_id: alarm_control_panel.home_alarm
      state: armed_away
#and then performs the action 
  action:
#Running mjpg-streamer (if disabled)
    - service: shell_command.start_mgpg_streamer
#Running a script that records from the camera
    - service: shell_command.start_motion_rec
#Change the visualization of our "Home security" card on the HA panel to the “alarm triggered” position
    - service: alarm_control_panel.alarm_trigger
      entity_id: alarm_control_panel.home_alarm

下一組條件和操作是在“安全”關(guān)閉時發(fā)送控制臺消息并關(guān)閉我們的運動記錄腳本。

- alias: 'Send notification when alarm is 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') }}"

最后,第三個鏈接——發(fā)送帶有照片的電子郵件:

- alias: 'Send notification when alarm triggered'
  trigger: 
   - platform: state
     entity_id: alarm_control_panel.home_alarm
     to: 'triggered'
  action:
    - service: persistent_notification.create
      data:
       message: Notification when alarm triggered. Motion sensor HC-SR501 detected.
    - delay:
       seconds: 4
#run our script for creating a single script
    - service: script.webcam_snapshot
#and refer to the described object in configuration.yaml: notify.ha_sendmail
    - service: notify.ha_sendmail
      data:
        title: 'Intruder alert'
        message: '{{now().strftime("%H:%M %Y-%m-%d")}}:Notification when alarm triggered. Motion sensor HC-SR501 detected.'
        data:
           images:
#link to the script already made by the script.webcam_snapshot
              - /config/camera/snapshot.jpg

請記住,在 yaml 文件中,行標記很重要,命令前的空格字符在形成代碼塊及其結(jié)構(gòu)方面起著重要作用。通過 Home Assistant(以下簡稱 HA)配置 -> 服務(wù)器控制 -> 檢查配置檢查對 yaml 的所有更改

似乎都是。你的樹莓派變成了優(yōu)雅的東西!..)

這就是工作 HA 自動化,由您自己配置!一定要把你的想法寫給我!

而且,如果你讀到最后,這里是承諾的鏈接:

圖片和郵編:https ://viamybox.com/downloadpage

Github 項目:https ://github.com/viatc/viamybox

配置文件在此處描述:configuration.yaml、automation.yaml、takeSnapshotWebcam.sh、rec-motion-mjpg.php、mov.py

hc-sr501 ,家庭報警器,家庭助理,樹莓派, видеорегистрация , датчик движения , подключение сигнализации , умный дом

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費