Зравствуйте, есть плата ESR - WROOM-32 и модуль GPS NEO - 7M/
Подключены следующим образом с с модуля GPS на ESP
rx->txd
tx-rxd
в Настройках Ide arduino выбрана плата uPesy ESP32 Wroom DevKit/
Используется следующий скетч:
В общем всем спасибо ! Я знал, что получу много полезных советов, с сарказмом.
В итоге - 1. да действительно нужно было применить библиотеку TinyGPS. и да модуль ДОЛЖЕН питаться от 5v XD.
ОДнако, отмечу что ночью спутники так и не были обнаружены. модуль с ESP32 работал около 3 часов , но не смог извлечь нужные данные. Зато утром, настроился за несколько секунд и все заработала как надо! Остался вопрос…как синхронизировать время… буду читать документацию
#include <Arduino.h>
#include <TinyGPS++.h>
TinyGPSPlus gps;
HardwareSerial SerialGPS(2);
void setup() {
Serial.begin(115200); // RX TX
SerialGPS.begin(9600, SERIAL_8N1, 16, 17);
}
void loop() {
Serial.println("------------");
Serial.print("available(): ");ard
Serial.println(SerialGPS.available());
Serial.println("------------");
while (SerialGPS.available() > 0) {
char c = SerialGPS.read();
Serial.print(c);
gps.encode(c);
}
Serial.println();
Serial.print("time=");
Serial.println(gps.time.value()); // Raw time in HHMMSSCC format (u32)
Serial.print("hour=");
Serial.println(gps.time.hour()); // Hour (0-23) (u8)
Serial.print("minute=");
Serial.println(gps.time.minute()); // Minute (0-59) (u8)
Serial.print("second=");
Serial.println(gps.time.second()); // Second (0-59) (u8)
Serial.print("satellites=");
Serial.println(gps.satellites.value()); // Number of satellites in use (u32)
if (gps.location.isValid()) {
Serial.print("LAT=");
Serial.println(gps.location.lat(), 6);
Serial.print("LONG=");
Serial.println(gps.location.lng(), 6);
Serial.print("ALT=");
Serial.println(gps.altitude.meters());
Serial.print("speed=");
Serial.println(gps.speed.kmph());
} else {
Serial.println("not valid");
}
delay(1000);
}```