このエントリーをはてなブックマークに追加
facebooktwittergoogle_plusredditpinterestlinkedinmail

こんにちは、tapunです。

前回はDropbox-Uploaderをいうツールを使ってRaspberry PiからコマンドラインでDropboxへ写真をアップロードする方法をお伝えしました。

ただ、毎回コマンドラインをたたくのも面倒ですよね?

今回は、写真撮影と同時にDropnoxへ写真をアップロードし、Raspberry Pi のローカルからは写真を削除するためのサンプルスクリプトとクーロンの設定についてご紹介します。

★前回までのおさらい
Dropbox-Uploaderをダウンロードしてコマンドで写真をアップロードできるようにしました。


定期的に撮影した写真を、都度Dropboxに送る方法

dropboxにアップロードするコマンドを、クーロンで実行させているcamera.shファイルに追記します。

★追記前のcamera.sh バージョン1

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
raspistill -w 800 -h 600 -o /home/tapun/Pictures-cron/$DATE.jpg
mutt -s "photo from raspi" example@gmail.com -c example2@gmail.com -a /home/tapun/Pictures-cron/$DATE.jpg < /home/tapun/photo_message.tx

★追記後のcamera.sh バージョン2(Dropboxへ毎回アップロード)

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
FILENAME=$(date +"%Y-%m")
raspistill -w 800 -h 600 -o /home/tapun/Pictures-cron/$DATE.jpg
mutt -s "photo from raspi" example@gmail.com -c example2@gmail.com -a /home/tapun/Pictures-cron/$DATE.jpg < /home/tapun/photo_message.txt
bash dropbox_uploader.sh upload -s /home/tapun/Pictures-cron/$DATE.jpg  /raspi-photo/$FILENAME

予めDropbox側で今月用のフォルダ”2015-11″を作成しておき、そこの配下に写真をアップロードしています。


毎月、新しいフォルダ(YYYY-MM)をDropbox側で作成しておく方法

はじめは手動で”2015-11″フォルダをdropbox側で作成したけど、12月以降はどうなっちゃうの?

たぶん毎月手動でフォルダを作成するのは難しい(忘れる・・・)ので、自動的に”YYYY-MM”フォルダを作成するためのスクリプトをクーロン設定することにしました!

★毎月”YYYY-MM”フォルダを作成するスクリプト

※Dropboxのアプリフォルダ配下に”/raspi-photo/YYYY-MM”フォルダを作成しています。

#!/usr/bin/env bash
FILENAME=$(date +"%Y-%m")
bash dropbox_uploader.sh mkdir /raspi-photo/$FILENAME/

★クーロン設定

※毎月、1日の00:00にスクリプトを実行するように設定しています。

$ crontab -l

(略)

0 0 1 * sudo sh /home/yiwase/dropbox_mkdir.sh

 


定期的にDropboxへ送った写真をRaspberry Pi本体からは削除する方法

写真データは増える一方なので、毎回Dropboxへアップロード後にRaspberry Pi のローカルからは削除することにしました。

★追記後のcamera.sh バージョン3(アップロード後は写真を削除)

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
FILENAME=$(date +"%Y-%m")
raspistill -w 800 -h 600 -o /home/tapun/Pictures-cron/$DATE.jpg
mutt -s "photo from raspi" example@gmail.com -c example2@gmail.com -a /home/tapun/Pictures-cron/$DATE.jpg < /home/tapun/photo_message.txt
bash dropbox_uploader.sh upload -s /home/tapun/Pictures-cron/*  /raspi-photo/$FILENAME
rm /home/tapun/Pictures-cron/*

※毎回写真を消しているので、アップロード時は”pictures-cron”以下のすべてのファイルを選択するようにし、またrmコマンドでそこに存在するすべての写真を消しています。


まとめ

シェルスクリプトとクーロンを使うことで、写真撮影+メール送信+Dropnoxアップロード、ローカルからの削除の一連の流れを自動化することができました!

今現在、この運用で問題なく稼働しています。

次回はなにやろうかな~と模索中です。



Raspberry Pi ブログランキングへ