Ubuntu Core2Duoノート UVCウェブカムで防犯カメラ

ウェブカムで防犯カメラ
手持ちの古いノートパソコンとウェブカムを使い店内防犯カメラ的な事をします。暗視カメラ機能があればもっと可能性が広がりますが、店内カメラとして使うのであればかなり重宝します。
参考までにスペックです。
Dell Vostro 1500 Intel Core 2 Duo/DDR2・4GB/SATA40GBクラシカルディスク(SSDではなし)
Buffalo BSWHD06MウェブカムはUVCに対応していると認識に躓きません。

OS:Ubuntu Desktop 22.4.2
Apps: mjpg-streamer
Network: WIFI(中継器から2m以内に設置でノート付属のWIFIアダプタ使用)FPS・フレームレートが著しく低い様でしたら有線かUSBWIFIアダプタの使用をオススメします。
ノートPCは可能ならばCD・DVDは外した方が起動時間がマシでした。
Ubuntu Desktopをインストールしたところからのスタートですが、自動ログインは有効にしておいてください。またインストール時に入力した「コンピュータネーム」が必要です。

USBの認識状態を確認します

$ sudo lsusb
手持ちのウェブカムがリスト入りしていればとりあえずはOKと判断
opensshをインストールしてWindowsからリモートで操作します
$ sudo apt update
$ sudo apt install openssh-server
rootでのログインを防ぐ←セキュリティ的にマシ(FTPを使っていた頃にハッキングを受けた経験があります。当時はrootでのログインを許可していたため壊滅的な被害を受けました)
$ sudo vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password←”#”コメントアウト
ssh自動起動設定と起動
$ sudo systemctl enable ssh
$ sudo systemctl start ssh

ここからWindowsからリモートでdell Vostro 1500 にログイン

ssh ユーザー名@コンピュータネーム
mjpg-streamerのインストールに必要なアプリ等をインストールします。
$ sudo apt-get update
$ sudo apt-get install -y subversion libjpeg-dev imagemagick
$ sudo apt-get install -y cmake libv4l-dev
mjpg-streamerを/home/ユーザー名/配下にインストール。
$ sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ sudo make
$ sudo make install
起動スクリプトをmjpg-streamer-experimentalディレクトリに作成
$ sudo vim mjpg-start.sh

以下をコピペ

!/bin/shPORT=”8090″ #使用ポート
ID=”user” #ID
PW=”password” #パスワード
SIZE=”640×360″ #サイズ指定でHDやSXGA表記可
FRAMERATE=”10″ #​1秒あたりのフレームレート
export LD_LIBRARY_PATH=/usr/local/lib
./mjpg_streamer \
-i “input_uvc.so -f $FRAMERATE -r $SIZE -d /dev/video0 -n” \
-o “output_http.so -w /usr/local/share/mjpg-streamer/www -p $PORT -c $ID:$PW”
ここまで

スクリプトの中に「./mjpg_streamer」という記述があります。mjpg-streamer/mjpg-streamer-experimentalのディレクトリ以外では起動できないので注意(他で使う場合は親ディレクトリからの記述が必要)。また当然ながらID・PWは適宜変更してください。
とりあえず起動
$ sudo sh mjpg-start.sh
ErrorがでてなければOKとします。
自機からならhttp://localhost:8090にアクセス。
リモートなら当該コンピュータネームhttp://コンピュータネーム:8090で
ネームサービスが動いてない場合は、net-toolsとnetworkmanagerをaptで入れてみて下さい。
余談ですがip6に置き換わっているのでネームサービスがかなり使える様になってます。
ip4を使い慣れていた私にとってはまるで魔法のようです。
確認が終わったら停めます
Ctrl+c

自動起動設定用のサービススクリプト作成
dell Vostro 1500は障害発生時以外はメンテナンス要らずにしたいので自動起動にします。
$ sudo vim /etc/systemd/system/mjpg_streamer.service

ここからコピペ
[Unit]
Description=WebIOPI
After=syslog.target
[Service]
Type=simple
WorkingDirectory=/home/ユーザー名/mjpg-streamer/mjpg-streamer-experimental/
ExecStart=/home/ユーザー名/mjpg-streamer/mjpg-streamer-experimental/mjpg-start.sh
TimeoutStopSec=5
StandardOutput=null
[Install]
WantedBy = multi-user.target
ここまで

→環境に合わせて書き換える必要があります。
元スクリプトの権限をサービス起動可能な権限に変更←mjpg_streamer.serviceは権限変更しません
$ sudo chmod 744 /home/ユーザー名/mjpg-streamer/mjpg-streamer-experimental/mjpg-start.sh
サービスをスタート
$ sudo systemctl start mjpg_streamer
サービスの状態を確認
$ sudo systemctl status mjpg_streamer
自動起動の有効化
$ sudo systemctl enable mjpg_streamer
必要に応じてログを確認
$ sudo less /var/log/syslog

ノートパソコンの蓋を閉じても電源休止状態(suspend)にならないようにします。
$ sudo vi /etc/systemd/logind.conf
HandleLidSwitch=ignoreを最終行に追加
当該サービスの再起動
$ sudo systemctl restart systemd-logind.service
PC再起動
$ sudo restart
余っている部品とアクリル板で防犯カメラ用のPCを増やしています。