#include <WiFi.h>
#include <WebSocketsClient.h>
// Replace with your network credentials
const char* ssid = "WOKWI-GUEST";
const char* password = "";
// WebSocket client
WebSocketsClient webSocket;
// Unique ID for each ESP32 device
String deviceId = "ID1"; // Change this for each device
void webSocketEvent(WStype_t type, uint8_t * payload, size_t length) {
switch(type) {
case WStype_DISCONNECTED:
Serial.println("WebSocket Disconnected");
break;
case WStype_CONNECTED:
Serial.println("WebSocket Connected");
// Send device ID to server
webSocket.sendTXT(deviceId);
break;
case WStype_TEXT:
Serial.printf("Received: %s\n", payload);
// Process the received message
break;
}
}
void setup() {
// Initialize serial communication
Serial.begin(115200);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Connect to WebSocket server
webSocket.begin("http://192.168.156.243", 3001, "/ws"); // Replace with your server address and port
webSocket.onEvent(webSocketEvent);
}
void loop() {
// Keep the WebSocket connection alive
webSocket.loop();
}