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 herunterladenProjekt nachbauen
Bresser 5-in-1 Wetterdaten mit einem Heltec WiFi LoRa 32 V2 empfangen, speichern und auf einer eigenen Webseite anzeigen.
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
PHP-/MySQL-Ausgangsbasis mit Installationsdatei und Platzhaltern. Persönliche Zugangsdaten und vorhandene Messwerte sind nicht enthalten.
Webseitenvorlage herunterladenDie 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.
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
| Bauteil | Aufgabe | Hinweis |
|---|---|---|
| Bresser 5-in-1 Außensensor | Erfasst die Wetterwerte und sendet sie auf 868 MHz | Sensor-ID wird später im seriellen Monitor ermittelt |
| Heltec WiFi LoRa 32 V2 | Empfang, OLED-Anzeige und WLAN-Übertragung | SX1276 und OLED sind bereits auf dem Board vorhanden |
| 868-MHz-Antenne | Funkempfang | Vor dem Einschalten anschließen |
| Micro-USB-Datenkabel | Programmierung und Stromversorgung | Ein reines Ladekabel funktioniert nicht zum Programmieren |
| Webhosting mit PHP und MySQL/MariaDB | Speicherung und Darstellung | HTTPS 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
Arduino IDE installieren
Arduino IDE 2.x installieren und das Heltec WiFi LoRa 32 V2 per USB verbinden.
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.jsonDanach das Board WiFi LoRa 32 (V2) und den richtigen COM-Port auswählen.
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
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 ersetzenKompilieren 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
Datenbank anlegen
Im Kundenmenü des Webhosters eine MySQL-/MariaDB-Datenbank erstellen. Danach die Datei install.sql aus der Webseitenvorlage über phpMyAdmin importieren.
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';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.
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
- OLED zeigt Start, WLAN-Verbindung und anschließend Wetterdaten.
- Der serielle Monitor meldet
SX1276 OKund empfangene Sensorwerte. - Beim Upload antwortet die API mit HTTP-Status 201.
- In phpMyAdmin erscheint ein neuer Datensatz in
weather_data. - Die Startseite zeigt den neuesten Datensatz und aktualisiert sich nach weiteren Uploads.
Typische Fehler
| Fehler | Prüfung |
|---|---|
| Keine Wetterdaten empfangen | Antenne, Board V2, Sensor-ID, 868 MHz, Batterien und Abstand prüfen |
WeatherSensorCfg.h fehlt | BresserWeatherSensorReceiver vollständig im Arduino-Bibliotheksordner installieren |
| HTTP 403 | API_KEY im Sketch und $api_secret in config.php müssen identisch sein |
| HTTP 500 | Datenbankdaten prüfen und install.sql importieren |
| Keine Verbindung zum COM-Port | Datenfä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.