LoginSignup
0
0

More than 5 years have passed since last update.

ArduinoでNMEAを扱ってみるメモ

Last updated at Posted at 2018-07-05

Arduino

#include <TinyGPS++.h>
#include <SoftwareSerial.h>

const int PIN_RX = 8, PIN_TX = 9;

TinyGPSPlus gps;
SoftwareSerial ss(PIN_RX, PIN_TX);

void setup() {
Serial.begin(19200); 
ss.begin(19200);
ss.print("Start!");ss.println("");
}

void loop() {
  while (Serial.available() > 0){
    if (gps.encode(Serial.read())){
      ss.print("LAT=");ss.println(gps.location.lat(),6);
      ss.print("lng=");ss.println(gps.location.lng(),6);
      ss.print("ALT=");ss.println(gps.altitude.meters());
    }
  }
}

メモ

・速度設定だいじ。でもMacだとsttyガン無視してるぽい。

$ sudo stty -F /dev/ttyUSB0 19200

・GPSの特性上、GPSアンテナと受信機をラズパイとかに接続して屋外や屋根に置いといて、RTKLIBにあるstr2strとかstrsvrでwifiで屋内にまで飛ばし、屋内でぬくぬくと実験することが多いかと思います。
そんなひきこもり諸君に朗報。
こんな感じでUSBシリアルにNMEAを投げられます。

$ sudo sh -c "nc 192.168.1.1 2101 > /dev/ttyUSB0"

また、U-blox社の受信機を使っているとNMEA+RTCM3とか、NMEA+UBXとかにしてる人もいるかと思います。その場合バイナリ値が混じってしまって正しく動かないのは想像難しくないですが、こんな感じで簡単に取り除けます。

sudo sh -c "nc 192.168.1.1 2101 |grep -a -E "^[\$]" > /dev/ttyUSB0"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0