Raspberryからメールを返信する(その4)


今回はWEBカメラから取り込んだ画像データ(写真)をメールで返信する方法を紹介します。
イメージを以下に示します。



@スマホや携帯から自宅宛にメールを送ります。
A自宅のRaspberryがメールを受信します。
BRaspberryでWEBカメラを使って写真を取り、画像ファイルを作成します。
C画像ファイルをメールの添付ファイルとして返信します。
Dスマホや携帯でメールを受け取ります。

使用したWEBカメラはどこにでも売っている安っぽいカメラです。


WEBカメラを使用した画像ファイルの作成は以下のパッケージを使いました。
このパッケージでなくても、たとえばffmpeg(今はavconvかな)のパッケージを使用してもかまいません。
パッケージのインストール後に test.jpg ができることを確認してください。

$ sudo apt-get install fswebcam
$ fswebcam -d /dev/video0 -r 640x480 -D 5 ./test.jpg

その2で作成したスクリプ ト(biff.sh)を以下の様に変更します。
赤字部分が今回変更した部分ですが、ffmpeg(あるいはavconv)など、他のキャプチャーソフトを使う場合は、適当に変更してください。
なお、「sudo sh -c」の行はもう使わないので、コメントアウトでも削除でもかまいません。

#!/bin/bash
#sudo sh -c "echo 14 > /sys/class/gpio/export"
#sudo sh -c "echo out > /sys/class/gpio/gpio14/direction"
#sudo sh -c "echo 15 > /sys/class/gpio/export"
#sudo sh -c "echo out > /sys/class/gpio/gpio15/direction"

/home/pi/biff/biff /home/pi/biff/config.ini
ret=$?
if [ $ret -eq 1 ]; then
  temp=`cat /sys/class/thermal/thermal_zone0/temp`
  temp1=`echo ${temp} | cut -b 1-2`
  temp2=`echo ${temp} | cut -b 3-5`
  echo "現在のCPU温度は${temp1}.${temp2}℃です" > /home/pi/mutt.txt
  mutt -s お知らせ 送信先のメールアドレス  < /home/pi/mutt.txt
fi
if [ $ret -eq 2 ]; then
  temp=`sudo /home/pi/BMP085-2/readBMP085` → この部分はお使いのセンサーに合せて変更してください。
  echo "${temp}" > /home/pi/mutt.txt
  mutt -s お知らせ
送信先のメールア ドレス  < /home/pi/mutt.txt
fi
if [ $ret -eq 3 ]; then
  fswebcam -d /dev/video0 -r 640x480 -D 5 /home/pi/test.jpg 2> /home/pi/fswebcam.log
  mutt -s お知らせ 送信先のメールアドレス -a /home/pi/test.jpg < /home/pi/fswebcam.log
fi
#sudo sh -c "echo 14 > /sys/class/gpio/unexport"
#sudo sh -c "echo 15 > /sys/class/gpio/unexport"

スマホなどから「Raspberry君」宛てに、「室内写真」 のタイトルのメールを送信してください。
暫くして、上記のスクリプト(biff.sh)を実行すると、WEBカメラでキャプチャーした画像ファイルが携帯、スマホに送信されます。
玄関の内側にRaspberry君を置いておくと、外出先から玄関の鍵の様子を確認すると便利かも....

続く...