読者です 読者をやめる 読者になる 読者になる

Pine Tree'S electrical page

ゆくかわのながれはたえない

Raspberry PI で正確な時計+天気予報

 ずいぶん前にArduinoで天気予報が表示される時計を作りましたが、安いLCDが簡単に手に入るようになりましたので、Raspberry PI でもう少し大きなLCDを使った時計を作りたいと思っていました。

 そんな矢先、ネットサーフィンしてたら私がやりたいと思っていたことを既に実現されている方がいらっしゃいましたので、早速、私も作ってみました。ブログ主の方、本当にありがとうございます<(_ _)>。こちらの記事です。Arduinoの時もそうでしたがParseの実装は細かい調整が必要なので老眼の私には有り難いです。

[Raspberry pi] LCDディスプレイを取り付けて天気予報付き置き時計にする | o24ブログ

わたしの3.5インチLCDは前回書いたaitendoのものですが、たぶんほとんど同じものではないかと思います。問題なく再現できました。

Raspbianがきちんとセットアップされていれば、まずこちらを実行してchromeとかをインストールし、

sudo apt-get install chromium-browser ttf-mscorefonts-installer unclutter x11-xserver-utils

続いて、

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart 

として下記の内容を記述するだけです。※若干、ディレクトリ名が違う場合があります。

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash

# CHANGED
#@xscreensaver -no-splash
# BEGIN ADDED
# Chromium parameter references:
# http://peter.sh/experiments/chromium-command-line-switches/
@rm -rf ~/.cache/chromium
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@chromium --kiosk --no-first-run --start-maximized --user-data-dir http://util-o24.parseapp.com/weather
# Hide mouse
@unclutter
# Disable screensaver
@xset s off
# Disable screensaver blanking
@xset s noblank
# Disable DPMS (Energy Star) features
@xset -dpms
# END ADDED

 

尚、上記リスト中の

@rm -rf ~/.cache/chromium 
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences

Chromium表示中に電源ブチした時にキャッシュに何も残らないようにするためのおまじないです。詳しくは例えばこちら

天気予報の内容ですが、上記リストにある、http://util-o24.parseapp.com/weather の緯度/経度を自分が住んでいる地域に変更する必要があります。緯度/経度はここで調べれば簡単にわかります。

Geocoding - 住所から緯度経度を検索 

http://util-o24.parseapp.com/weather ですが、私はクラウド上の無料サーバに、自分が済んでいる地域に緯度/軽度を書き換えたものを作成しました。PaasのアプリケーションIDとjavaスクリプトキーは自分のものを使用してください。

 

また日本語が文字化けしないように、HTMLに下記のおまじないをいれておいたほうがよいかもしれません。

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

上記/etc/xdg/lxsession/LXDE/autostart の上から3行目までのみを残して他を削除すれば、全画面表示が解除されてRasPIはふつうのデスクトップ表示する状態に戻ります。

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash

 

前回のブログで作成したインストールimageであれば、Pi2だけでなく、BタイプのPiでも全く問題なく動作します。電源を電池として無線LANで接続すれば、配線が外に出ないようにすることができ、実用的なインテリアとしても活用できます。

また上記HTMLを書き換えれば表示内容やレイアウトを変更してオリジナルのバリエーションを楽しむこともできます。例えばWebページの下記部分のカラーコードを変えるだけで簡単に表示色を変えることができます。

.night {
color:#F5F5DC;
background:black;
}
.noon {
color:#F0F8FF;
background:black;
}

またWebページの適切な場所に下記スクリプトを挿入することで時計画面からデスクトップに手動で戻るようにすることもできます。

<script type="text/javascript">
<!--
function closewin() {
window.opener = self;
window.close();
}
// -->
</script>

<a href="javascript:closewin();">閉じる</a>

Webページにインターネットラジオの操作パネルを表示させるボタンを設けても面白いかもしれません。但し、あまりWebページから自由な操作を可能にすると当然にセキュリティが甘くなりますので要注意です。

こんなに簡単に実用的なガジェットが作れるなんて、ほんとによい時代になりました。

f:id:chibinari1965:20150823125255j:plain