#include <DHT.h>
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <PubSubClient.h>
String nome_wifi = "Wokwi-GUEST";
String senha = "";
WiFiClientSecure espClient;
PubSubClient MQTT(espClient);
char* broker = "9d19cc700cc44018b16cc529b323fc9d.s1.eu.hivemq.cloud";
int trig = 23;
int echo = 22;
String estado;
void setup() {
Serial.begin(9600);
pinMode(trig, INPUT);
pinMode(echo, OUTPUT);
conectarWifi();
espClient.setInsecure();
MQTT.setServer(broker, 8883);
}
void loop() {
if(MQTT.connected() == false){
ConectarMQTT();
}
MQTT.loop();
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
long duracao = pulseIn(echo, HIGH);
int distancia = duracao * 0.0343 / 2;
Serial.print("distancia: ");
Serial.print(distancia);
Serial.println("cm");
delay(1000);
if(distancia <= 20){
const char* estado = "True";
MQTT.publish("aula/10/ex2/estado",);
}
}
void ConectarMQTT(){
Serial.print("Conectando ao MQTT...");
if(MQTT.connect("Aluno1", "ricardodias", "TesteSenai1")){
Serial.println("Conectado");
}else{
Serial.println("erro ao conectar!");
}
}
void conectarWifi(){
//Inicia a conexao WIFI passando como parametro nome e senha da rede
WiFi.begin(nome_wifi, senha);
Serial.print("Conectando");
Serial.println(nome_wifi);
while(WiFi.status() != WL_CONNECTED ){
Serial.print(".");
delay(500);
}
Serial.print("Wifi conectado! Ip obtido");
//Exibir o ip no monitor
Serial.println(WiFi.localIP());
}