#include <ESP8266WiFi.h> // Ou WiFi.h para ESP32
#include <WebSocketsClient.h>
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
const char* serverAddress = "192.168.15.4";
const uint16_t serverPort = 8080;
const char* machineID = "VM001"; // ID único da vending machine
WebSocketsClient webSocket;
void webSocketEvent(WStype_t type, uint8_t * payload, size_t length) {
switch(type) {
case WStype_DISCONNECTED:
Serial.println("WebSocket Desconectado");
break;
case WStype_CONNECTED:
Serial.println("WebSocket Conectado");
// Envia o ID da máquina ao conectar
webSocket.sendTXT(machineID);
break;
case WStype_TEXT:
Serial.printf("Mensagem recebida: %s\n", payload);
if (strcmp((char*)payload, "release_product") == 0) {
liberarProduto();
}
break;
}
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Conectando ao WiFi...");
}
Serial.println("Conectado ao WiFi");
webSocket.begin(serverAddress, serverPort, "/");
webSocket.onEvent(webSocketEvent);
webSocket.setReconnectInterval(5000);
}
void loop() {
webSocket.loop();
}
void liberarProduto() {
// Código para acionar o mecanismo de liberação do produto
Serial.println("Produto liberado!");
}