趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • 環境情報をRaspberry PiでTweetしてみる

    投稿日 2012年 9月 16日 コメントはありません

    いろいろネタが揃ってきたので、 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で他の事もしたいので。


    コメントをどうぞ(日本語のみ/Only in Japanese)

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