気象観測装置を設置してみる その4 -気象観測装置とRaspberryPiとの接続-


since:2012-12-29
last update:2013-1-20
目次へ   前のページへ   次のページへ


4、気象観測装置とRaspberryPiとの接続

 電気代等を考えると常時WindowsPCと接続しっぱなしで処理するわけにもいかないので、 名刺サイズのARMベースコンピュータであるRaspberry Piと接続して、常時処理することにしました。
 Raspberry PiはRS Componetsに11/28に発注して12/7に到着。 Raspbian "wheezy" のイメージを焼いた4GBのSDカードを準備し、Weather Stationのセットアップ完了後、気象関係のソフトウェアを導入しました。

Raspberry Pi
Raspberry Pi

 当初はwviewを入れようと思っていましたが、arm-elでビルドされたパッケージはあるものの、arm-hfのパッケージがなかったため、 pythonで動くweewxにしました。
ついでにweewxで出力したHTMLファイル群をインターネット上のwebサーバーに送り込む構想です。

接続概要図
接続概要図

 weewxのインストールマニュアルどおりapt-getで必要なコンポーネントを導入していきます。
 デフォルトでは/home/weewxにインストールされます。

 次にweewx.confを自分の環境に適するように書き換えます。
 この時気をつける必要があるのは、Weather Station側と設定を同じにしないといけない項目がいくつかあることです。
 準備ができたらコマンドラインで実行してみます。

 cd /home/weewx
 ./bin/weewxd.py weewx.conf

コマンドライン実行
コマンドラインで実行した場合

 ロガーに蓄積されたデータがダウンロードされ、STDOUTに現在のデータが逐次流れてくればOKです。

 次にレポートを出力してみます。

./bin/runreports.py weewx.conf

 デフォルトではpublic_htmlにHTMLファイル群が出力されます。

 デフォルトの出力は英語なので、テンプレートを書き換えて日本語にします。
 skins以下にテンプレートがあるので、これを日本語に書き換えます。
 なおテンプレートエンジン(Python cheetah)がUTF-8であることを自動的に認識できないため、
/etc/python2.x 以下の sitecustomize.py に以下を追加します。(なければ作成する)

import sys
sys.setdefaultencoding('utf-8')

 出力したHTMLを確認します。私の場合、気圧が正しく表示できていませんでした。
 weewxは異常値を除外するための設定があるのですが、weewx自体が初期状態で気圧をinHgで管理する設定となっており 値が28から32.5まで以外の場合除外する設定となっているためです。

weewx.confの[StdQC]-[[MinMax]]セクションの当該箇所を変更します。例えば 900,1100 等。
 修正して、一旦蓄積したデータ(archive以下に保存されています)を消去し、再度データを落としてきて HTMLを出力して確認してみます。

 ここまでできれば、つぎにdaemonとして登録します。
 startup_scripts以下にdistribution毎のファイルが用意されているので、debian用のものを/etc/init.d以下に置きます。

/etc/init.d/weewx start

で開始です。
weewx.confで指定した時間ごとにHTMLファイルが出力されると思います。

最後にインタネット上のサーバーにscpで転送するためのシェルスクリプトを用意します。
うまく転送できれば、このスクリプトをcronに登録します。

できたのが
こちらのページです。
まだ色々いじる必要があるので、定期的に長期間停止するかもしれません。
なお掲載している緯度・経度は正確ではありません。実際は阪急電鉄神戸線より北に約2kmの地点になります。



次ページ:気象観測値のTwitter Botの作成

前のページ  [1] [2] [3] [4] [5]  次のページ