#include <WiFi.h>
#include <PubSubClient.h>
const int ledPin = 27;
const int buttonPin = 26;
int buttonState = 0;
//14_08_2024
//dash 14_08_2024
const char* ssid = "Wokwi-GUEST"; /// wifi ssid
const char* password = "";
//credenciais da WEG
const char* Broker = "broker.app.wnology.io";
const char* ID = "66bd16dfa393d46d9524c27b";
const char* chave = "b7f5d339-26b7-44e0-8e3a-8b01d3ee6f19";
const char* senha = "909c4ea6d52379df5fde8ec94b47819130d8af01e28fa06ce834dee91892b863";
const char* Topico_PUB = "wnology/66bd16dfa393d46d9524c27b/state";
WiFiClient ESP32_WEG;
PubSubClient client(ESP32_WEG);
void setup_wifi() {
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void reconnect() {
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
if (client.connect("ESP32_WEG")) {
Serial.println("connected");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println("try again in 5 seconds");
// Wait 5 seconds before retrying
delay(5000);
}
}
}
void setup() {
pinMode(2, OUTPUT); // Initialize the BUILTIN_LED pin as an output
Serial.begin(115200);
setup_wifi();
client.setServer(Broker, 1883);
client.connect(ID, chave, senha);
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void conexao_WEG()
{
if((WiFi.status() == WL_CONNECTED))
digitalWrite(2, HIGH);
else
digitalWrite(2, LOW);
}
void EnviaWEG ()
{
int ledPin = digitalRead(27); // Lê o estado do pino 2
int buttonPin = digitalRead(26); // Lê o estado do pino 2
String payload = "{"; //início da mensagem
payload += "\"data\":{"; //"data" local para armazenar os dados na plataforma wegnology
payload += "\"ledPin\":"; //Atibuto que criou na WEGnology":
payload += ledPin; //Variável que armazena o valor que será atribuído ao atributo
payload += ",";
payload += "\"buttonPin\":"; //Atibuto que criou na WEGnology":
payload += buttonPin; //Variável que armazena o valor que será atribuído ao atributo
payload += ""; //Envio do caracter " (aspas) para finalizar o envio de uma string
payload += "}"; //Finalização dos itens dentro do local "data"
payload += "}"; //final da mensagem
Serial.println(payload);
client.publish(Topico_PUB,(payload).c_str());
delay(1000);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
EnviaWEG ();
conexao_WEG();
reconnect();
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4