Aquest codi en C++ per a ESP8266 configura un sistema de monitoratge del clima amb un sensor BME680, una pantalla OLED, i una pàgina web interactiva amb gràfics, mostrant dades com temperatura, humitat, pressió i hora.
const char* ssid = "EL_TEU_SSID";
const char* password = "CLAU";
📦 Libreries importades
#include <ESP8266WiFi.h> // Per connectar-se al WiFi
#include <Wire.h> // Comunicació I2C
#include <Adafruit_Sensor.h> // Interfície comuna de sensors
#include <Adafruit_BME680.h> // Llibreria específica del sensor BME680
#include <Adafruit_SSD1306.h> // Per controlar la pantalla OLED
#include <WiFiUdp.h> // Per connexions UDP
#include <NTPClient.h> // Per obtenir l'hora des d'Internet
🖥️ Configuració de l’OLED
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_SDA 14 // pin D6
#define OLED_SCL 12 // pin D5
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Es configura la mida i els pins de connexió I2C de la pantalla OLED.
🌡️ Configuració del Sensor
Adafruit_BME680 bme;
Es crea l’objecte per llegir temperatura, humitat, pressió i gas del BME680.
🌐 Servidor Web i NTP
WiFiServer server(80); // Port web
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", 2 * 3600, 60000); // Hora via NTP
S’estableix:
- Un servidor web en el port 80 per accedir des del navegador.
- Un client NTP per sincronitzar l’hora (amb zona horària GMT+2).
🖼️ Funció per mostrar les dades a l’OLED
void mostrarDatosEnOLED(...)
Mostra:
- Hora actual
- Temperatura
- Humitat
- Pressió
- IP local
A la pantalla OLED, refrescada cada segon.
🎯 Resum del funcionament
- L’ESP8266 es connecta a WiFi.
- Llegeix dades del BME680.
- Les mostra a la pantalla OLED.
- Les envia a una pàgina web que pots veure des de qualsevol dispositiu connectat a la mateixa xarxa (a través de la IP mostrada a l’OLED).
- La web mostra les dades i gràfics en temps real.
Hardware

Web

Debe estar conectado para enviar un comentario.