Projekt nachbauen

Bresser 5-in-1 Wetterdaten mit einem Heltec WiFi LoRa 32 V2 empfangen, speichern und auf einer eigenen Webseite anzeigen.

Praxiserprobter AufbauAnleitung und Downloads V5.8.4

Was dieses Projekt macht

Der Bresser-Außensensor sendet Temperatur, Luftfeuchtigkeit, Wind, Windrichtung und Regen per 868-MHz-Funk. Das Heltec-Board empfängt die Daten mit seinem eingebauten SX1276-Funkchip, zeigt sie auf dem OLED an und übermittelt sie alle fünf Minuten per HTTPS an eine PHP-Schnittstelle. Die Werte werden in MySQL gespeichert und von der Wetterseite dargestellt.

Downloads

Arduino-Sketch V5.8.4

Bereinigter, vollständiger Sketch für das Heltec WiFi LoRa 32 V2. WLAN, Domain, API-Schlüssel und Sensor-ID müssen vor dem Hochladen angepasst werden.

Arduino-Code herunterladen
Webseitenvorlage V5.8.4

PHP-/MySQL-Ausgangsbasis mit Installationsdatei und Platzhaltern. Persönliche Zugangsdaten und vorhandene Messwerte sind nicht enthalten.

Webseitenvorlage herunterladen

Die Downloadlinks sind aus Sicherheitsgründen nur zehn Minuten gültig und funktionieren ausschließlich über diese Seite. Falls ein Link abgelaufen ist, diese Seite einfach neu laden.

🧩 Wetter-Widget V5.8.4

Widget zur Einbindung auf externen Webseiten inklusive sichtbarem Backlink auf Wetter Heilbronn-Biberach.

Widget herunterladen

Kompatibilität

Diese Anleitung bezieht sich auf das Heltec WiFi LoRa 32 V2 mit SX1276 und auf einen Bresser 5-in-1 Außensensor. Das Heltec V3 verwendet andere Hardware und Pinbelegungen und kann nicht ohne Anpassungen mit diesem Sketch verwendet werden.

1. Benötigte Hardware

BauteilAufgabeHinweis
Bresser 5-in-1 AußensensorErfasst die Wetterwerte und sendet sie auf 868 MHzSensor-ID wird später im seriellen Monitor ermittelt
Heltec WiFi LoRa 32 V2Empfang, OLED-Anzeige und WLAN-ÜbertragungSX1276 und OLED sind bereits auf dem Board vorhanden
868-MHz-AntenneFunkempfangVor dem Einschalten anschließen
Micro-USB-DatenkabelProgrammierung und StromversorgungEin reines Ladekabel funktioniert nicht zum Programmieren
Webhosting mit PHP und MySQL/MariaDBSpeicherung und DarstellungHTTPS wird empfohlen

Verdrahtung

Bei dieser Variante ist keine externe Verdrahtung eines Funkmoduls notwendig. Der SX1276 und das OLED sind fest auf dem Heltec-Board verbaut. Im Sketch werden für das OLED SDA an GPIO 4, SCL an GPIO 15 und Reset an GPIO 16 verwendet.

2. Arduino-IDE vorbereiten

1

Arduino IDE installieren

Arduino IDE 2.x installieren und das Heltec WiFi LoRa 32 V2 per USB verbinden.

2

Board-Unterstützung installieren

In den Voreinstellungen die Heltec-Boardverwalter-URL eintragen und anschließend im Boardverwalter das Heltec-ESP32-Paket installieren:

https://resource.heltec.cn/download/package_heltec_esp32_index.json

Danach das Board WiFi LoRa 32 (V2) und den richtigen COM-Port auswählen.

3

Bibliotheken installieren

  • BresserWeatherSensorReceiver von Matthias Prinke, für diesen Aufbau getestet mit Version 0.41.1
  • ESP8266 and ESP32 OLED driver for SSD1306 displays von ThingPulse
4

Sketch anpassen

Im heruntergeladenen Sketch diese fünf Werte ändern:

WIFI_SSID       = "DEIN_WLAN_NAME"
WIFI_PASSWORD   = "DEIN_WLAN_PASSWORT"
API_URL         = "https://www.deine-domain.de/api.php"
API_KEY         = "derselbe-lange-Schluessel-wie-in-config.php"
MY_SENSOR_ID    = 0xEF  // durch eigene Sensor-ID ersetzen
5

Kompilieren und hochladen

Sketch überprüfen, auf das Board übertragen und den seriellen Monitor auf 115200 Baud stellen. Nach erfolgreichem Empfang werden Sensor-ID und Wetterwerte ausgegeben.

