Raspberry Piを使ってADS-B受信 (GoogleMap+メール通知設定編)


今回はRaspberry Piを使ってADS-B受信の4回目です。
以下の記事の設定を前提に書いていますので
最初から設定される方は順にお読みください。

Raspberry Piを使ってADS-B受信(ハード編)
Raspberry Piを使ってADS-B受信(初期設定編)
Raspberry Piを使ってADS-B受信(feed設定編)


前回までで基本的な各フライト追跡サイトへの
feed設定が完了しました。

今回は
・GoogleMapのAPIkeyを取得して
GoogleMapをVirtualRadarServerで
利用できるようにする方法

・VirtualRadarServerで
Googleマップの代わり航空図にプロットする方法
( アメリカ中心になります)

・WindowsにもVirtualRadarServerをインストールし
Raspberry Piから情報を受信し
特定の機体が受信された場合にメール通知を受ける方法

以上3つをご紹介します。


なお、以下の解説では
Raspberry PiのローカルIPは192.168.1.100
WindowsPCのローカルIPは192.168.1.200
で固定しています。

Raspberry PiのローカルIP固定の方法は前々回の記事
WindowsでローカルIP固定の方法は
https://www.akakagemaru.info/port/windows10-ipaddress.html
https://support.eonet.jp/connect/net/multi_bbr/eo-rt100/quick/ip_static_win10.html
などを参考になさってみてください。

以降、ご自身のLAN環境に置き換えてお読みください。



・GoogleMapのAPIkeyを取得する。

現在はGoogleMapを利用するためには
APIkeyが必要となり
アクセス数が多い場合には
課金が発生するシステムになっているようです。

もしAPIkeyが外部に知られた場合が心配ですが
アクセスのリファラー(接続元)で制限がかけられます。

また、画像の通り月2万円分までは無料で使えるので
個人的に利用する分には全く問題ないアクセスが出来ます。

加えて、日ごとのアクセス数に上限を設定出来、
予算に警告設定もできますので
万が一外部にAPIkeyが知られてしまっても
アクセスが急増した段階で止めることが出来ると思います。

お金が絡むことですので
くれぐれも設定は慎重に、
各設定の意味をよく調べて
利用は自己責任でお願いします。


・Googleアカウント
・クレジットカード

を用意しておいてください。


https://cloud.google.com/maps-platform/
から「使ってみる」を選択。

MAPを選択

select or create project
でプロジェクト名(My projectなど)入力

https://cloud.google.com/maps-platform/
に再度アクセス

右上の始めるをクリック

Google Maps Platform の有効化で
プロジェクト名を記入

プロジェクト「my project」の請求の有効化
画面で請求先アカウントの作成をクリック

住所、名前、クレジットカードを登録します。

MAPを選択でAPIkeyが表示されますので
保存しておきます。



続いてAPIkeyに制限をかけておきます。

左上のGoogle cloud platformをクリック

左からAPIとサービスをクリック

認証情報をクリック

この画面は今後設定などで使いますので
ブックマークしておくことをお勧めします。

Maps API keyを選択


リファラー(参照元)の制限をかけます。

アプリケーションの制限を設定
HTTPリファラーを選択

ウェブサイトの制限の下
項目を追加

