top of page

WiFi, BBDD i Relay

  • Foto del escritor: Rohit Kumar Kumar
    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


bottom of page