Raspberryから動画を返信する(Google Drive編)


今回はWEBカメラで撮影した動画データ(mpeg形式)をGoogle Drive経由で取り込む方法を紹介します。
イメージを以下に示します。



@スマホやタブレットから自宅宛にメールを送ります。
A自宅のRaspberryがメールを受信します。
BRaspberryでWEBカメラを使って動画を撮り、mpegファイルを作成します。
CmpegファイルをGoogle Driveにアップロードし、アップロードしたことを返信します。
DスマホやタブレットでGoogle Driveの動画を見ます。

使用したWEBカメラはこのページで使用したカメラです。
mpegファイルの作成は前回と同じ以下のパッケージを使いました。
パッケージのインストール後に test.mpg ができることを確認してください。

$ sudo apt-get install ffmpeg
5秒の動画
$ avconv -f video4linux2 -r 25 -s 640x480 -i /dev/video0 -t 5 -qscale 4 -y -v quiet /tmp/test.mpg
10秒の動画
$ avconv -f video4linux2 -r 25 -s 640x480 -i /dev/video0 -t 10 -qscale 4 -y -v quiet /tmp/test.mpg
1000000バイトのファイル
$ avconv -f video4linux2 -r 25 -s 640x480 -i /dev/video0 -fs 1000000 -qscale 4 -y -v quiet /tmp/test.mpg

次にRaspberryからGoogle Driveにアップロードする準備をします。
linuxからGoogle Driveへのアクセス方法は いくつかありますが、今回は「Grive」を使いました。
「Grive」のセットアップ方法や動作確認の手順はこちらを 参照してください。

※Griveは2015年4月21日 をもって使えなくなりました。
※理由はこ のページで紹介されていますが、手短に言うと
※Griveは古いAPIを使っていてメンテナンスも行われていない様なので、
※Googleは古いAPIをサポートしなくなったということです。
こ ちらで紹介してる「Drive」は
2015年4月21日以降も正常動作を確認しています。

「Grive」のセットアップが完了したら、その4で作成したスクリプ ト(biff.sh)を以下の様に変更します。
赤字部分が今回変更した部分です。
撮影時間などavconvのオプションは適当に変更してください。

#!/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
  avconv -f video4linux2 -r 25 -s 640x480 -i /dev/video0 -t 5 -qscale 4 -y -v quiet /tmp/test.mpg
 cp /tmp/test.mpg /home/pi/google_drive
  cd /home/pi/google_drive/
  ./grive 2> /home/pi/google_drive.log
  mutt -s お知らせ 送信先のメールアドレス  < /home/pi/google_drive.log
fi
#sudo sh -c "echo 14 > /sys/class/gpio/unexport"
#sudo sh -c "echo 15 > /sys/class/gpio/unexport"


スマホなどから「Raspberry君」宛てに、「室内写真」 のタイトルのメールを送信してください。
暫くして、上記のスクリプト(biff.sh)を実行すると、WEBカメラで撮影した動画ファイルが
Google Driveにアップロードされます。
これでどこにいても好きな場所の動画が見れます。

続く...