Raspberry PiでMETAR 航空気象情報をツイートするようにしてみました
POOH自身は、自作のiOSアプリ”空港ファン – Tomohiko Shimizu (POOH)“や”ウインドソック – Tomohiko Shimizu (POOH)“などで、航空気象情報 (“METAR“)を扱っているのですが、そう言えば、”Raspberry Pi“でMETARを表示する仕組みが出来ないかなあ?と思い、ちょっと調べてみました。
ま、本来なら、METARデータを受信してラズパイで表示っていう流れでアプローチしたかったのですが、ズバリな情報を見つけらなかったので、今回は、先人の知恵をお借りすることにしました。
(1) METARデータをお手軽に取得できるスクリプトをインストールします
“Get Weather Forecasts on Raspberry Pi“というホームページで公開している、その名も”weather utility”というスクリプトを、ホームページ上の説明に沿ってインストールします。
sudo apt-get install weather-util
インストールが終わったら、早速、動かしてみます。今回は、羽田空港のMETARを取得したいので、同空港の”ICAOコード“を入力します。
weather RJTT
こんな感じで、METARデータを表示してくれます。んんん、これは便利!!
(2) METARデータをツイートするスクリプトを作成します
“Raspberry Pi“からMETARデータをツイートするPythonスクリプトを作成してみます。なお、ツイートを行うために必要な下準備については、”Raspberry Piで航空機のADS-Bを受信してみました “SDR ADS-B 1090MHz 受信用アンテナ ssmtp mailutils mpack twython” (5)“を参照して下さい。
それでは、”metar_report.py”という名前で、スクリプトを新規作成します。
nano metar_report.py
こちらが、スクリプトの内容になります。伏せ字の部分は、ご自身で取得したデータを入力して下さい。
#!/usr/bin/env python
# coding: utf-8
import subprocess
from twython import Twython
CONSUMER_KEY = '***********'
CONSUMER_SECRET = '***********
ACCESS_KEY = '***********'
ACCESS_SECRET = '***********'
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
cmd = 'weather RJTT'
metar = subprocess.Popen(
cmd, stdout=subprocess.PIPE,
shell=True).communicate()[0]
data = metar.splitlines(True)
data.remove('Searching via station...\n')
data.remove('[caching result Tokyo International Airport, Japan]\n')
data.remove('Current conditions at Tokyo International Airport, Japan (RJTT) 35$
del data[0]
data.insert(0, '<<Tokyo International Airport, Japan (RJTT)>>\n')
tweet = ''.join(data)
api.update_status(status=tweet)
スクリプトの後半部分では、実際にツイートできる文字数に収まるように、METARデータの内容をちょっと加工しています。スクリプト的には、メチャメチャベタなやり方ですので、詳しい方であれば、もっとスマートなスクリプトを書けるんだと思います。
作成したスクリプトに実行権限を与えておきます。
chmod +x metar_report.py
実際にスクリプトを実行してみましょう。
python metar_report.py
(3) 1時間毎にツイートするようにします
出来上がったスクリプトを、1時間毎に実行するようcrontabに設定します。crontabの詳しい内容は、”Raspberry Piで航空機のADS-Bを受信してみました “状態の定期チェック Postfix cron USB温度計 temper” (8)“を参照して下さい。
crontab -e
0 * * * * python /home/pi/metar_report.py
設定を終えたら、crontabをリスタートします。
sudo /etc/init.d/cron start
こうしておけば、自分のTwitterアカウントのタイムラインに、1時間毎に、最新のMETARデータがツイートしてくれます。
|
|
|
“Adobe Stock“でベストショットな写真素材を販売中です。是非ご覧下さい。
ホームページ”THE POOH FILES”にも是非お立ち寄り下さい。