#include #include const int IN1 = 2; const int IN2 = 4; const char* ssid = "ALBER 2.4G"; const char* password = "asrael2050"; const char* mqtt_server = "broker.emqx.io"; const int mqtt_port = 1883; const char* topic = "motor/control"; WiFiClient espClient; PubSubClient client(espClient); void callback(char* topic, byte* payload, unsigned int length) { String msg; for (int i = 0; i < length; i++) { msg += (char)payload[i]; } msg.trim(); if (msg == "adelante") { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); } else if (msg == "stop") { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); } } void reconnect() { while (!client.connected()) { if (client.connect("ESP32-Motor")) { client.subscribe(topic); } else { delay(2000); } } } void setup() { Serial.begin(115200); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } client.setServer(mqtt_server, mqtt_port); client.setCallback(callback); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); }