Raspberry Pi上で観測値をインターネット上のサイトにupするという常時運用できましたので、次に流行を取り入れるという意味で、
これらの観測値をTwitterで自動的につぶやかせてみたいと思います。いわゆるTwitter Botというものです。
TwitterはOAuthに対応しており、このような機械的投稿も比較的安全に実現が可能です
まずTwitterのアカウントを取得します。個人のアカウントと併用しても良いのですが、
今回はBot専用のアカウントを取得します。
次に認証用の鍵を入手するため、Twitter用の開発者用ページ https://dev.twitter.com/apps へ行き、
ユーザー登録後、鍵を入手します。
このあたりはインターネット上に詳しいサイトがいくつかあります。
私は http://www.sdn-project.net/labo/oauth.html を参考にさせていただきました。
次に情報の流れを検討します。
値はweewxから出力されたものを利用しますが、自宅にあるRapberry Piから
直接つぶやきをPOSTする方法と、VPS上にupした情報を元にVPSからつぶやきをPOSTする
方法が考えられます。
今回は青い矢印のルートを選択
Raspberry Piの負荷も今のところ高くなく、どのみちRaspberry PiからデータをVPSにアップしないと
新しい情報をつぶやけないので、Raspberry Piから直接つぶやく方法にすることにしました。
Weewxのtemplateを使えば、各種形式(テキストベースですが)での情報出力が可能です。
今回は処理を簡単に行いたかったので、単純にカンマ区切りのテキストで出力させることにしました。(いわゆるCSVです)。
今回出力するテキスト(CSV)ファイル用のtemplateファイルを作成します。
#errorCatcher Echo #encoding UTF-8 dateTime,$current.dateTime outTemp,$current.outTemp heatindex,$current.heatindex outHumidity,$current.outHumidity barometer,$current.barometer barometerTrend,$trend.barometer rainRate,$current.rainRate rain,$current.rain