YOLO11を使ったラズパイ監視カメラのsystemd自動起動設定方法

YOLO11を使ったラズパイ監視カメラのsystemd自動起動設定方法

こんにちは。AI coordinatorの清水です。

前回の記事で、ラズパイでYOLO11を使った物体検出を出来るようにして、さらにそのラズパイをflaskを使ってサーバー化してスマホからもアクセスできるようにしたので、今回はさらにこのラズパイを監視カメラ化して、ラズパイの電源入れると同時にpythonが起動する方法を紹介します。

前回の記事はこれです。

最新のソースコードはこちらです。物体検出したら画像を補完するようにしています。

https://github.com/ai-coordinator/RaspberryPi_yolo11

systemdを使った自動起動設定

前提条件として仮想環境の起動は
source ~/myenv/bin/activate
で構築しています。

スクリプトのパスは
myenv/test.py
です。

ラズパイのユーザー名は”pi”ではなく”ai”にしています。

1. 実行コマンドの確認

まず、仮想環境を有効化してスクリプトを実行するコマンドを確認します。

仮想環境を使う場合は activate を経由せず、仮想環境内の Python を直接呼び出すのが systemd では安全です。
たとえば:

2.systemd ユニットファイル作成

/etc/systemd/system/myenv-test.service というファイルを作成します。

内容はこんな感じです

さて、ここで保存した際に以下のエラーが発生しました。

Raspberry Pi のホスト名設定と /etc/hosts の内容がずれていると起きるようです。前回の記事でhost名を以下のように変更しているのが原因でした。

3.ホスト名解決方法

/etc/hosts を編集しましょー

中にこういう行があるはずです。

ここで raspberrypi を、先ほど hostname で確認した名前(例: aicamera01)に変更します。

編集が終了したら再起動しましょー。

再起動したらsystemdを反映します。

これで自動起動設定完了です。

4.動作確認しましょー

以下のコマンドで動作確認できます。

こんな感じにエラーが出ていなければ問題なく稼働しています。

自動起動を止める場合は

ここまで出来れば、ラズパイの電源を起動すれば、プログラムも自動起動するので、好きな場所でラズパイを設置すれば、あとはスマホで監視カメラとして映像を確認することや、対象の物体を検出したらその画像を補完しておくこともできます。

かなり便利なのでぜひ試してみてください。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

LEAVE A REPLY

*
*
* (公開されません)