masayasan が 2023年08月27日09時12分13秒 に編集
コメント無し
本文の変更
# 概要 RaspberryPi 4BにAgent DVRをインストールしてNVR(ネットワークビデオレコーダー)として使用します。 カメラは自身に接続してあるUSBカメラ ## 使用部品 RaspberryPi 4B 4GB(+PoEハット) USBカメラ(詳細不明) RTSP化したRaspberryPi +3B NPNトランジスタ*1 LEDランプ*3 タクトスイッチ*4 抵抗 330Ω*4 ## 使用ソフト RaspberryPi OS(64bit) Agent DVR # Raspberry ハード改造 下記の部品は無くても良いですが利便性を考慮して取付けました。 ・[PoEハット](https://www.amazon.co.jp/DSLRKIT-Raspberry-Ethernet-HAT-IEEE802-3af/dp/B07JPXR9ZN)増設 ・百均の名刺ケースを改造したケースに[FAN](https://akizukidenshi.com/catalog/g/gP-16826/)取付け ・ボタン及びLEDを取付けた自作基盤 ## 自作基盤作製 自分が作ったPythonプログラムを動作させる&動作確認用にタクトスイッチとLEDを取付け トランジスタはFANを動作させるために必要。FANが5V仕様なのでRaspberryPiのGPIO(3.3V)からは直接電源供給出来ません。 ### 回路図 
電源ON、OFFのスイッチとFAN制御のGPIOはディフォルトでGPIO3と14なので、そのまま接続。 その他のスイッチは録画スタートボタン及びストップボタンに使用する予定。 #Raspberry Piセットアップ ## Raspberry Pi OSインストール 公式のRaspberry Pi Imagerを使用してSDカードに64bit版のOSをインストールする。 32bit版だとAgent DVRが使用できない様です。 ## Agent DVRインストール [Agent DVR](https://www.ispyconnect.com/download.aspx)元々はiSpyというソフトだったみたいです。
リンク先にも記載されていますが、下記のコマンドをターミナルで入力するとインストールされます。 インストール前にパッケージのアップデートとアップグレードをしておきます。
<RaspberryPi ターミナルで実行> ``` sudo apt update && sudo apt upgrade sudo apt-get install curl bash <(curl -s "https://raw.githubusercontent.com/ispysoftware/agent-install-scripts/main/v2/install.sh") ``` インストール後、再起動すればNVRとして運用することが出来ます。
# 外部パソコンでAgent DVR動作確認① http://RaspberryPiのIPアドレス:8090/#Live をブラウザに入力 外部パソコンでなくてもRaspberryPi自身のブラウザを使用しても良い。ただCPU負荷が大きくなり遅延が発生するので外部から操作した方が良いと思います。  上の写真ではVNCでRaspberryPiの画面を表示させてます。
Agnet DVRをインストールした後でも、RaspberyyPiのデスクトップ環境は使用可能ですが、インストール前まで使用出来ていたカメラ(V1.3)が使用できなくなりました。 USBカメラはローカルデバイスとして選択して使用できる様です。
左側がUSBカメラ、右側はRTSP化したRaspberryPi+3Bの映像を映しています。
#自作Pythonプログラムの導入 Agent DVRはモーション検知がありますが、私の持ってるUSBカメラでは上手く動作してくれませんでした。 RTSP化したRaspberryPi+3Bだと対象物に動きがあると自動で録画してくれます。 録画のためにブラウザ開いて操作するのは面倒なのでボタン操作で録画できるようにします。
ついでに、ボタン操作電源ON・OFFしたりFANを自動で制御出来るように設定します。
## RaspberryPiの設定変更、config.txtを編集 まずはターミナルで下記コマンドを実行します。 ``` sudo raspi-config ```  I1のカメラを有効にしておきます。 
FANを選択。GPIOのピン番号と動作温度(60℃~)を設定できます。  設定完了したらraspi-configを閉じます。
次にはターミナルで下記コマンドを実行します。 ``` sudo nano /boot/config.txt ``` /boot/config.txt に下記を追記 ``` hdmi_force_hotplug=1 dtoverlay=vc4-fkms-v3d dtoverlay=ov5647 dtoverlay=gpio-shutdown,debounce=1000 dtparam=pwr_led_trigger=heartbeat ``` 'hdmi_force_hotplug=1'はRaspberryPiにモニタ接続してなくても外部パソコンでVNC接続をしてデスクトップ画面が表示できる様に。 'dtoverlay=vc4-fkms-v3d''dtoverlay=ov5647'カメラV1.3を使用できるようにする為の設定。 AgentDVRをインストールした後は使用できなくなった。 'dtoverlay=gpio-shutdown,debounce=1000' GPIO3をGNDと1000ms短絡させるとシャットダウンを行う。短絡させる時間は変更可能。 'dtparam=pwr_led_trigger=heartbeat'RaspberryPi動作中はRaspberryPiのランプを点滅表示させる。 RaspberryPiに電源投入するとLED点灯するが、動作してる時もしていない時も点灯しているので、動作状況が分かりづらい。