#include <WiFi.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
const char *ssid = "ESP32-Receiver";
const char *password = "password";
WiFiServer server(80);
Adafruit_SSD1306 display(128, 64, &Wire, -1);
void setup()
{
Serial.begin(115200);
WiFi.softAP(ssid, password);
server.begin();
if (!display.begin(SSD1306_I2C, 0x3C))
{
Serial.println(F("SSD1306 allocation failed"));
for (;;)
;
}
display.display();
delay(2000);
display.clearDisplay();
}
void loop()
{
WiFiClient client = server.available();
if (client)
{
String request = client.readStringUntil('\r');
client.flush();
int pos = request.indexOf("GET /");
if (pos != -1)
{
tampilkanData();
}
}
}
void tampilkanData()
{
int jarak = bacaData();
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.print("Jarak: ");
display.print(jarak);
display.print(" cm");
display.display();
}
int bacaData()
{
WiFiClient client = server.available();
if (client)
{
client.print(String("GET /") + " HTTP/1.1\r\n" +
"Host: " + WiFi.localIP().toString() + "\r\n" +
"Connection: close\r\n\r\n");
while (!client.available())
{
delay(1);
}
String response = client.readStringUntil('\r');
int jarak = response.toInt();
client.stop();
return jarak;
}
return -1;
}