Raspberry Piに接続したWebカメラを使用して自宅の様子をLINEに通知する

Raspberry Piに接続したWebカメラから撮影した画像をLINEに通知できるようにします。

更に、家の外から自宅の様子が通知できるようなシステムを作ります。

今回の記事でわかること
  • WebカメラとRaspberryPiとの連携方法
  • 屋外から自宅の様子を確認する方法
目次

システムの概要

今回システムで使用するアイテムは以下のとおりです。

必要なもの

ハード

  • Raspberry Pi
  • iPhone ※屋外から写真を取りたい場合
  • Webカメラ(Logicool Webcam C270)

ソフト

  • Homebridge(Homebridge Alexa)
  • Alexa ※屋外から写真を取りたい場合
  • fswebcam ※Raspberry Piにインストール
  • LINE

Alexaを使用して外から指示する仕組みは以前記事で紹介しています。

システムの概要は以下のとおりです。

①AlexaからHomebridgeAlexaを通じで、Raspberry PiのHomebridgeから画像取得のスクリプトを実行します。

②fswebcamからWebcam C270で撮影します。

③撮影した画像をLINE Notifyによって、LINEに通知します。

インストール

以下のコマンドでfswebcamをインストールします。

$ sudo apt install fswebcam

fswebcamとは
カメラのキャプチャ画像を取得できるコマンド

カメラ接続確認

Webカメラを接続してRaspberry Piを起動します。

lsusbコマンドで、Webカメラを認識できているか調べます。
lsusbはUSBに接続されているデバイスの一覧を表示してくれます。

$ lsusb
Bus 001 Device 006: ID 046d:0825 Logitech, Inc. Webcam C270

fswebcamで撮影

インストールしたfswebcamで撮影します。

「fswebcam+ファイル名」で、指定したファイル名で撮影し、保存されます。

fswebcam -S 10 -r 1280x720 --no-banner 001.jpeg

使用したオプションは以下のとおりです。

解像度やスキップするフレームを指定しないと画像が暗くなります。

-S フレーム数

スキップするフレームレートを指定できる。
Webカメラによってはオートフォーカスしてくれる。

-r 解像度

カメラの解像度。
Webcam C270の場合は、1280×720

–no-banner

バナーを非表示にする。

このオプションを指定しないと、以下のようなバナーが表示される。

LINEに画像を送信

画像を撮影することができたので、撮影した画像をLINEに送信します。

LINEのAPIを使用する方法は以前紹介しています。

使用するコマンドは以下のとおりです。

#!/bin/sh
fswebcam -S 10 -r 1280x720 --no-banner 001.jpeg
curl https://notify-api.line.me/api/notify -X POST -H "Authorization: Bearer XXXXX(トークン)" -F "imageFile="@001.jpeg -F "message="capture

メッセージのみを送るケースとの違いは、「”imageFile=”@001.jpeg」によって、画像を設定していることです。

ファイルを指定する場合は、@を付ける必要があります。

LineNotifyの仕様により、”message”を指定する必要があります。
画像のみの通知はできないようです。

APIの使用方法は公式のAPIドキュメントをご確認ください。

LINE Notify
LINE Notify LINE Notify allows you to send web notifications from GitHub, IFTTT, Mackerel, and more directly to your LINE chats.

屋外から写真を撮影を指示

Homebridge UIのコンフィグにアクセサリ追加

①Homebridge UIのコンフィグから、LINEの通知をしたコマンドを書いたシェルスクリプトを指定します。

②Homebridgeを再起動

再起動すると追加したアクセサリが表示されます。

Alexaに追加

AmazonでHomebridgeのスキルを検索して、「スマートホーム端末の管理」を選択します。

「検出」をクリックします。

追加したアクセサリが表示されたら成功です。

スマホに追加した「take a picture」が追加されます。

これをクリックするとLINEが送信されます。

参考サイト

fswebcamの使い方はRaspberry Piの公式ドキュメントを参考にしました。

あわせて読みたい
Raspberry Pi Documentation - Raspberry Pi OS The official documentation for Raspberry Pi computers and microcontrollers

コメント

コメントする

CAPTCHA


目次