#include <WiFi.h>
#include <PubSubClient.h> //MQTT
#define MQTT_SERVER "broker.hivemq.com"
#define MQTT_PORT 1883
#define MQTT_USERNAME "fjfhgicnjgugusuhcusdhcs"
#define MQTT_PASSWORD "ijfi2123kmdkkcushus"
#define MQTT_NAME "fnvdjninvinbbvnjnv"
const char*topic = "vfkvnnv";
WiFiClient client;
PubSubClient mqtt(client);
const char*WIFI_NAME = "Wokwi-GUEST";
const char*WIFI_PASS = "";
#define led1 4
#define led2 5
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
WiFi.begin(WIFI_NAME,WIFI_PASS);
while(WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.print(".");
}
Serial.println("Connected!");
mqtt.setServer(MQTT_SERVER,MQTT_PORT);
mqtt.setCallback(callback);
}
void loop() {
if(mqtt.connected() == false)
{
Serial.print("MQTT connecting....");
if(mqtt.connect(MQTT_NAME,MQTT_USERNAME,MQTT_PASSWORD))
{
Serial.println("MQTT connected");
mqtt.subscribe(topic);
delay(1000);
}
else
{
Serial.println("MQTT Failed Connect");
delay(3000);
return;
}
}
else
{
mqtt.loop();
}
}
void callback(char*topic, byte*payload, unsigned int lenght)
{
Serial.println(topic);
String msg = "";
int i = 0;
while(i<lenght)
{
msg += (char)payload[i++];
}
Serial.println(msg);
if(msg == "ON1")
{
digitalWrite(led1,HIGH);
}
else if(msg == "OFF1")
{
digitalWrite(led1,LOW);
}
else if(msg == "NO2")
{
digitalWrite(led2, HIGH);
}
else if(msg == "OFF2")
{
digitalWrite(led2, LOW);
}
}