#include <WiFi.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
const char* ssid = "Wokwi-GUEST";
const char* password = "";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
// Inicializa la pantalla OLED
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
// Conéctate a la red Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
display.clearDisplay();
display.setCursor(0, 0);
display.println("Conectando a WiFi...");
display.display();
}
display.clearDisplay();
display.setCursor(0, 0);
display.println("Conexión WiFi exitosa");
display.display();
// Inicia el servidor web
server.begin();
}
void loop() {
// Espera una conexión entrante
WiFiClient client = server.available();
if (!client) {
return;
}
// Espera a que se envíe un código de barras desde el monitor serial
while (!Serial.available()) {
delay(1);
}
// Lee el código de barras ingresado manualmente en el monitor serial
String barcode = Serial.readStringUntil('\n');
Serial.println("Código de barras recibido: " + barcode);
// Muestra el código de barras en la pantalla OLED
display.clearDisplay();
display.setCursor(0, 0);
display.println("Código de barras:");
display.println(barcode);
display.display();
// Cierra la conexión con el cliente
client.stop();
}