Raspberry Pi 4 4GBモデルでこれまで構築したラズパイ環境を統合化してみる (5) “METAR 航空気象情報をツイート”
“Raspberry Pi 4 4GBモデルでこれまで構築したラズパイ環境を統合化してみる (1) “Raspberry Pi 4 セットアップ””
“Raspberry Pi 4 4GBモデルでこれまで構築したラズパイ環境を統合化してみる (2) “homebridgeでHomeKit対応””
“Raspberry Pi 4 4GBモデルでこれまで構築したラズパイ環境を統合化してみる (3) “ラズパイ標準カメラでビデオ監視””
“Raspberry Pi 4 4GBモデルでこれまで構築したラズパイ環境を統合化してみる (4) “人感センサーで照明を自動制御””の続きです。
現在稼働中のラズパイ環境の整理整頓を目的に、今回のTALKでは以下のサービスを”Raspberry Pi 4“に移行します。今回移行するサービスは、METAR 航空気象情報を定時点にツイートする仕組みです。なお、今回のTALKではおおまかな内容を抜粋して紹介していますので、詳しい内容は過去のTALKを参照下さい。
・Raspberry PiでMETAR 航空気象情報をツイートするようにしてみました
METAR 航空気象情報を定時点にツイートするサービスです。METARとは、気象情報を通知する方式のひとつで、空港や航空気象台などがパイロットをはじめとする航空関係者に対して定期的に配信されているデータのことを言います。一般人がこういった特殊な気象情報を必要とする場面としては、ヒコーキのスポッティングが代表的な例だと思います。
なお、ツイートに必要な認証情報 (“Consumer Key (API Key)”, ”Consumer Secret (API Secret)”, “Access Token”, ”Access Token Secret”)の取得方法については、以下のTALKで詳細を説明していますのでご覧下さい。
・Raspberry Piで航空機のADS-Bを受信してみました “SDR ADS-B 1090MHz 受信用アンテナ ssmtp mailutils mpack twython” (5)
< METAR 航空気象情報を取得するスクリプトをインストール >
METARデータは、予め定めらた記述ルールで記述された形式で配信されるため、そのままでは読むのは難しいと思います。
例えば、羽田空港が配信するMETARデータは、
RJTT 260200Z VRB02KT 9999 -RA FEW010 BKN045 04/02 Q1027 BECMG 04005KT RMK 1ST010 7SC045 A3033
といった感じです。
そういったMETARデータを読みやすいフォーマットで提供してくれるサイトがあります。
今回は、”Get Weather Forecasts on Raspberry Pi“というサイトで公開されている”weather utility”というスクリプトを利用させてもらいます。
まず始めに、そのスクリプト”Raspberry Pi 4“にインストールします。
sudo apt-get install weather-util
スクリプトの利用方法は簡単で、例えば羽田空港の場合、羽田空港の”ICAO“コードが “RJTT”なので、以下のようにコマンドを入力します。今回は、コマンド投入で返却されたMETARデータを再加工してツイートの文章に仕上げていきます。
weather RJTT
< ラズパイでツイートするコマンドをインストール >
ツイートする文章の目処が付いたので、”Raspberry Pi 4“からツイートするコマンドをインストールします。
ラズパイでツイートするコマンドとしては”Twython“や”Tweepy“が有名ですが、今回は”Twython“を使います。
インストールはあっという間に終わります。
pip install twython
念の為に、必要なモノが全て揃っていることを確認しておきます。空の結果が戻って来れば問題なしということです。
python3 -c "import twython"
< METARデータをツイートするスクリプトを作成 >
準備が整ったので、取得したMETARデータをラズパイでツイートするスクリプトを書いてみます。今回取得するのは、羽田空港のMETARデータです。
スクリプトの冒頭に記述する”CONSUMER_KEY”, “CONSUMER_SECRET”, “ACCESS_KEY”, “ACCESS_SECRET”は、Twitterの”開発者向けページ“で新しいアプリを登録した際に発行される認証情報です。詳しい内容は、過去のTALK Raspberry Piで航空機のADS-Bを受信してみました “SDR ADS-B 1090MHz 受信用アンテナ ssmtp mailutils mpack twython” (5)をご覧下さい。
sudo nano /home/pi/metar_report.py
スクリプトの前半部分は、”weather utility”で羽田空港のMETARデータを取得しています。
スクリプトの後半部分では、実際にツイートできる文字数に収まるように、METARデータの内容を加工しています。何分素人なので、スクリプト的にはベタな書き方ですので、詳しい方であればもっとスマートなスクリプトを書けるんだと思います。
作成したスクリプトに実行権限を与えておきます。
chmod +x metar_report.py
作成したスクリプトが想定どおりに動くことを確認しておきます。
python metar_report.py
< 1時間毎にツイートする >
METARは30分間隔で更新されるデータなので、1時間に一度、ラズパイからツイートすれば、ほぼ最新のMETARデータをTwitterでチェックできます。
crontab -e
0 * * * * python /home/pi/metar_report.py
設定を終えたら、crontabをリスタートします。
sudo /etc/init.d/cron start
こうしておけば、Twitterアカウントのタイムラインに、1時間毎に、ほぼ最新のMETARデータがツイートしてくれます。
次回のTALKでは、タワー型冷却ファンの冷却性能と移行作業後のバックアップ作業について紹介する予定です。
|
|
|
ホームページ “THE POOH FILES”にも是非お立ち寄り下さい。
“Adobe Stock“でベストショットな写真素材を販売中です。是非ご覧下さい。