問題タブ [nmea]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
565 参照

gps - 実際の COM ポートと仮想 COM ポート

仮想シリアル ポート ペア (fabula 仮想シリアル ポート キットを使用して作成) に送信された GPS NMEA データは、ツール/GPS/GPS インポート メニューで利用可能なリアルタイム オプションを使用して Google Earth にプロットされます。結果は満足です。2 つの端末間でヌル モデム ケーブル (フル ハンドシェーク) を使用してテストした場合、同じセットアップは否定的な結果をもたらします。どちらの場合も、ボーレートは 9600 で一定に保たれます。誰かが何が問題なのか教えてください。

0 投票する
4 に答える
9312 参照

gps - ublox NEO 6m: UBX コマンド サニティ チェック (フレッチャー チェックサム付き!)

新しい GPS シールドを Teensy 3.1 (Arduino 互換) マイクロコントローラーでうまく動作させる方法がわからないため、数日間キーボードに頭をぶつけていました。

問題の GPS シールドはiteaduino ベースのもので、ここで見ることができます。

TinyGPS Arduino ライブラリを使用して、Teensy の UART ピンで NEO 6 gps モジュールからの受信データを解析し、緯度と経度を Arduino IDE のシリアル モニターに出力することに問題はありません。

NEO 6 に NMEA コマンドまたは UBX コマンドを発行しようとすると、問題が発生します。モジュールを実際に制御する唯一の方法は、同じ 6 つの NMEA メッセージを毎秒送信するだけではありません。(たとえば、UBX RXM-PMREQ コマンドを発行しないと、モジュールを省電力モードに設定できません)。

ukhas が提供する例に基づいてコードを作成することから始めましたが、それを機能させることができませんでした。そこで、基本的に次のことを行う簡単な小さなプログラムを作成しました。

  1. NEO 6 モジュールへのシリアル通信を 9600 ボーで確立
  2. UBX プロトコルに従う 11 バイトのデータ パケットを GPS モジュールに送信し、NMEA 緯度/経度メッセージの送信を停止するように指示します。
  3. GPS モジュールからの着信データ パケットを解析して、ACK (確認応答) メッセージを検索します。

確認メッセージは来ません!私は何を間違っていますか?!

これが私のコードです:

GPS モジュールがコマンドに応答しない理由がよくわかりません。それは横柄に見え始めています。シリアル モニタの出力は次のとおりです。

そして、これはUARTを介して入ってくる生のバイトの例です(これらはarduinoのシリアルモニターに送信されました)

0 投票する
1 に答える
282 参照

c - MCU で nmealib を使用しても安全ですか?

STM32 でnmealib ( http://nmea.sourceforge.net/ ) を使用できるかどうか疑問に思っています。ライブラリは bget を介して動的メモリ割り当てを使用しますが、組み込みデバイスに適用できますか? 誰かがARMで(OSなしで)使用したのでしょうか?では、メモリリークはどうですか?

0 投票する
0 に答える
820 参照

delphi - Serial Port Async Pro から NMEA データを受信できない

サンプル デモ プログラムを使用して、GPS から NMEA データを取得しようとしています。Aysnc Pro - バージョン 5 ( TApdComPort)コンポーネントで Delphi を使用しています。イベントを使用OnTriggerAvailして NMEA 文字列をキャプチャしました。GPSユニットが異なるデータ数を供給していることがわかりました。ほとんどの場合、一度に 1 つの ASCII 文字をフィードします。バッファー文字列を使用してすべてのデータをキャプチャし、必要な NMEA センテンスを入力します。私のデモプログラムではすべて正常に動作します。

しかし問題は、デモ コードをメイン アプリケーションに統合したときに発生します。私のメイン プログラムは、単一の ASCII 文字の受信をうまく処理できないと思います。デバッグ中に、受信データ数 ( Countfrom OnTriggerEvent) が 100 を超える場合、データを入力できることに気付きました。ただし、受信データ カウントが 1 の場合 (この可能性が高い) は入力されません。

ここで私を助けてください:

  • データが単一の ASCII 文字の連続で連続して来る場合、シリアル ポートからデータを受信するためのより良い方法はありますか?
  • デモ プログラムは正常に動作するのに、メイン アプリケーションでは動作しないのはなぜですか?

ここに私のデモコードがあります

前もって感謝します

0 投票する
1 に答える
1390 参照

nmea - NMEA 2000、メッセージの繰り返しを設定

NMEA 2000 規格によれば、受信機の製造元によって指定されたメッセージの繰り返し時間を設定することができます。これは、Group Function メッセージ (PGN 126208) が送信されることによって行われます。このメッセージは 8 バイトを超えるため、トランスポート プロトコルが必要です。私の質問は、どのプロトコルが使用されているかです。TP (SAE J1939)、ETP (ISOBUS)、Fast Packet (NMEA2000) ですか?

助けてくれてありがとう

0 投票する
5 に答える
17495 参照

c++ - arduino を使用して GPS NMEA コードをデコードする

これが何度も尋ねられたことは知っていますが、本当に探しているものが見つかりません。

Arduino Uno と、GPS データをシリアルで表示する GPS Shield を使用しています。

GPS Shield に接続するために Arduino にアップロードするコードは次のとおりです。

それだけのコードです。それにもかかわらず、連続的にループするため、シリアル モニターでは、GPS データも毎秒出力されます。

毎秒の出力は次のとおりです。

毎秒更新されるため、座標が最小限に変わります。これは、GPS シールドが機能していることを意味します。

ここでの問題は、特に GPGGA 行のみで GPS データを解析し、他の行を無視したかったことです。ステータス、緯度、N/S インジケータ、経度、および E/W インジケータを解析したいと思います。

NMEA ライブラリ ( http://nmea.sourceforge.net/ )を検索しましたが、使い方がわかりません。

誰かがここで私を助けてくれますか? ありがとうございました。

0 投票する
1 に答える
7457 参照

gps - Ublox モジュールで 10 Hz のサンプリング レートを有効にする

ublox NEO-M8N-0-01 GNSS モジュールを使用しています。このモジュールは、最大 5Hz の GPS+GLONASS と 10Hz の GPS のみをサポートします。

ただし、(メッセージ ビューの UBX-CFG-RATE を使用して) サンプリング レートを変更しようとすると、5 Hz (測定期間 = 200 ミリ秒) までしか上げることができません。200 ミリ秒未満の値は使用できません (ボックスがピンクに変わります)。

NMEA メッセージ GxGGA のみを生成しても発生します。

GPSのみにした方法はUBX-CFG-GNSS経由でした

誰かがこの問題に遭遇しましたか?

前もって感謝します

ロイ・ヨゼヴィッチ

0 投票する
1 に答える
1025 参照

gps - GPSトラッカーからimeiを受け取る方法

多くの種類の GPS トラッカーが NMEA 標準の $gprmc メソッドを使用して情報をサーバーに送信していることを知りましたが、IMEI (または ID) をサーバーに送信する方法はまだわかりません (NMEA には IMEI パラメータはありません)。それについて私を助けてください?