#include <WiFi.h>
#include <TinyGPS++.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
// Konfigurasi WiFi
const char* ssid = "Nama WiFi Anda";
const char* password = "Kata Sandi WiFi Anda";
// Konfigurasi GPS
#define GPS_SERIAL Serial2
TinyGPSPlus gps;
// Konfigurasi BME280 (opsional, digunakan untuk membaca suhu dan kelembaban)
Adafruit_BME280 bme;
void setup() {
Serial.begin(115200);
GPS_SERIAL.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Menghubungkan ke WiFi...");
}
Serial.println("Terhubung ke WiFi");
if (!bme.begin(0x76)) {
Serial.println("Tidak dapat menemukan sensor BME280, pengukuran suhu dan kelembaban akan dinonaktifkan");
}
}
void loop() {
while (GPS_SERIAL.available() > 0) {
if (gps.encode(GPS_SERIAL.read())) {
double lat = gps.location.lat();
double lon = gps.location.lng();
Serial.print("Koordinat GPS: ");
Serial.print(lat, 6);
Serial.print(", ");
Serial.println(lon, 6);
}
}
if (bme.begin(0x76)) {
float temperature = bme.readTemperature();
float humidity = bme.readHumidity();
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.print(" °C, Kelembaban: ");
Serial.print(humidity);
Serial.println(" %");
}
delay(1000);
}