NMEA 0183

NMEA 0183 は、船舶用電子機器間の通信のための電気およびデータの複合仕様であり、音響測深機、ソナー、風向風速計、ジャイロコンパス、オートパイロット、GPS受信機（GNSS受信機）などの機器で使われている。GPS/GNSSについては、洋上でなく地上でも同じ仕様が使われている。 NMEA 0183は、米国海洋電子機器協会（National Marine Electronics Association, NMEA）によって定義・管理されている。 NMEA 0183は、NMEA 0180とNMEA 0182の後継である。レジャーマリンではゆっくりと新しいNMEA 2000規格に移行しつつあるが、商業船舶ではNMEA 0183が主流である。 電気的な規格は EIA-422 だが、NMEA-0183出力を持つほとんどのハードウェアは、EIA-232 (RS-232) ポートを駆動できる。標準仕様は絶縁された入出力を要求しているものの、この要件を満たさないハードウェアも多々存在する。 NMEA 0183は、単純なASCIIのシリアル通信プロトコルであり、データがどのように、1つの「トーカー (talker)」から複数の「リスナー (listener)」へと同時に「センテンス(sentence)」の形で送信されるかを定めている。 中間エクスパンダを使うことで、トーカーはほぼ無制限の数のリスナと一方向の通信を行うことができ、マルチプレクサを使うことで複数のセンサーが１つの計算機ポートに送信することができる。 この規格は、アプリケーション層において、各センテンス（メッセージ）タイプの内容も定義しており、これによりすべてのリスナーがメッセージを正確に解析することができる。 NMEA 0183は RS422 トランスポートのみを定義しているが、NMEA0183のセンテンスをUDPデータグラムに入れ（1パケットに1センテンス）、IPネットワークで送信する事実上の標準も存在する。 NMEA規格はプロプライエタリの規格であり、2020年9月現在、2000米ドル超で販売されている（NMEAの会員を除く）。しかし、そのほとんどは公開された情報からリバースエンジニアリング済みである。 NMEA-0183HSという規格のバリエーションがあり、変調レートを38,400と規定している。これは、AIS装置（自動船舶識別装置）で一般的に使用されている。 送信データはすべて、0x20（スペース）から 0x7e (~) の間の印刷可能なASCII文字である。 データ文字は、予約文字（後述）を除く上記全ての文字である。 予約文字は、NMEA 0183 によって次の用途に使われる： メッセージの長さは最長82文字。これには開始文字($または!)と、終了の <LF> を含む。 各メッセージの開始文字は、'$'（従来のフィールド区切りのメッセージの場合）または '！'（特別なカプセル化が施されたメッセージの場合）のどちらか。 次の5文字は、トーカー（2文字）とメッセージの種類（3文字）を識別する。 続くすべてのデータフィールドはカンマで区切られている。 データがない場合、対応するフィールドは空である（つまりカンマとカンマの間に文字を含まない）。 最後のデータフィールドの直後に現れる文字はアスタリスクであるが、これはチェックサムが提供された場合のみ含まれる。 アスタリスクの直後には、2桁の16進数で表されるチェックサムが続く。チェックサムは，$と*の間にあるすべての文字のASCIIコードの排他的論理和である。公式仕様によるとチェックサムはほとんどのデータセンテンスで任意だが、RMA、RMB、RMC では必須。 <CR><LF> でメッセージが終了する。 例として、軌跡到着アラームは以下の形式をもつ： $GPAAM,A,A,0.10,N,WPTNME*32 これが表す内容は、 また、AISメッセージの例としては： !AIVDM,1,1,,A,14eG;o@034o8sd<L9i:a;WF>062D,0*7D 主要なトーカーID BD, GB - 北斗衛星導航系統 (BeiDou) GA - Galileo GP - GPS GL - GLONASS GQ - 準天頂衛星システム (QZSS) NMEAメッセージは主に以下のセンテンスを含んでいる： ほとんどのメーカーは、保守や診断の目的で、標準のNMEAセットに加えて、特別なメッセージを製品に含めている。拡張メッセージは、"$P" で始まります。これらの拡張メッセージは、標準化されていない。 GPS、GNSSソフトウェア NetStumbler Rand McNally StreetFinder Magic e-Map NemaTalker NMEA instrument simulation Microsoft Streets & Trips Microsoft MapPoint Serotonin Mango M2M (suitable for NMEA compliant weather stations) MapKing gpsd - Unix GPS Daemon GPSy X for Mac OS X Turbo GPS PC/PPC GRLevelX Weather Suite Google Maps Mobile Edition (Java ME Devices) JOSM - OpenStreetMap Map Editor PolarCOM - a set of digital and analog NMEA instruments Avia Sail - PC instruments for both NMEA 0183 and NMEA 2000 ゼンリン電子地図帳 スーパーマップル・デジタル 10（昭文社） カシミール3D NMEA 2000 ASCII グローバル・ポジショニング・システム シリアル通信 レイマリン ^ “NMEA 0183 vs NMEA 2000” (2018年11月). 2020年10月20日閲覧。 ^ Spitzer, Steve. (2009年5月). “NMEA 2000 white paper”. 2020年10月20日閲覧。 ^ “Publications and Standards from the National Marine Electronics Association (NMEA) / NMEA 0183”. NMEA (2008年11月). 2013年10月21日時点のオリジナルよりアーカイブ。2013年10月21日閲覧。 ^ “National Marine Electronics Association - NMEA”. www.nmea.org. 2020年9月24日閲覧。 ^ Raymond, Eric S.. “NMEA Revealed”. 2022年12月30日閲覧。 ^ Dale DePriest. “NMEA data”. 2020年10月20日時点のオリジナルよりアーカイブ。2020年10月20日閲覧。 ^ http://mango.serotoninsoftware.com/ ^ http://www.gpsy.com/ ^ http://www.turboirc.com/tgps/ ^ http://www.grlevelx.com/ ^ https://www.google.com/mobile/default/maps.html ^ http://www.polarnavy.com/main/prod2 ^ http://www.aviasail.com ^ ゼンリン電子地図帳Zi12 機能紹介 (株)ゼンリン ^ カシミール3D 初心者ガイド２.GPS機種の選定, DAN杉本 National Marine Electronics Association NMEA's website about NMEA 0183 NMEA Protocol Conversion NMEA data information Sirf-Chipset NMEA data reference manual LGPL C library for parsing and generation of the NMEA protocol Open Source (New BSD License) C# library for parsing NMEA protocol NMEA Specifications at APRS Info MTK proprietary NMEA extensions