環境情報をRaspberry PiでTweetしてみる

いろいろネタが揃ってきたので、 Raspberry Piで環境情報をつぶやかせてみることにしました。

まず、環境を取得するハードウェアは、以前作った気圧計・温湿度計を使います。LCDの表示がついていますが、とりあえずはそのままにしておきます。Arduinoベースのこの気圧計・温湿度計は、5秒ごとに気圧、温度、湿度を測定し、9600bpsでUSBシリアルに送信してきます。

 次にソフトウェアです。いきなりRaspberry Piで動作させようとすると、スクリプトの編集が面倒なので、デスクトップのLinuxMint 64bitで先に作ってしまいます。

1.Pythonのタイムゾーンライブラリをインストールします。

所定の時刻でつぶやくために、タイムゾーンライブラリをインストールしました。

$ sudo easy_install pytz
Searching for pytz
Reading http://pypi.python.org/simple/pytz/
Reading http://pytz.sourceforge.net
Reading http://sourceforge.net/project/showfiles.php?group_id=79122
Reading http://www.stuartbishop.net/Software/pytz
Reading http://sourceforge.net/projects/pytz/
Best match: pytz 2012d
Downloading http://pypi.python.org/packages/2.7/p/pytz/pytz-2012d-py2.7.egg#md5=e6f9219ae6eff242f13c6700413df69e
Processing pytz-2012d-py2.7.egg
creating /usr/local/lib/python2.7/dist-packages/pytz-2012d-py2.7.egg
Extracting pytz-2012d-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding pytz 2012d to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/pytz-2012d-py2.7.egg
Processing dependencies for pytz
Finished processing dependencies for pytz
$

2.つぶやきのPythonスクリプトを作成します。

すでにtweepyでつぶやきそのものはできていますし、シリアルからのデータ受信もシリアルポートライブラリを動かしてみていますので、受信データを解釈してメッセージを組み立ててつぶやくだけです。

ここでは所定の周期(の切りのいい時刻)でつぶやくようにプログラムを作成し、デバッグ完了後に30分に1回(毎時0分と30分)につぶやくように設定を変更しました。

3.PC上で十分動作確認します。

PC上の方が楽ちんですからね・・・。

4.Raspberry Pi上に環境構築して動作させます。

環境の構築方法はLinuxMintとなんら変わりません。apt-get、easy_installなどがそのまま使えます。
環境構築したら、Raspberry Pi上にPythonのスクリプトを持っていって、動かすだけです。
動かす際は、sshの先で動かすので、screenコマンドを使ってネットワークが切れていても動きつづけるようにしました。

結果はこんな感じです。設置場所は室内のプリンタの脇なので、温度・湿度は気象観測的な意味ではまったく意味がありません。気圧の方は室内とはいえ、換気用の穴などでつながっていて、それなりに信用がおけそうな気がするので比較してみました。

9月15日	気象庁     自宅          差異
=====================================
8時     1019.1     1016.97      -2.13
9時     1019.5     1016.68      -2.82
10時    1019.4     1016.5       -2.9
11時    1019.1     1016.06      -3.04
12時    1018.7     1015.34      -3.36
13時    1018.6     1015.13      -3.47
14時    1018       1014.39      -3.61
15時    1017.8     1014.43      -3.37
16時    1017.5     1014.32      -3.18
17時    1017.6     1014.36      -3.24
18時    1018.1     1014.86      -3.24
19時    1019       1015.65      -3.35
20時    1019.5     1016.17      -3.33
21時    1019.7     1016.26      -3.44
22時    1020.2     1016.89      -3.31
23時    1020.6     1017.21      -3.39
24時    1020.2     1016.72      -3.48

気象庁は東京の海面換算の気圧です。自宅の方は土地の標高が2~3mくらいに加えて、地上高が20mくらいありますので、20m強の海面高になります。気圧は概ね標高10mで1hPa減少しますので、若干(1hPa程度)低めの値ですが、遊びとしては十分な精度だと思います。

なお、Twitterの方はしばらくしたら平常時は止めるつもりです。Raspbery Piで他の事もしたいので。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)