WiFi, BBDD i Relay
- Rohit Kumar Kumar
- 14 abr 2023
- 1 Min. de lectura

Utilitzarem un relé per controlar quan s'encendrá el ventilador i quan no, això ho farem al codi de Arduino Ide via una condició IF.
//IMPORTAR LLIBRERIES
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <DHT.h>
//ASSIGNAR ELS PORTS DE ARDUINO AL CODI & VARIABLES
const int relayPin = D2; //RELÉ
const char* ssid = "SMX2A"; //SSID WIFI
const char* password = "CiclesSmx2A"; //CONTRASENYA WIFI
const char* server = "10.95.254.152"; //IP SERVIDOR APACHE-BBDD
const int httpPort = 80; //PORT QUE UTILITZA
#define DHTPIN D4 //SENSOR DE TEMPERATURA - DADES
#define DHTTYPE DHT11 //SENSOR DE TEMPERATURA - CORRENT
DHT dht(DHTPIN, DHTTYPE);
//CONFIG
void setup() {
Serial.begin(9600);
delay(1000);
//WIFI CREDENTIALS
pinMode(relayPin, OUTPUT);
WiFi.begin(ssid, password);
Serial.println("Connecting to WiFi...");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting...");
}
Serial.println("WiFi connected!");
dht.begin();
}
//REPETIR SEMPRE
void loop() {
float temperature = dht.readTemperature(); //LLEGIR TEMPERATURA
float humidity = dht.readHumidity(); //LLEGIR HUMITAT
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read data from DHT11 sensor!");
delay(2000);
return;
}
//LOGS
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
//CONDICIÓ "SI PASSA DE 25ºC, el ventilador s'activa"
if (temperature >= 25.00){
digitalWrite(relayPin, LOW);
Serial.println("Relé encendido!!");// Encender el relé
}else {
digitalWrite(relayPin,HIGH);
Serial.println("Relé Apagado!!");
}
//ENVIAR AQUESTES DADES AL SERVIDOR SQL A TRAVÉS DE "GET"
WiFiClient client;
if (client.connect(server, httpPort)) {
Serial.println("connected");
client.print("GET /afegirdades.php?EnvTemperatura=" + String(temperature) + "&EnvHumitat=" + String(humidity));
client.println(" HTTP/1.1");
client.println("Host: 10.95.254.152");
client.println("Connection: close");
client.println();
//LOGS
Serial.println("Sending request...");
Serial.println("Waiting for response...");
while (client.connected()) {
String line = client.readStringUntil('\n');
Serial.println(line);
}
client.stop();
Serial.println("Request complete!");
} else {
Serial.println("Failed to connect to server");
}
//RETRÀS DE LOOP (5 SEGONS)
delay(5000);
}
Comments