Baue deine eigene Wetterstation mit Arduino und ESP32
10.12.2024 - Engine: Gemini

Schritt-für-Schritt-Anleitung zum Bau einer Wetterstation mit Arduino und ESP32
Benötigte Hardware:
- Arduino UNO oder kompatibel
- ESP32-Modul
- DHT22-Temperatur- und Feuchtigkeitssensor
- BMP280-Barometersensor
- LCD-Display (z. B. 16x2 Zeichen)
- Breadboard
- Verbindungskabel
Programmierung:
Schritt 1: Bibliotheken installieren
- Installieren Sie die Bibliotheken für DHT22, BMP280 und LCD.
Schritt 2: Sensorwerte auslesen
- Verwenden Sie die Bibliotheksfunktionen, um Temperatur, Feuchtigkeit und Luftdruck von den Sensoren auszulesen.
Schritt 3: Daten auf dem LCD anzeigen
- Senden Sie die Sensorwerte an das LCD-Display zur Anzeige.
Schritt 4: Daten an einen Server senden (optional)
- Verwenden Sie die ESP32-WiFi-Funktionen, um die Daten über MQTT oder andere Protokolle an einen Server wie ThingSpeak zu senden.
Beispieldatei:
#include <DHT.h>
#include <Adafruit_BMP280.h>
#include <LiquidCrystal.h>
#include <WiFi.h>
#include <MQTT.h>
// Sensor-Pins
#define DHT_PIN 2
#define BMP_PIN A0
// LCD-Display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Sensoren
DHT dht(DHT_PIN, DHT22);
Adafruit_BMP280 bmp(BMP_PIN);
// MQTT
const char* ssid = "your_ssid";
const char* password = "your_password";
const char* mqtt_server = "mqtt.example.com";
const int mqtt_port = 1883;
const char* mqtt_topic = "weather/data";
WiFiClient wifiClient;
MQTTClient mqttClient(wifiClient);
// Setup
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
dht.begin();
bmp.begin();
WiFi.begin(ssid, password);
mqttClient.begin(mqtt_server, mqtt_port, wifiClient);
}
// Endlosschleife
void loop() {
// Sensorwerte auslesen
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
float pressure = bmp.readPressure() / 100;
// Werte auf dem LCD anzeigen
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print("°C");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(humidity);
lcd.print("%");
// Werte an MQTT-Server senden
String payload = String(temperature) + "," + String(humidity) + "," + String(pressure);
mqttClient.publish(mqtt_topic, payload.c_str());
delay(2000);
}
Datenvisualisierung:
- Optional: Erstellen Sie ein Dashboard oder eine Website, um die Daten von ThingSpeak oder einem anderen Server anzuzeigen.
Zusätzliche Anmerkungen:
- Das ESP32-Modul kann auch für die drahtlose Übertragung der Daten an einen Computer oder ein Mobilgerät verwendet werden.
- Sie können die Wetterstation mit zusätzlichen Sensoren erweitern, z. B. Regenmesser oder Windmesser.
- Die Wetterstation kann für verschiedene Anwendungen eingesetzt werden, wie z. B. Überwachung von Gewächshäusern, Wettervorhersage oder Datenerfassung für Forschungszwecke.