防犯カメラをRaspberry Piで作る
はじめてRaspberry Pi(ラズパイ)を使って何かを始める時、
何から始めようか悩みますね。
そこで、おすすめするのは防犯カメラです。
なぜなら、一通りのプログラムを作る経験ができて
一気にスキルアップする事ができます。
Webカメラは身近にあり、価格も安く手に入ります。
プログラミングしながら動作が確認できる
防犯カメラを作ることができると基本的なプログラミングが
できるようになっています。
ここでは、防犯カメラを作りながらラズパイでプログラミングの
楽しさを体験できることを目的としています。
監視カメラを作るためステップ毎に、解説しながらすすめていきます。
プログラム言語は、PYthonを使います。
はじめてラズパイをはじめる方へ楽しさが伝われば幸いです。
『さあ、ラズパイ始めう!』
これからはじまる、『ゼロからはじめる』ラズパイを楽しみましょう。
防犯カメラを作ろう
防犯カメラを作るため順番に解説していきます。
Step毎に分けて、確認しながら進めていきます。
【項目】
Step1.Raspberry Pi選び
Step2.ラズベリーパイOSをインストールする
Step3.はじめてラズパイ起動する時の初期設定
Step4.プログラム言語、Pythonを使ってみる
Step5.Webカメラを使って映像を取り込む
Step6.カメラ映像を保存する
Step7.防犯カメラのプログラミング
Step8.24時防犯視カメラの完成
Step1.Raspberry Pi の購入
Raspberry Pi(ラズパイ)本体を選ぶ
はじめに、Raspberry Pi(ラズパイ)を使っていくため、
Raspberry Pi(ラズパイ)本体を選びます。
Raspberry Pi(ラズパイ)には、たくさんの種類があります。
【Raspberry Pi 4B】
高性能搭載CPU クワッドコア1.4GHz
Wifi、Bluetooth、USB3.0搭載など
フルスペック満載
参考価格は9,506円~10,456程度
【Raspberry Pi Zero、Pico】
シングルコアCPU1GHz
Wifi、Bluetooth、USBなし
など小型で最低限のスペック
参考価格は1,760円~2,508程度
上記以外にも様々な種類があります。
用途にあったもを選ぶ必要があります。
ラズパイの種類は、
こちらの記事を参考にしてみてください
ここでは、色々な事をやっていきますので
スペックが高く拡張性がある「Raspberry Pi 4B」
を使用していきます。
Raspberry Piに必要な周辺機器をそろえる
Raspberry Pi(ラズパイ)本体が用意出来たら
プログラミングするために必要な周辺機器をそろえる必要があります。
プログラムを入力する「キーボード」
画面を写す「モニタ」が必要になります。
【必要なもの】
①Raspberry Pi 4B 本体
②Raspberry Pi 4 専用ケース
③MicroSDカード 32GB以上
④MicroSDカードリーダー
⑤電源アダプタ(5V/3A)
⑥ミニHDMIケーブル
⑦キーボード
⑧マウス
⑨モニタ
上記の周辺機器が必要になります。
一気に、すべてそろえるのは大変です。
はじめての時は、①~⑥まで一通りそろった
スターターキット
を購入すると便利です。
こちらは、
PSE認証のスターターキットですので安心です。
こちらのTRASKIT(PSE認証)スターターキットの中身は
こちらの記事を参考にしてみてください
必要な機材がそろったら、
いよいよラズパイをつかってみます。
Step2.ラズベリーパイOSをインストールする
ラズパイOSをMicroSDカードにインストールする
Raspberry Pi(ラズパイ)を初めて使う方は
MicroSDカードにラズパイOSをインストールする
必要があります。
簡単に説明すると
Windowsを使う時にWindowsOSをインストールします
それと考え方は同じです。
ラズパイを使うには、
ラズパイOSをインストールすることからはじめます。
普段使っているパソコンを使います。
Windows、マック、どちらでも作成できます。
パソコンにRaspberry Pi Imagerをインストールして
MicroSDカードにラズパイOSをインストールします。
Raspberry Pi Imagerアプリで
ラズパイOSをインストールしていきます。
こちらの記事で、
ラズパイOSをインストールの詳しい解説をしています。
microSDカードに、
ラズパイOSがインストールできたら
ラズパイ本体にmicroSDカードを挿入します。
次に、ラズパイ本体に周辺機器を
接続します。
①キーボード、マウスをUSBに挿します
②モニタに接続するミニHDMIケーブルを挿します
③TYPE-Cの電源を挿します
これで
ラズパイに電源を入れる準備が整いました。
Step3へ移ります。
ラズパイOSがMicroSDカードにインストール済の場合
Raspberry Pi 4B スターターキットを購入された方は
MicroSDカードにOSがインストールされており
そのまま、ラズパイ本体に挿入しすれば
ラズパイOSが起動してすぐに使えます。
Step3へ移ります。
Step3.はじめてラズパイ起動する時の初期設定
電源を入れる準備が整いました。
では、電源を入れましょう。
電源を入れるとラズパイOSが起動します。
ラズパイOSをインストールして
はじめの電源投入して起動する時、
15分~20分ぐらいの時間がかかります。
しばらくすると、
初期設定の画面が表示されます。
次の順番に表示されるため順番に設定していきます。
【初期設定】
①言語設定
②キーボード設定
③ログインユーザー名&パスワード設定
④モニタ画面調整設定
⑤ネットワーク設定
初期設定の設定方法は、こちらの記事に詳しく解説しています
参考にしてみてください。
初期設定がすべて終わると
夕方の景色の画面が表示されます。
ラズパイOSが正常に起動しました。
これでプログラミングができます。
<夕方の景色が表示されなかった場合>
再度、電源を入れなおし再起動してみましょう。
再起動しても起動しない場合は、
ラズパイOSインストールが正常に行われていないため
再度、ラズパイOSのインストール」を行いましょう。
これからプログラミングを
始めていきます。
Step4へ移ります。
Step4.プログラム言語、Pythonを使ってみる
ラズパイのプログラミング言語は、
Python(パイソン)を使います。
Python(パイソン)は、
プログラミング言語の中でも文法が分かりやすく、
初心者に向いています。
Pythonを使うと、いろいろなことができます。
【Pythonを使ってできること】
・センサーのデータ収集して分析
・カメラ画像分析
・AI学習プログラミング
・サーバー機能
・Webアプリ開発
分析、AI学習、Web開発など
様々な用途で使うことができます。
『Thonny』エディタの使い方
はじめは簡単なプログラミングからはじめてのいきましょう。
ラズパイのプログラミングするために標準で入っている
エディタ『Thonny』を使っていきます。
『Thonny』エディタの使い方は詳しく解説しています。
こちらの記事を参考にしてみてください
はじめてのプログラミング
はじめに簡単なプログラミングから始めてみます。
簡単なprint文を使ってみます。
『Thonny』エディタを使い次のように入力します。
print("Let's start with")
結果は次のように表示されます。
Let’s start with
とプリントされています。
このようにPython言語をつかいプログラミングをしていきます。
Step5.Webカメラを使って映像を取り込む
次は、webカメラを使い映像をモニタに映してみます。
webカメラの映像を取り込むには
『OpenCV』画像処理ライブラリを使います。
ライブラリはオープンソースで公開されており
自由に使う事ができます。
商用目的の場合注意が必要な場合があります
ライブラリを使うことで画像処理、AI処理、分析など
プログラミングが簡単になります。
画像処理ライブラリ『OpenCV』を使い
webカメラの映像を取り込み保存をしていきます。
『OpenCV』をインストールする
OpenCVは、コマンドラインからインストールを行います。
インターネットに接続された状態で行ってください。
左上のタスクバーにある黒い四角があります
これは『コマンドライン端末』といいます。
コマンドライン端末アイコンをクリックします。
コマンドライン端末が表示されます。
コマンドライン端末に
①次のコマンドを入力します。
pip3 install opencv-python
②『エンターキー』を押します。
インストールが開始されます。
次の画面が表示されたら
インストール成功です。
これで、OpenCVをつかう
準備ができました。
『OpenCV』を使ってwebカメラ映像をモニタに表示する
Step6.カメラ映像を録画する
映像を保存していきます。
映像の保存は保存形式という規格があります。
大きく分けると4つあります。
画質を劣化することなく圧縮できる規格
拡張子【 .avi 】
ブルーレイなど高画質動画となっている規格
H.264:拡張子【 .mp4 】
標準テレビ放送向けに作られた規格
MPEG-2:拡張子【 .mpg 】
スマホなどモバイル機器でネット動画視聴向けの規格
MPEG-4:拡張子【 .mp4 】
今回、映像を保存につかう形式は、
スマホにも使われ汎用性の高い『MP4』ファイル形式で保存します。
保存するファイル名は分かり易い様に
年日時秒の順番になったファイル名で保存していきます。
1つのファイルに保存する時間を任意に設定して保存していきます。
Step7.防犯カメラのプログラミング
防犯カメラとして使用するため、
いままで作成したプログラムを一つにまとめるため、
条件分岐をつかいます。
簡単に条件分岐の関数、
IF文、While分を使いプログラムを完成させていきます。
Step8.防犯カメラの完成
最後に実際に設置して、動作の確認します。
完成はどの様になるか楽しみです。
機能追加について
ここでは、便利な拡張機能を紹介しています。
参考にしてみてください。
正確な時刻が必要な場合
<RTCモジュール>
Raspberry Pi は、RTC(Real Time Clock)を搭載していないため、
シャットダウンすると時刻が違ってきます。
インターネットが接続されている時は、
Raspberry Piを再起動すると、
インターネットから自動で時刻を取得して
システム日時が更新され正常な時刻が表示されます。
インターネットに接続されていない時は、
システム日時更新されないため時刻が違っています。
この原因は、
RTC(リアルタイムクロック)が
搭載されていないために起こります。
RTCは、電源が切れても時刻を保持できるため、
再起動後でも正しい日時を維持することができます。
解決方法はこちらの記事を参照ください。
MicroSDカードのバックアップを作る
Raspberry Pi は、毎回正常にシャットダウンしないと
MicroSDカードのデータが壊れてしまいます。
次に起動しようとすると
起動ないということがよくあります。
そのため、必ずバックアップをとっておくことをおすすめします。
バックアップを作成する方法は
こちらの記事を参照ください。