#include <WiFi.h>
// SSID dan password WiFi
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// Port UDP
const int udpPort = 12345;
// Objek WiFiUDP untuk menerima data UDP
WiFiUDP udp;
void setup() {
Serial.begin(115200);
// Menghubungkan ke WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
// Menampilkan alamat IP ESP32 setelah terhubung ke WiFi
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// Mulai menerima data UDP pada port yang ditentukan
udp.begin(udpPort);
Serial.println("UDP server started");
}
void loop() {
// Cek apakah ada data UDP yang diterima
int packetSize = udp.parsePacket();
if (packetSize) {
// Membaca data UDP yang diterima ke buffer
char packetBuffer[255];
int bytesRead = udp.read(packetBuffer, packetSize);
// Menghentikan string dengan karakter null
packetBuffer[bytesRead] = '\0';
// Menampilkan data yang diterima
Serial.print("Received packet: ");
Serial.println(packetBuffer);
// Mengirimkan balasan ke alamat pengirim
udp.beginPacket(udp.remoteIP(), udp.remotePort());
udp.print("Data received successfully!");
udp.endPacket();
}
}