#include <TinyGPS++.h>
#define GPS_BAUDRATE 9600
#define RXD2 16
#define TXD2 17
TinyGPSPlus gps;
void setup() {
Serial.begin(9600);
Serial2.begin(GPS_BAUDRATE, SERIAL_8N1, RXD2, TXD2);
Serial.println(F("NEO-6M GPS Module Simulation on ESP32"));
}
void loop() {
if (Serial2.available() > 0) {
if (gps.encode(Serial2.read())) {
Serial.print(F("Location: Vaddeswaram\t("));
Serial.println("Actual Latitude: 16.4510° N\t");
Serial.print("Actual Longitude: 80.6220° E\t");
Serial.println("Actual Altitude: 12 meters");
if (gps.location.isValid()) {
Serial.print(F("Latitude: "));
Serial.print(gps.location.lat(), 6);
Serial.print(F(", "));
Serial.print(F("Longitude: "));
Serial.print(gps.location.lat(), 6);
Serial.print(F(", "));
Serial.print(F("Altitude: "));
if (gps.altitude.isValid())
Serial.print(gps.altitude.meters());
else
Serial.println(F("INVALID"));
} else {
Serial.println(F("INVALID"));
}
Serial.println(F(")"));
Serial.println();
}
}
if (millis() > 5000 && gps.charsProcessed() < 10)
Serial.println(F("No GPS Data received: check your wiring"));
}