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”にも是非お立ち寄り下さい。

tomohiko

長年に渡りMacintosh向けの自作アプリを作り続けているPOOHです。最近はiPhone,iPad向けアプリ開発にも挑戦中。グルメ、旅行、露天風呂、写真、サイクリング、映画、STAR TREKが大好き。レトロでSFなおもちゃを大量にコレクション。プレーリードッグと同居中。

おすすめ

コメントを残す