はじめに
以前に紹介した、「Raspberry Pi, Nano Piを使った3Dカメラ ネットワーク サーバーの構築方法」の続きになります。
今回は、実際にRaspberry Pi4で自動起動するための手順について説明します。他のSBCでも同様に使えると思いますので、参考になればと思います。
SBCには、あまり詳しくはないのでいろいろと調べてみました。
ライブラリパスの設定
自動起動するには、export LD_LIBRARY_PATH のように環境変数に毎回設定するのではなく、システム全体に設定します。
ここでは、ldconfigに登録します。
/etc/ld.so.conf.dに aerotap.conf を作成します。
sudo nano /etc/ld.so.conf.d/aerotap.conf
以下の行を記載して、保存します。( Raspberry Pi 32bitの場合)
/home/pi/cam2web-aeroTAP/src/core/cameras/aeroCAM/lib/linux_arm/
*64bitは、linux_arrch64を指定
ldconfig を実行して反映し、反映されていることを確認します。
sudo ldconfig
sudo ldconfig -p | grep aero
自動起動設定
自動起動の設定は、systemdを使います。
まず、/etc/systemd/system にcam2web.serviceを作成し、下記を記載します。
[Unit]
Description=cam2web
[Service]
Type=simple
WorkingDirectory=/home/pi/cam2web-aeroTAP/src/apps/linux
ExecStart=/usr/bin/bash -c 'sleep 30;/home/pi/cam2web-aeroTAP/src/apps/linux/cam2web -device:"aeroTAP 3D USB GS Camera"'
Restart=on-failure
StandardOutput=null
[Install]
WantedBy = multi-user.target
ExecStart= では、システム起動後30待機させています。
-device:"" は、接続しているカメラの名前を記載します。
以下のコマンドを実行して、正しく開始できるか確認します。
sudo systemctl start cam2web.service
以下のコマンドを実行して、正しく状態を確認します。
sudo systemctl status cam2web.service
正しく設定されていれば、これをsystemdに登録します。
sudo systemctl enable cam2web.service
以上で完了です。再起動してください。