Отправка команд PUBX на плату GPS (Ublox NEO-6M) через SoftwareSerial
У меня возникли проблемы с анализом предложений NMEA, поступающих с платы GY-NEO6MV2 (https://www.cytron.io/ p-gps-neo6mv2), используя библиотеку TinyGPS (https://github.com/mikalhart/TinyGPS) . Сама плата GPS подключена к Arduino Pro Mini 3v3 8 МГц (ATmega328)
Прежде всего, чтобы начать отладку, я хочу отключить все предложения NMEA, кроме GGA и RMC (единственные, которые мне нужны для этого проекта)
Согласно руководству, это можно сделать, отправив команды PUBX через SoftwareSerial (бинарный UBX не нужен)
Я делаю это следующим образом
#include <SoftwareSerial.h>
#include <TinyGPS.h>
// software serial GPS
// Общие контакты с (MISO 12/MOSI 11), используемыми для SPI
#define GPS_RX_PIN 12
#define GPS_TX_PIN 11
TinyGPS gps;
SoftwareSerial GPSSerial(GPS_RX_PIN, GPS_TX_PIN);
void setup()
{
Serial.begin(115200);
GPSSerial.begin(9600);
GPSSerial.print("$PUBX,40,GLL,0,0,0,0*5C\r\n");
GPSSerial.print("$PUBX,40,ZDA,0,0,0,0*44\r\n");
GPSSerial.print("$PUBX,40,VTG,0,0,0,0*5E\r\n");
GPSSerial.print("$PUBX,40,GSV,0,0,0,0*59\r\n");
GPSSerial.print("$PUBX,40,GSA,0,0,0,0*4E\r\n");
}
void loop()
{
// ...
}
Однако плата GPS не будет реагировать на эти команды и продолжит отправлять все предложения NMEA.
Кстати, это исходный код, на котором я создаю свой проект - https://github.com/billygr/arduino-aprs-tracker/blob/master/arduino-aprs-tracker.ino
Будем признательны за любые мысли...
@angularchobo, 👍1
1 ответ
Я попробовал ваш код, отправляющий эти команды PUBX в модуль ublox, и у меня они успешно работают.
В Интернете много фейков с использованием чипов AT6558, переупакованных под ublox. Проверьте сообщения GPTXT, которые выводятся при включении модуля GPS, чтобы узнать, действительно ли это модуль ublox или подделка, например:
$GPTXT,01,01,02,MA=CASIC*27
$GPTXT,01,01,02,HW=ATGM332D,0080113573899*18
$GPTXT,01,01,02,IC=AT6558-5N-31-0C500000,J7M911C-B2-008827*50
$GPTXT,01,01,02,SW=URANUS4,V4.3.0.5*18
- последовательная передача данных на GPS-экране duinopeak
- Нет данных GPS Neo 6M DFRduino Nano
- Как остановить SoftwareSerial от получения данных и повторно включить его в какой-то другой момент?
- Мусор последовательного монитора Arduino Pro Mini
- Почему SoftwareSerial не работает как надо на Arduino Pro Mini 3v3?
- Возможно ли использование двух модулей с последовательным интерфейсом на одном Arduino Uno?
- GPS-модуль uBlox Neo 6M не отвечает
- AT-команда не отвечает на последовательный монитор