たとえばRaspberry Piのフライト画面が
http://192.168.1.100:8081/VirtualRadar/desktop.html
の場合
192.168.1.100:8081/*
と設定します。

また以下でWindowsにも
VirtualRadarServerをインストールしますので
localhost(WindowsPC自分自身のIP)として
127.0.0.1/*
も登録しておきます。

下の保存をクリック


続いて下の
APIkeyの制限を選択
Maps JavaScript APIのみを選択します。

下の保存をクリック



次にMaps JavaScript APIの
アクセス量の制限をかけます。

左上からダッシュボードを選択
下に機能別に色々APIが並んでいますが
Maps JavaScript APIをクリック

上の割り当てをクリック

下のMap loads項目

Map loads per dayを編集
unlimitedのチェックを外し200と入力
割り当て上限の~をチェックして保存
(自分だけの利用予定なので極端に低くしてます)

同じように下2つを50程度に設定。

Map loads per day 200
Map loads per 100 seconds 50
Map loads per 100 seconds per user 50

になれば大丈夫です。


続いて予算画面で警告が来るように設定します。

左上のGoogle Cloud Platformの左の三をクリック

お支払いをクリック

右のBilling health checksの下
全てのヘルスチェックを表示
予算アラートを設定
で予算を設定

名前を「予算」など適当に記入し
全てのプロジェクト
全てのサービス
のまま次へ

budget typeは
指定額

target amountは
\0
まま

アラートしきい値ルールの設定はそのまま
終了

以上でGoogle Map APIkeyの取得は終了です。



Google Maps Platformをクリック
認証情報をクリック
Maps API Keyの行の真ん中
キーの右の四角マークでコピー出来ますので
AI**************の部分を
忘れずテキストなどに保存しておきます。

このキーは内部で自分が使う専用として
他人に知られることがないようにしておくと良いと思います。




・Google Map APIキーの設定

前回設定した
VirtualRadarServerの管理画面を開きます。
http://192.168.1.100:8081/VirtualRadar/WebAdmin/Index.html

Options
Google Maps API key:に
先程のキーをペーストして下のSAVE

これでGoogleマップがきちんと表示されると思います。

もし表示されない場合は先程のAPIの認証情報の画面で
HTTPリファラーがきちんと設定されているか確認してみてください。



・WindowsにVirtualRadarServerをインストールする

https://www.virtualradarserver.co.uk/Download.aspx から
Virtual Radar Server
Version 2.4.4のWindows版をダウンロード

後ほど使いますので同じページの下の方から
Custom Content Plugin
Version 2.4のWindows版
もダウンロードします。

VirtualRadarSetup.exe
CustomContentPluginSetup.exe
をそれぞれ実行しインストール
次へを選んでいくだけで大丈夫です。



・WindowsとRaspberry PiのVirtualRadarの連携設定

WindowsのVirtualRadarで
Raspberry Piからレーダー情報を受け取る設定をします。

「Raspberry Pi側」
VirtualRadarServerの管理画面を開きます。
http://192.168.1.100:8081/VirtualRadar/WebAdmin/Index.html

Options
[Rebroadcast Servers]を選択

ここではReceiverで前回設定した「Merged Feed」を選択し
「自分で受信したデータ(Receiver)」と「ADSBHUBからもらったデータ(ADSBHUB)」を
統合したデータをWindowsに送信します。

画像の通り設定して下のSAVE
(使用ポートは自由ですが、ここでは30010にしました。



「Windows側」
VirtualRadar.exeを起動
tool>option

[Data sources]項目
Map providerはGoogleMAP
APIキーは先程取得したもの。

データソースは前回ダウンロードした
BaseStation
OperatorLogos
SilhouettesLogos
Country Flags

フォルダを利用します。

全て
C:\Program Files (x86)\VirtualRadar\
フォルダにコピー
して画像のように設定します。

[Receiver Location]項目
+ボタン
Location
緯度
経度

[Receivers]項目
+ボタン

push Receiverをチェックする前に
下に192.168.1.100と入れて
ポートは先程指定した30010
その他は画像の通り設定

この状態でメイン画面の
Feed statusがconnectedで数字が増えていれば接続成功です。

Windows側で自身のVirtualRadar画面
http://127.0.0.1/VirtualRadar/desktop.html
が表示されればOKです。
Raspberry Pi側と同じ物が映ってるはずです。

最小化でタスクトレイに入れたい場合は
[General]項目
Minimise to System Trayにチェック



・WindowsのVirtualRadarで航空図にプロットする

Google Mapを設定したおまけに
アメリカ中心ではありますが
VirtualRadarで航空図表示を追加する方法を書きます。

VRS-Charts
https://github.com/ProHill/VRS-Charts
緑色のclone or downloadボタンから
download ZIPでVRS-Charts-master.zipをダウンロードします。

こちらもGoogleMAPのAPIキーが必要ですので
解凍したVRS-Charts-masterフォルダから
custom-map.jsをメモ帳などで開きます。

1行目

<script src="http://maps.googleapis.com/maps/api/js"></script>

<script src="http://maps.googleapis.com/maps/api/js?key=AI**************"></script>

に変更

AI***************は先程取得したAPIキーです。

編集後VirtualRadarフォルダではない場所に
VRS-Charts-masterフォルダ をコピーします。
私はC:に置きました。

WindowsのVirtualRadarからtool>plugin
custom contentのoption
Enabledにチェック
NEWから
画像の通り4項目設定します。

設定後
http://127.0.0.1/VirtualRadar/desktop.html
で右上からVFRやIFRの航空図が選べるようになります。



・特定の機体が受信された場合にメール通知する

PlaneAlerter
https://github.com/Dom2364/PlaneAlerter/releases/latest
から最新版をダウンロードします。
(現時点ではPlaneAlerter.2.1.4.zip)

ファイルをお好きな場所に解凍し
PlaneAlerter.exeを実行

No condition~とエラーがでますがOK
左上optionからsettings

Emailの項目は普通のメールソフトと同じように
送信元のメールアカウントを登録します。

Gmailの場合は
****@gmail.com
smtp.gmail.com
587
****@gmail.com
パスワード
SMTP SSLチェックでOKです。

Gmailで送信エラーが出る場合
Googleの二段階認証を設定後
メール送信専用の
アプリケーションパスワードを設定すると
エラーが起こらなくなります。
(詳しくは検索してみてください)

AircraftList.json URL
http://127.0.0.1/VirtualRadar/AircraftList.json
Radar URL
http://127.0.0.1/VirtualRadar/

その下の緯度経度は
例えば自宅から何NMに機体が来たとき通知する
のような使い方をする為の物の様です。
使う方は自宅等の緯度経度を設定します



左上option
open condition editor

Add

[trigger]タブ
condition name
分かりやすい名前を設定

条件は
registration equal 82-8000
であれば
レジナンバー 82-8000のVC-25が
受信されれば通知されます。

operator equal Japanese Air Self Defence Force
であれば
航空自衛隊機が受信されれば通知されます。


なお、複数条件を入力した場合はAnd条件になります。
(両方の条件に合致で通知)

例えば
registration equal 82-8000
distance Lower Than 2000
なら、指定した位置から2000NM以内に
機体番号 82-8000が来たときに通知になります。



条件はかなり色々設定できる様ですので
試されてみるのも良いと思います。


[Email]タブ
Email alert Enabledにチェック
送信先メールアドレスを入力

save conditionで設定完了です。


条件にマッチすると
こんな感じでメールが届きます。


[Twitter]タブでは条件マッチで
自動ツイートとか出来るようですが
使ってみてないので分かりません。

このソフトのフォーラムもありますので
https://forum.virtualradarserver.co.uk/viewtopic.php?f=9&t=865&start=250
を見てみると良いかもしれません。


・おまけ
私はPlaneAlerterを常駐させているのですが
最小化でタスクトレイに入らないので邪魔でした。

そこでRBTrayというソフトを使ってます。
https://forest.watch.impress.co.jp/library/software/rbtray/
このソフトをスタートアップで起動しておくと
最小化ボタンを右クリックすると
大概のソフトはタスクトレイに入れられるので便利です。



今回でRaspberry Piを使ったADS-B受信の説明は
一通り終わりです。


今後は専用アンテナや専用の受信機も購入してますので
追々レビューしていければと思っています。


今回までのまとめ
Raspberry Piを使ってADS-B受信(ハード編)
Raspberry Piを使ってADS-B受信(初期設定編)
Raspberry Piを使ってADS-B受信(feed設定編)
Raspberry Piを使ってADS-B受信 (GoogleMap+メール通知設定編)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です