P2P地震情報のデータを利用し本体に実装されていない新たな機能を実現すること、P2P地震情報外のデータをもとに地震感知情報を発信することなどを目的として実装しているP2P地震情報 プラグイン機能の仕様書です。
「P2P地震情報 for Peer (Beta3)」および「P2P地震情報 (Beta3)」が、本仕様書に準拠しています。
現在のプラグイン機能は、地震情報読み上げプラグインの作成などを主目的とした簡易版です。今後、大幅に変更する予定です。
プラグインは、本体と同一のコンピュータで動作するアプリケーションである必要があります。
プラグインと本体との通信には、TCP/IPソケットを使用します。P2P地震情報本体との通信には、6918ポートを使用します。
通信は、すべて「4桁のアルファベット + 半角スペース + データ + 改行(CRLF)」の形で行われます。データはShift-JISエンコードで、複数ある場合は原則として「:(半角コロン)」で区切ります。
[通信データ例]
↑ JOIN 地震情報読み上げ
↓ SVER P2P地震情報 for Peer(Beta 3/Revision
1005)
↓ QUAK 23時56分,3,0,1,4,東海道沖,10km,3.2,1:-奈良県,+震度1,下北山村
注意:下記で「データ:なし」と記されているのは、プロトコルにおける「データ」部分で何も指定(解析)する必要がないという意味です。逆に言えば、データに何を指定しても構いません。
プラグインから本体へ | |
JOIN | プラグインの接続を通知します。 データ:プラグイン名称(本体に表示されます) |
USRQ | 地震感知情報の発信を要求します。(※P2P地震情報
Beta3(Rev5)以降のみ) データ:なし |
EXIT | 本体の終了を要求します。 |
本体からプラグインへ | |
SVER | 本体の名称が通知されます。 データ:名称 |
QUAK | 地震情報が通知されます。 データ:地震情報概要、地震情報詳細 |
TIDL | 津波予報が通知されます。 データ:津波予報詳細 |
OPTI | プラグインのオプションを開くよう要求されました。 データ:なし |
プラグインは、本体インストール先の「plugin」フォルダに配置することを推奨します。「plugin」フォルダに配置されたプラグイン(拡張子exe)は、本体起動時にあわせて起動されます。
本体への接続を開始します。IPアドレス(またはホスト)「127.0.0.1(localhost)」、TCPポート「6918」への接続を行います。
[NOTE]本体のプラグインソケットに問題が発生しているなどの理由で接続が出来なかった場合、プラグインは終了するべきです。
接続が完了したら、接続通知を行います。
コード「JOIN」で、プラグインの名称を通知します。通知した名称は、本体の「オプション」内などでプラグインの名称として使用されます。通知が完了すると、本体からコード「SVER」で、本体の名称が通知されます。
↑ JOIN 地震情報読み上げ
↓ SVER P2P地震情報 for Peer(Beta 3/Revision
1005)
地震情報はコード「QUAK」で通知されます。データは、コロン区切りで「地震情報概要」「地震情報詳細」と分かれています。
↓ QUAK 12時34分頃,3,1,4,紀伊半島沖,ごく浅く,3.2,1,N12.3,E45.6,仙台管区気象台:-奈良県,+2,*下北山村,+1,*十津川村,*奈良川上村
地震情報概要は、カンマ区切りで「発生時刻」「震度」「津波の有無(0=なし,1=あり,2=調査中,3=不明)」「地震情報種類(1=震度速報,2=震源情報,3=震源・震度情報,4=震源・詳細震度情報,5=遠地地震情報)」「震源」「深さ」「マグニチュード」「震度訂正(0=いいえ,1=はい)」「緯度(N=北緯,S=南緯)」「経度(E=東経,W=西経)」「発表管区」となっています。
地震情報詳細は、カンマ区切りです。先頭に「-」があれば都道府県名、「+」があれば震度、「*」があれば震度観測点名です。
注意:地震情報の種類により、震源または地震情報詳細が空である場合があります。震度は「5弱」等文字列が含まれることがあります。地震情報詳細の震度にはさらに「5弱以上(推定)」も含まれることがあります。
[表示例]
12時34分頃、震度3の地震がありました。津波の心配はありません。震源は紀伊半島沖、深さはごく浅く、マグニチュードは3.2と推定されます。震度が訂正されました。
【奈良県】震度2:下北山村 震度1:十津川村
奈良川上村
津波予報はコード「TIDL」で通知されます。データは、「津波予報詳細」です。
↓ TIDL -大津波警報,*和歌山県,-津波警報,+淡路島南部,+徳島県,-津波注意報,+大阪府,+兵庫県瀬戸内海沿岸
津波予報詳細は、カンマ区切りです。先頭に「-」があれば予報種類(津波注意報・津波警報・大津波警報)、「+」または「*」があれば予報区名です。「*」は、その予報区に直ちに津波が来襲することを示します。ただし、津波予報がすべて解除された場合、津波予報詳細には「解除」という文字列だけが入ります。
予報区は、気象庁の「地震・津波の資料」の「津波予報区について」に記載されています。
本体オプション内からプラグインの設定を開くよう要求された時、通知されます。コードは「OPTI」です。
↓ OPTI
コード「OPTI」を受信した場合の動作に決まりはありませんが、オプションがあればオプションの表示、なければバージョンの表示などをしておくべきです。
プラグインから本体へ地震感知情報を発信するよう要求出来ます。コード「USRQ」です。
↑ USRQ
発信に成功したかどうかは通知されません。また、本体の連続発信制限はプラグインにも適用されますし、本体の「発信前・発信後に通知」オプションも同様に適用されます。
プラグインから本体を終了するよう要求出来ます。コード「EXIT」です。
↑ EXIT
本体が終了されると、接続が切断されます。切断された場合、プラグインを終了するべきです。
本体の終了と関係なくプラグインを終了する場合、接続を切断してから終了します。