室外温度計を作る(その2)


前回のスクリプトの結果、こんなイメージファイルが出来上がりました。


【STEP1】イメージファイルのアップロード

このイメージファイルをGoogle DriveやDropboxにアップロードします。(下記Bの部分)
Google DriveやDropboxへのアップロードはこちらこちらで紹介しています。


Google DriveDropboxを利用したRaspberry側のスクリプトを以下に示します。
赤字の部分が今回追加したところです。

※Griveは2015年4月21日をもって使えなくなりました。
※理由はこ のページで紹介されていますが、要約するとGriveは古いGoogleのAPIを使っていて、
Googleが2012年にリリースした新しいAPIに移行していないためだそうです。

#!/bin/bash
temp=`sudo /home/pi/BMP085-2/readBMP085 -t`  → この部分はお使いの温度計センサーに合せて変更してください。
#整数値に変換
itemp=`echo $temp |cut -d. -f1`

tlen=${#temp}
if [ $tlen -eq 3 ];then
    temp=" "$temp
fi
temp=$temp"℃"

#温度に応じて文字の色を決定
if [ $itemp -le 0 ]; then
    color="darkblue"
elif [ $itemp -le 10 ]; then
    color="blue"
elif [ $itemp -le 20 ]; then
    color="green"
elif [ $itemp -le 30 ]; then
    color="orange"
else
    color="red"
fi

convert -font /usr/share/fonts/truetype/kochi/kochi-mincho.ttf -pointsize 50 -fill "blue" -draw "text 50,80 '現在の室外温度'" /home/pi/frame0001.jpg /tmp/out1.jpg
convert -font /usr/share/fonts/truetype/kochi/kochi-mincho.ttf -pointsize 130 -fill "${color}" -draw "text 50,250 '$temp'" /tmp/out1.jpg /tmp/out2.jpg

if [ ! -e /home/pi/google_drive/Raspberry ]; then
    mkdir /home/pi/google_drive/Raspberry
fi
#cp /tmp/out2.jpg /home/pi/google_drive/Raspberry/
#cd /home/pi/google_drive/
#./grive 2> /tmp/google_drive.log
/home/pi/Dropbox-Uploader/dropbox_uploader.sh upload /tmp/out2.jpg out2.jpg > /tmp/dropbox.log

後はこのスクリプトをcronで定期的に実行するだけです。

【STEP2】タブレット側の準備

次にタブレット側の準備ですが、「クラウド フォトフレームEX.Net」というソフトを利用しました。
このソフトは画像の取り込み先としてGoogle DriveやDropboxを指定することができます。
さらに、これらのクラウド・ストレージから定期的に画像を検索したり、スライドショウの開始時刻、終了時刻を指定することもできます。

Raspberry側のcronのタイミングと同じタイミングで、タブレット側も画像のリフレッシュを行ってやれば、
ほぼリアルタイムの外気温度計が完成します。
タブレットにはこんな感じで表示されます。
使ったタブレットは2年前に買って埃まみれになっていた、解像度が640x480のチャイナタブレットです。


ちなみに今回RaspberryはTYPE A+を使いました。
USB-Wifiも安定しています。


続く