電子工作 ラズパイで玄関モニター(兼防犯カメラ)作ってみた |じょるブログ

じょるブログ

電子工作やプログラミング関連の情報を発信している技術系ブログ

電子工作 ラズベリーパイ

電子工作 ラズパイで玄関モニター(兼防犯カメラ)作ってみた

投稿日:2018年12月6日 更新日:

今回は前回のスマートリモコンに続き、2回目のIoTデバイス制作です。玄関モニター兼防犯カメラを作ってみました。作成難易度はスマートリモコンよりも簡単ですので皆さんも是非作ってみてください!

玄関モニター兼防犯カメラを作ろうと思ったきっかけはRaspberryPiにカメラを接続してなんかやりたい(漠然)と思ったからで、色々調べていたらUSBカメラを使えばRaspberryPiに安くかつ簡単に接続できるとのこと。

ということで、さっそくUSBカメラを即買いし、あったらいいなと思っていた玄関モニター兼防犯カメラを作ってみました!

ラズパイのカメラモジュールは高いイメージがあったので、今回は1300円ほどのLogicoolのUSBカメラを購入しました。
(調べてみたところラズパイのカメラモジュールなら1000円以下で買えるようです。また、ラズパイにはもともと静止画をや動画を撮るコマンドがインストールされているらしいのでカメラモジュールの方がいいかも)

 

搭載した機能

  • スマホやタブレットでいつでも外の様子が見れる
  • 外出先からもカメラの映像がリアルタイムで見れる
  • 動きを検知したら写真または動画を撮影
  • 動きを検知したらLINEで自分に写真を送信

  

概要

ウェブカメラの映像をストリーミングするソフトウェアは調べてみたところいくつかありましたが、今回はその中でもインストールが簡単で動作が軽く、ストリーミングや動体検知の機能がデフォルトで備わっているMotionというソフトウェアを使います。このソフトウェアをインストールするだけでLAN内からカメラの映像が見れるようになります。外出先からカメラの映像を見るにはポートを開放する必要があります。それから、LINEへの通知にはLINE NotifyというAPIを利用しました。

 

購入したもの

・ウェブカメラ

 

作成手順

  1.  基本設定およびソフトウェアのインストール
  2.  ポート開放とファイアーウォール等の設定
  3.  LINE Notify の設定

 

基本設定およびソフトウェアのインストール

まず、ラズパイにUSBカメラを接続し、コマンドプロンプトで

lsusb

と入力して正しくカメラが接続できているか確認します。

正しく認識している場合、図のようにデバイス名が表示されます。

 

次に、必要なソフトウェアをインストールします。

コマンドプロンプトで以下のコマンドを入力し実行します。

sudo apt update
sudo apt upgrade
sudo apt install motion

正しくインストールできているかを以下のコマンドで確認します。

motion -h

motionが正しくインストールされていればmotionのバージョンが表示されます。※2020/11現在ではmotion 4.3.2が最新バージョンです。

 

続いてインストールしたmotionの設定を変更します。

以下のコマンドでmotionの設定ファイルを開き編集します。

sudo nano /etc/motion/motion.conf

編集個所は6か所です。以下のように変更してください。

stream_localhost off
daemon on
locate_motion_mode on
framerate 10
output_pictures best
ffmpeg_output_movies off

設定した内容は以下の通りです。

デフォルト変更後
ストリーミング
無効
有効
バックグラウンド実行
無効
有効
動体検知時に
枠を表示
無効有効
frame rate210
画像保存動きのある全フレームを
保存※
動きのあった全フレームのうち、
中間の1フレームを保存※
動画保存動きがあった場合無効

※今回動画の保存はSDカードの容量を圧迫してしまうためOFFに設定しましたが動画も保存したい場合は、ffmpeg_output_moviesはonのままで大丈夫です。

※画像・動画ファイルはデフォルトでは /var/lib/motion に保存されます。保存先を変更したい場合はtarget_dirの項目の右側に保存先のパスを入力します。

もっといろいろいじりたい方はmotionのホームページに、全てのオプションの意味と設定方法が載っているので参考にしてみてください。

   

バックグラウンドで自動起動する場合はもうひとつの設定ファイルを編集する必要があります。自動起動を有効にしたい場合は以下のコマンドを実行してください。

sudo nano /etc/default/motion

上記のコマンドを実行すると、ファイルの編集が始まるのでstart_motion_daemonと書かれているところをyesに変更します。

start_motion_daemon=no      ->      start_motion_daemon=yes

変更し保存したら、以下のコマンドで設定を有効化します。

sudo service motion start

以上で、motionの設定は終了です。

設定が完了したら、

http://192.168.*.***:8081

にアクセスするとストリーミングが見れるようになります。{}の中にはラズベリーパイのIPアドレスを入力してください。IPアドレスの確認方法については以下を参照してください。

ストリーミング画像

また、

http://192.168.*.***:8080

にアクセスすると、以下のような画面が表示され、web上で設定を変更できるようになります。

上の画像のAllと書かれたところをクリックすると、以下のような画面に切り替わります。

この画面で ‘config’ をクリックすると web上で設定を変更できます。設定を変更したらmotionを再起動する必要があり、’action’ をクリックし ‘restart’ をクリックするとmotionが再起動し、設定内容が反映されます。

  

ポート開放とファイアーウォール等の設定、LINE Notify の設定についての記事は現在作成中です。

google ads




google ads




-電子工作, ラズベリーパイ

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

ラズパイでスマートロック作ってみた④ – ICカードでドアを開閉する

大学生の電子工作 ラズパイでスマートロック作ってみたの記事の④つ目の記事です。今回はSuicaや学生証、電子マネー(nanacoとか)等のICカードで鍵を開けられるようにしました。 近くのコンビニに買 …

ラズパイでスマートロック作ってみた② - 扉の開閉状況をGoogleスプレッドシートに記録

以前作成したスマートロックに、扉の開閉状況をGoogleスプレッドシートに記録する、という機能をつけたので、そのやり方について紹介します。   搭載した機能 スイッチで鍵の開閉外部サービス(Googl …

簡単にRasberryPi Zero WH へ node.js, npmを入れる方法

  はじめに  スマートリモコンでPS4を操作するためにはps4-wakerというパッケージが必要であり、これをインストールするにはnode.jsのパッケージ管理ツールであるnpmをインストールする必 …

ラズベリーパイでICカードのデータを読み取る

今回はSONYのICカードリーダー( RC-S320 )を使用して、suicaなどのICカードを読み取り、 idm(ICカードの固有番号、ICタグ)や残高、交通履歴などを取得する方法についてご紹介しま …

Alexa, Google HomeをRasberryPiと連携する

この記事ではスマートリモコンを作ってみたで作成した、スマートリモコンをAlexaやGoogle Assistantと連携するために利用した外部サービスについて記載します。     Amazon Ech …




関連記事