Sensor-ID finden

Die Sensor-ID ist für jedes Gerät unterschiedlich. Wird mit dem voreingestellten Wert nichts empfangen, zunächst den Filter im Sketch an die im seriellen Monitor erkannte ID anpassen. Die Schreibweise 0xEF ist hexadezimal. Sensor und Empfänger zum ersten Test nah beieinander betreiben und frische Batterien verwenden.

3. Datenbank und Wetterseite installieren

1

Datenbank anlegen

Im Kundenmenü des Webhosters eine MySQL-/MariaDB-Datenbank erstellen. Danach die Datei install.sql aus der Webseitenvorlage über phpMyAdmin importieren.

2

config.php ausfüllen

Datenbankserver, Datenbankname, Benutzer, Passwort und einen langen zufälligen API-Schlüssel eintragen. Der API-Schlüssel muss exakt mit API_KEY im Arduino-Sketch übereinstimmen.

$db_host = 'localhost';
$db_user = 'DEIN_DB_BENUTZER';
$db_pass = 'DEIN_DB_PASSWORT';
$db_name = 'DEINE_DB';
$api_secret = 'DEIN_LANGER_ZUFAELLIGER_API_SCHLUESSEL';
3

Dateien hochladen

Den Inhalt des Vorlagenordners per FTP in das Webverzeichnis hochladen. Die Datei config.php darf nicht als Download angeboten werden. Bei Apache verhindert die mitgelieferte Konfiguration außerdem die Anzeige von Verzeichnisinhalten.

4

Domain und Standort anpassen

In der Vorlage nach wetter-heilbronn-biberach.de, Heilbronn-Biberach und 74078 suchen und die für die eigene Seite vorgesehenen Stellen anpassen. Den Quellenhinweis im Abschnitt „Nutzung und Backlink“ bitte erhalten.

4. Funktion prüfen

  1. OLED zeigt Start, WLAN-Verbindung und anschließend Wetterdaten.
  2. Der serielle Monitor meldet SX1276 OK und empfangene Sensorwerte.
  3. Beim Upload antwortet die API mit HTTP-Status 201.
  4. In phpMyAdmin erscheint ein neuer Datensatz in weather_data.
  5. Die Startseite zeigt den neuesten Datensatz und aktualisiert sich nach weiteren Uploads.

Typische Fehler

FehlerPrüfung
Keine Wetterdaten empfangenAntenne, Board V2, Sensor-ID, 868 MHz, Batterien und Abstand prüfen
WeatherSensorCfg.h fehltBresserWeatherSensorReceiver vollständig im Arduino-Bibliotheksordner installieren
HTTP 403API_KEY im Sketch und $api_secret in config.php müssen identisch sein
HTTP 500Datenbankdaten prüfen und install.sql importieren
Keine Verbindung zum COM-PortDatenfähiges USB-Kabel, Treiber, Port und Board-Auswahl prüfen

Nutzung und Backlink

Du darfst die bereitgestellte Webseitenvorlage als Ausgangsbasis für eine eigene private Wetterseite verwenden und verändern. Voraussetzung ist ein gut sichtbarer Quellenhinweis mit anklickbarem Link auf dieses Projekt:

<a href="https://wetter-heilbronn-biberach.de/projekt-nachbauen.php">
  Vorlage: Wetter Heilbronn-Biberach
</a>

Der Link soll auf der daraus entstandenen Wetterseite erhalten bleiben. Fremde Bibliotheken und Bestandteile behalten ihre eigenen Lizenzen. Die Vorlage wird ohne Gewähr bereitgestellt; vor dem produktiven Einsatz sind Sicherheit, Datenschutz, Impressum und die Anforderungen des eigenen Hosters selbst zu prüfen.

Sicherheitshinweis

Veröffentliche niemals dein WLAN-Passwort, Datenbankpasswort, Weathercloud-/Weather-Underground-Schlüssel oder den API-Schlüssel. Die Downloads auf dieser Seite enthalten deshalb ausschließlich Platzhalter. Verwende für jedes System eigene, lange Zugangsdaten.

Hinweis zur Arduino-/ESP32-Version

Der Sketch V5.8.4 enthält eine standardmäßig deaktivierte, optional aktivierbare Installations- und Versionsmeldung. Dabei werden höchstens einmal täglich nur eine zufällige Installations-ID, Gerätetyp und Sketch-Version an Wetter Heilbronn-Biberach übertragen. Die Funktion wird nur aktiv, wenn im Sketch INSTALLATION_PING_ENABLED bewusst auf true gesetzt wird.