Raspberry PiのHAでのモーションセンサー、アラーム、ビデオ録画
RaspberrypiのHomeAssistantでモーションセンサー、アラーム、ビデオ録画を接続します。
Raspberry piでHomeAssistant(以下– HA)を使用した私の小さな経験についてお話ししたいと思います。さらに、ビデオ登録機能、モーションセンサー、およびそれに応じて、「セキュリティ」がトリガーされた場合に電子メールで写真を受信するホームセキュリティ機能を接続する方法について説明します。
もちろん、その理由の1つは、このシナリオを実装するときに私が「間違った」ことをレビューから理解したいという願望です。
上記の機能を構成するには、「問題なし」、「短い」、「独立」の3つの方法があります。最初のケースでは、開発した画像をサイトhttps://ViaMyBox.com/downloadpage
からダウンロードできます。Raspberry piの場合、すべてが構成済みのフォームでどのように表示されるかを確認できます。 2番目のケースでは、サイトまたはgithubプロジェクトからzipをダウンロードしてインストールし、ユーティリティ(sudo via-setup.sh)を介してHA Dockerイメージをインストールして、すべてがどのように設定されているかを確認できます。そして最後に、3番目の方法は、「すべてを独自の方法で」設定することです。サイトやgithabプロジェクト、またはこのチュートリアルから役立つものを取得します。このすべてへのリンクは、記事の最後にあります。
すでにHomeAssistant(HA)を実行していると仮定します。この記事では、yaml構成を作成し、特定のアクションにつながるルールと条件のシーケンスを説明する側面のみを検討します。この場合のアクションは、「セキュリティ」モードの接続と、モーションセンサーがアクティブ化されてから5秒以内に写真の撮影を開始するスクリプトのトリガーです。その結果、HomeAssistantはキャプチャした写真をメールで送信します。私はyamlやHomeAssistantの構成の作成の専門家ではありませんが、実際の例に従って、共有したい実際の構成を取得しました。
連絡するすべてのファイルは、より便利な検討のために記事の最後に配置します。この例では、ビデオ録画スクリプトがbashまたはpythonでどのように機能するかについては触れません。 HomeAssistantについてのみ説明します。ただし、ご不明な点がございましたら、どういたしまして!
結局、私はすべてがこのように見えるようになりました(赤で強調表示されているのは記事で検討する内容です):
当然、私はプラットフォームとしてRaspberrypiを使用します。そして、設定ファイルへの私のパスは/ usr / share / hassio / homeassistant /です。構成ファイルへのパスは、私のパスとは異なる場合があります。その時、私はHome Assistant0.101.3を持っていました。このディレクトリの構成ファイルに関心があります:configuration.yamlとautomation.yaml。
これらのファイルを変更するたびに、変更後に構成で発生する可能性のあるエラーを確認する必要があることを覚えておくことが重要です。これは、HomeAssistantダッシュボード-> [構成]-> [サーバーコントロール]-> [構成の確認]で実行されます。次に、同じ場所で、自動化のリロードと、チェックが成功した場合のスクリプトのリロードを実行します。また、疑わしい場合は、サーバー管理がまったく同じタブで構成の更新を再開します。
HC-SR501モーションセンサーはRaspberrypiGPIOバスに接続されています。 3本の接点線をGPIOに正しく接続する必要があり、センサーを実際に使用できるようになります。センサーには、電源gcc(+)、ゼロgnd(-)、制御接点(データ)の3つの接点があります。 GPIOの説明を読んだ後、次のようにラズベリーに接続しました。 HC-SR501をGPIOコネクタに接続しました:pir#2 – 5.5 vvcc;ピン#26(13行)–センサーのデータ接点とピン#6-GND(–)。
写真のソースとして、私はUSBカメラまたはcsiカメラをmjpg-streamerと組み合わせて使用します。この投稿では、Raspberrypiにmjpg-streamerをインストールして構成する方法については説明しません。インターネットへのクイックインストールの例はたくさんあります。ただし、私はこのプロジェクトのデータを使用していると言いたいです。https://github.com/cncjs/cncjs/wiki/Setup-Guide:-Raspberry-Pi-%7C-MJPEG-Streamer-Install-&-Setup-& -FFMpeg-Recordingこのモジュールのインストールについても詳しく説明されています。または、写真やビデオを取得するのに便利な方法を使用してください。結局のところ、HAにアタッチするbashスクリプトを決定するのはあなた次第です。
たとえば、コマンドラインを使用して、configuration.ymlでセンサーについて説明しましょう。
sudo nano /usr/share/hassio/homeassistant/configuration.yaml
ただし、winscpでnotepad ++を使用する方が便利な場合があります。
HC-SR501の設定手順を次のように説明しましょう。
binary_sensor:-プラットフォーム:rpi_gpio #name:HC-SR501ポート:7:センサーHC-SR501 invert_logic:false
ここで重要な点は、センサーの制御(データ)接点への接続を説明する行の設定によって演じられることに注意してください:ピン#7
ポート:
7:センサーHC-SR501
Home Assistantには、ホームセキュリティ機能を有効にするためのツールが組み込まれています。次の説明を使用して、configuration.yamlで説明しましょう:https://www.home-assistant.io/integrations/manual/
alarm_control_panel:-プラットフォーム:手動名:ホームアラームpending_time:60遅延時間40トリガー:pending_time:0コード:1234
この設定は、家を出るのに60秒(この時間の後、アラームがオンになります)、家に帰るときにオフにするのに40秒(パスワード1234)があることを意味します。何らかの理由で、あなたはいつもあなたが来るより長く去ります。)
ここで、configuration.yamlでモーションセンサーがトリガーされたときに写真を有効または無効にするメカニズムについて説明します(スイッチの詳細については、command_lineプラットフォームはhttps://www.home-assistant.io/integrations/switchにあります。 .command_line /):
-プラットフォーム:command_lineスイッチ:start_stop_motion_rec_timelapse:friendly_name: 'モーションタイムラプスビデオの記録' 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_onenableコマンドとcommand_offdisableコマンドを、カメラの記録を制御するスクリプトにリンクしています。この場合、command_onを有効にすると、2つのスクリプトが順番に実行されます。これにより、mjpg-streamerが開始され、モーションセンサーでの記録が開始されます。 bashスクリプトへのアクセスは、Raspberrypiの作業サイトのphpファイルを介して行われます。これを行うには、nginxとWebアクセスを設定し、ブラウザからhttp://
この記事では、Webアクセスの設定については考慮していません。明らかに、これは安全ではありませんが、DockerにHAがあるため、Docker環境が分離されているという事実に直面しています。そして、php経由で自分のサイトにアクセスすることで見ることができるOSの「外界」。 DockerまたはHAの第一人者からの適切なソリューションがおそらくたくさんあります。書いてください、知っておくと面白いでしょう!
これらのスクリプトのリストは記事の下に残しておきますが、それらについては詳しく説明しません。この記事では、HomeAssistantでの一連のアクションの形成のみを追跡したいと思います。
これらはすべてstart_stop_motion_rec_timelapseオブジェクトに配置されます。これは、モーションセンサーがトリガーされたときに写真の記録を管理するビジュアルスイッチになります。
右上隅にある[UI構成モードの構成]のアクティブ化を切り替えることで、[ホームアシスタント]-> [概要]タブで作成したこれらのオブジェクトを視覚化できます
ブラウザの[設定]-> [サーバー制御]タブでHAを事前に再起動して、configuration.yamlを取得します。
次に、ブラウザウィンドウの下部にある黄色のプラス記号を選択し、エンティティカードをクリックして、作成したオブジェクトをマップにリンクします。
センサーには、センサーカードを選択してください。次のようになります:
写真でわかるように、2番目のエンティティフィールドには、上記のスイッチ、switch.start_stop_motion_rec_timelapseが含まれています。
これにより、「ホームセキュリティ」機能が有効になっているかどうかに関係なく、モーションセンサーの記録のオンとオフを切り替えることができます。そして、一般的には、上記のすべてのアクションの後ですでに機能しているはずです。
そして、それに応じて、アラームパネルマップを追加します:
ここにもう一つ興味深い点があります。私はHomeAssistantをDockerコンテナとして使用しています。この点で、スクリプトへのパスは、スクリプトファイルへの実際のパスとは異なります。結局のところ、コンテナー内のファイル構造は仮想化され、Dockerにマウントされたボリュームを介して実際のファイル構造にリンクされます。これは、たとえば、次のようになります。コンテナ内のパス:/ config / scripts / OS内のパス:/ usr / share / hassio / homeassiatnt / scripts。したがって、コンテナの設定、これらのボリュームが[バインド]フィールドでどのように構成されているかを確認してください。そこにHAがある場合。
sudo docker inspect homeassistant | less
モーションセンサーがトリガーされたとき、アラームが作動した瞬間:クイック写真(timelapsesnapshots)の撮影を開始することに加えて、メールと写真で警告を受信するようにしたいと思います。プロセスを並列化しました。最初のケースでは、センサーがトリガーされてから数秒以内に写真ログ(timelapsesnapshots)が発生します。これを行うには、mjpg-streamer curl http://localhost/start_mjpgstrm.phpを実行し、phpを開始します:сurlhttp://localhost/rec-motion-mjpg.php。次に、Pythonスクリプトmov.pyを実行します。説明されているすべてのファイルとバンドルは、記事の最後にあるリンクから入手できます。また、別のスクリプトtakeSnapshotWebcam.shは、私が電子メールで送信した写真を撮ります。これらのスクリプトをconfiguration.ymlで次のように説明します:
shell_command:#メーリングリストのスナップショットを生成するスクリプトを開始します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'#5秒間スナップショットを生成するスクリプトを開始します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内:
通知:-名前:ha_sendmailプラットフォーム:smtp#メールがGmailサーバーにある場合:smtp.gmail.comポート:587タイムアウト:15#送信者の送信元: [メール保護]暗号化:starttlsユーザー名:[メール保護]パスワード:送信先のpasswd#(1つのボックスを使用して自分宛に送信できます)受信者:-[メール保護] sender_name:My Home Assistant コード>
重要なポイント! HAが接続してメール(送信者フィールド)を送信できるようにするには、HAサービスがGmailでこのメールボックスを使用できるようにする必要があります。これを行う方法-リンクはこちら:https://myaccount.google.com/lesssecureapps
さらに、automation.yamlでhome_alarmアラームを有効にする場合の自動化メカニズム自体について説明します:
#first action bundle(エイリアス「セキュリティが有効になっている場合はセンサーによってトリガーされます」-エイリアス: '武装中にアラームをトリガーします' #aliasは、センサーが「オン」位置トリガー:-プラットフォーム:状態entity_id:binary_sensor.sensor_hc_sr501から: 'オン'#自宅に人がいない場合にセキュリティモードが有効になっている場合「武装」状態:-状態:状態entity_id:alarm_control_panel.home_alarm状態:armed_away#そしてアクションアクションを実行します:#mjpg-streamerの実行(無効の場合)-サービス:shell_command.start_mgpg_streamer#カメラから記録するスクリプトの実行-サービス:shell_command.start_motion_rec#「ホームセキュリティ」の視覚化を変更します「HAパネルのカードを「アラームトリガー」位置に設定します-サービス:alarm_control_panel.alarm_trigger entity_id:alarm_control_panel.home_alarm
次の一連の条件とアクションは、「セキュリティ」がオフになっているときにコンソールメッセージを送信し、モーション記録スクリプトをオフにすることです。
-エイリアス: 'アラームが解除されたときに通知を送信する'トリガー:-プラットフォーム:状態entity_id:alarm_control_panel.home_alarm宛先: '解除された'アクション:-サービス:shell_command.stop_mgpg_streamer --service:shell_command.stop_motion_rec --service:persistent_notification.create data:message:アラームは{{states( 'sensor.date_time')}} "
で解除されます
そして最後に、3番目のリンク-写真付きのメールを送信します:
-エイリアス: 'アラームがトリガーされたときに通知を送信する'トリガー:-プラットフォーム:状態entity_id:alarm_control_panel.home_alarm to: 'トリガーされる'アクション:-service:persistent_notification.create data :メッセージ:アラームがトリガーされたときの通知。モーションセンサーHC-SR501が検出されました。 -遅延:秒:4#単一のスクリプトを作成するためのスクリプトを実行します-サービス:script.webcam_snapshot#そしてconfiguration.yamlで説明されているオブジェクトを参照します:notify.ha_sendmail-サービス:notify.ha_sendmailデータ:タイトル: '侵入者アラート'メッセージ: '{{now()。strftime( "%H:%M%Y-%m-%d")}}:アラームがトリガーされたときの通知。モーションセンサーHC-SR501が検出されました。 data:images:#script.webcam_snapshotによってすでに作成されたスクリプトへのリンク-/ config / camera / snapshot.jpg
yamlファイルでは、行のマークアップが重要であり、コマンドの前のスペース文字がコードブロックとその構造を形成する上で重要な役割を果たすことを忘れないでください。 Home Assistant(以下、HA)の構成->サーバーコントロール->構成の確認
を使用して、yamlへのすべての変更を確認します。すべてのようです。そして、あなたのラズベリーパイはエレガントなものに変わります!..)
ここにあります — 自分の手で構成された、動作するHA自動化!あなたがそれについて考えるすべてを私に書いてください!
そして、結局あなたが最後まで読んだなら、ここに約束されたリンクがあります:
画像とzip:https://viamybox.com/downloadpage
Githubプロジェクト:https://github.com/viatc/viamybox
構成ファイルについては、configuration.yaml、automation.yaml、takeSnapshotWebcam.sh、rec-motion-mjpg.php、mov.py
で説明しています。hc-sr501、ホームアラーム、ホームアシスタント、ラズベリーパイ、видеорегистрация、датчикдвижения、подключениесигнализации、умныйдом
未分類
出典:モーションセンサー、アラーム、RaspberryPiのHAでのビデオ録画
製造プロセス