#include <WiFi.h> // Biblioteca padrão para conexão Wi-Fi
#include <Wire.h> // Biblioteca para comunicação I2C
#include <LiquidCrystal_I2C.h> // Biblioteca para o LCD I2C
const char* ssid = "Wokwi-GUEST"; // Nome da rede Wi-Fi
const char* password = ""; // Senha da rede Wi-Fi
WiFiServer server(80); // Inicializa o servidor na porta 80
#define POT_PIN 34 // Pino do potenciômetro
int valorPot = 0;
// Configuração do LCD 16x2 no endereço padrão 0x27
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
// Conectando ao Wi-Fi
Serial.println("Conectando ao Wi-Fi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("\nWi-Fi Conectado!");
Serial.print("Endereço IP: ");
Serial.println(WiFi.localIP()); // Mostra o IP do ESP32
server.begin(); // Inicia o servidor
// Configuração do LCD
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Monitor Online");
delay(2000);
}
void loop() {
// Lê o valor do potenciômetro
valorPot = analogRead(POT_PIN);
float bpm = map(valorPot, 0, 4095, 40, 120); // Simula frequência cardíaca
float spo2 = map(valorPot, 0, 4095, 85, 100); // Simula oxigenação
// Atualiza o display LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("BPM: ");
lcd.print(bpm);
lcd.setCursor(0, 1);
lcd.print("SpO2: ");
lcd.print(spo2);
lcd.print("%");
delay(1000); // Atualiza a cada segundo
// Processa requisições de clientes
WiFiClient client = server.available();
if (client) {
Serial.println("Cliente conectado");
String request = client.readStringUntil('\r'); // Lê a solicitação HTTP
Serial.println(request);
// Envia uma resposta para o cliente
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<h1>Monitoramento Pós-Operatório</h1>");
client.print("<p>BPM: ");
client.print(bpm);
client.println("</p>");
client.print("<p>SpO2: ");
client.print(spo2);
client.println("%</p>");
client.println("</html>");
client.stop();
Serial.println("Cliente desconectado");
}
}