Metainformationen zur Seite
Dies ist eine alte Version des Dokuments!
1. Steuerung und Spannungsversorgung
Für die Steuerung der Wetterstation verwenden wir einen ESP32 oder aber einen Raspberry (hier reicht ein Raspberry Zero2 W vollkommen aus). Welche Variante man wählt hängt stark davon ab, welche Infrastruktur bereits vorhanden ist. Definitiv benötigt man irgendwo im Netzwerk einen laufenden LoxBerry. Wo dieser läuft ist egal, aber er muss von der Wetterstation aus per WLAN erreichbar sein. Hat man bereits einen LoxBerry irgendwo laufen, so ist die ESP32-Variante die stabilste und kostengünstigste. Hat man jedoch noch keinen LoxBerry, so wählt man hier am Besten die Raspberry-Variante - der LoxBerry läuft dann direkt auf der Wetterstation und man spart sich die extra Installation eines weiteren LoxBerry. Allerdings ist der Raspberry fehleranfälliger (Betriebssystem, SD-Karte). Möchte man hingegen verschiedene Sensoren an verschiedenen Standorten betreiben, um optimale Messbedingungen zu haben (z. B. Temperatur in 2m Höhe und Windgeschwindigkeit in 10m Höhe), so bietet sich hier die ESP32 auch Bestens an.
In der folgenden Tabelle noch einmal eine kurze Zusammenfassung der Vor- und Nachteile:
ESP32 | Raspberry | |
---|---|---|
Kosten | + | - |
Wartung | + | - |
Fehleranfälligkeit | + | - |
Spannungsversorgung | + | - |
Externer LoxBerry notwendig | - | + |
Trennung verschiedener Sensoren | + | - |
Habt ihr Euch also für einen der beiden Optionen entschieden, springt ihr zunächst einmal in das jeweilige Unterkapitel der Anleitung ab:
1a. Steuerung und Spannungsversorgung - ESP32
1b. Steuerung und Spannungsversorgung - RASPBERRY
In der gesamten folgenden Anleitung sprechen wir der Einfachheit halber ausschließlich über den Raspberry und die GPIO-Bezeichnungen des Raspberrys. Das Gleiche gilt aber natürlich auch für den ESP32! Die GPIOs des Raspberrys werden über die Platine des ESP32 "übersetzt" auf die entsprechenden GPIOs des ESP32. Nur wo es explizite Änderungen von der Raspberry- zur ESP32-Version gibt, gehen wir noch einmal extra darauf ein.
Anschließend geht es dann hier mit dem Zusammenbau weiter.
Einkaufsliste
Komponente | Preis | Bezugsquelle (Beispiel) |
---|---|---|
Prototyping HAT für Raspberry Pi | 5 EUR | BerryBase |
Gehäuse, wasserdicht, 100x68x50mm | 5 EUR | Amazon |
Schrauben M2,5x8 und M3,0x8 (Set) | 9 EUR | Amazon |
3x Kabeldurchführung M12x1,5 | 1,50 EUR | Amazon oder Baumarkt |
Rohrschelle 25-28 mm / 3/4" + M8x10mm Linsenkopf | 2 EUR | Amazon oder Baumarkt |
Buchsenleiste 1-polig, RM 2,54mm (Set) | 7 EUR | Amazon |
PCB Schraubklemmen RM 2.54mm, verschiedene Größen | 1 EUR | Amazon |
GESAMT | 30 EUR |
Hinweis: Die restlichen Komponenten, die noch zum Anschluss der Sensoren notwendig sind, finden sich in den Einkaufslisten der einzelnen Sensoren in deren Unterkapiteln.
Prototyping HAT für Raspberry und ESP32
Sämtliche Sensoren müssen auf verschiedene Art und Weise mit den GPIOs des Raspberry verbunden werden. Teilweise sind auch noch zusätzliche Komponenten, z. B. PullUp-/PullDown-Widerstände oder Spannungsteiler, notwendig. Einige Sensoren werden direkt auf dem Raspberry verbaut (z. B. ein Digital-Analog-Wandler). Um das sauber auf dem Raspberry montieren zu können, nutzen wir einen Prototyping Hat.
Es gibt hier verschiedene Modelle, wir nutzen in all unseren Anleitungen diesen weit verbreiteten HAT. Das Original-Design stammt von Adafruit (weiß), man findet aber oft Nachbauten (rötlich oder blau) in den Shops, da Adafruit das Design frei zugänglich macht. Auch diese Nachbauten kann man bedenkenlos kaufen.
Bild (c) BerryBase und (c) Adafruit
Ihr findet diesen HAT oben in der Einkaufsliste. Zusätzlich benötigt ihr noch einige Schraubklemmen, um die Sensoren sauber per Klemme an den HAT anschließen zu können (die genaue Bezeichnung ist: "PCB Schraubklemmen RM 2.54mm"). Meist gibt es Sets mit verschiedenen Größen - so ein Set ist eine gute Wahl. Diese Schraubklemmen tauchen auch in den Einkaufslisten einzelner Sensoren auf, daher braucht ihr sowieso ein paar mehr. Das gleiche gilt für die Buchsenleisten: Auch hier ein Set kaufen, ihr braucht diese an verschiedenen anderen Stellen auch noch.
Schraubklemmen, Rastermaß 2,54 mm
Gehäuse
Wir verwenden ein wasserdichtes Gehäuse mit den Abmessungen 100 x 68 x 50mm. Die Gehäuse gibt es in allen gängigen Onlineshops und Plattformen - sucht ein wenig, um ein günstiges Angebot zu finden. Wenn ihr den Lichtsensor, den UV Sensor, den Dämmerungssensor, den Blitzsensor oder den Strahlungssensor bauen wollt, braucht ihr das Gehäuse gleich zweimal bzw. sogar dreimal (manchmal gibt es sie im Doppelpack günstiger). Die beigelegten Schrauben rosten sehr schnell - ich habe sie gegen Edelstahlschrauben aus dem Baumarkt ausgetauscht.
Raspberry
Um den Raspberry und die Platinen aufzunehmen, haben wir ein 3D-Druckteil entworfen. Dieses könnt ihr direkt hier herunterladen: grundplatte_100x68x50mm_v4.zip
ESP32
Um den ESP32 und die Platinen aufzunehmen, haben wir ein 3D-Druckteil entworfen. Dieses könnt ihr direkt hier herunterladen: grundplatte_100x68x50mm_esp32_v3.zip
Zusammenbau Gehäuse
Das Gehäuse benötigt insgesamt 4 Bohrungen: 3x Kabeldurchführung (12 mm) sowie eine Bohrung mittig am Boden (10mm) zur Befestigung der Rohrschelle. Leider passen nicht alle Kabeldurchführungen auf die Unterseite (was zur Wasserabweisung perfekt wäre), daher montieren wir eine Kabeldurchführung für das Kabel des Netzteils auf die Unterseite, 2 Kabeldurchführungen kommen auf die Oberseite. Von hier aus gehen zwei Kabel zu den Sensoren (siehe 2. Halterungssystem). Achtet darauf, dass die Gegenmuttern der Kabeldurchführungen sehr viel Platz im Inneren des Gehäuses einnehmen - platziert also die Bohrungen entsprechend.
Anschließend kann der Raspberry mit vier M2.5x10mm Schrauben auf dem 3D-Druck-Adapter befestigt werden. Der StepDown-Wandler zur Energieversorgung wird in die beiden Haltestege eingeclipst. Beim ESP32 kommt die gesamte Platine in die entsprechenden Clipse auf der Halterung. Dann wird die Rohrschelle auf der Rückseite mit einer M8x10mm Linsenkopfschraube befestigt. Darauf habe ich die Rohrschelle mit einer zusätzlichen Mutter und einer Unterlegscheibe geschraubt. Eine Abdichtung gegen Feuchtigkeit ist hier auf jeden Fall notwendig! Ich habe dazu Bitumendichtstoff verwendet (gibt es in einer Kartusche wie Silikon). Anschließend wird der 3D-Druckdapater eingesetzt und dieser mit zwei M3x10mm Schrauben am Gehäuse befestigt. Nun die Kabeldurchführungen einschrauben - auch hier ist eine Abdichtung notwendig! Ich habe die Kabeldurchführungen mit Epoxy-2K-Kleber eingeklebt und die oberen beiden Durchführungen zusätzlich mit Bitumendichtstoff direkt am Kabel zusätzlich abgedichtet.
Zusammenbau Prototyping HAT
Nun geht es an die Lötarbeit! Wir bauen den Prototyping HAT zum Anschluss der Sensoren an den Raspberry auf. Auf dem folgenden Bild sieht man die grundlegende Verschaltung - aber keine Angst, wir gehen schrittweise vor
Die fertige Platine von der Vorder- und Rückseite sieht dann so aus (Achtung! Auf den Bildern ist noch ein Prototyp zu sehen - die Platine sieht mittlerweile leicht anders aus!)
Grundaufbau
Zunächst beginnen wir die 40polige Steckerleiste für den Raspberry oben auf dem Board anzulöten. Anschließend werden die Schraubklemmen sowie die 1-poligen Buchsenleisten zur Aufnahme der Sensor-Module aufgelötet. Wir benötigen 2 Sensormodule (diese befinden sich auf den Einkaufslisten der einzelnen Wettersensoren im jeweiligen Unterkapitel).
Ihr benötigt:
- 4x PCB Schraubklemmen RM 2.54mm: 2-polig
- 3x PCB Schraubklemmen RM 2.54mm: 4-polig
- 1x Buchsenleiste 1-polig, RM 2,54mm: 10 Beine
- 1x Buchsenleiste 1-polig, RM 2,54mm: 6 Beine
Nur für den ESP32: Kein Sensormodul ADS1115 notwendig
In der ESP32-Variante benötigen wir das Sensormodul ADS1115 nicht, da wir die Analogeingänge des ESP32 nutzen. Daher könnt ihr an dieser Stelle auf die linke 10er Sockelleiste verzichten und anstelle der Sockelleiste eine 3er PCB-Klemme verwenden. Diese wird dann mit der 3er Klemme auf der ESP32-Platine verbunden und so die Analogeingänge an den ESP32 weitergeleitet.
Die 3er PCB Klemmleiste auf der ESP32-Platine wird nun mittels Kabeln 1:1 (also von links nach rechts) mit dieser 3er PCB Klemmleiste verbunden!
Auf die Buchsenleisten können später die beiden Sensormodule ADS1115 (für Dämmerungssensor, Windgeschwindigkeit und -richtung sowie UV-Sensor - nur für den Raspberry, nicht für den ESP32) und der INA219 (für den Solarstrahlungssensor) gesetzt werden. Von der Spannungsversorgung werden +5V sowie +12V an die gekennzeichneten Buchsen geführt.
Im nächsten Schritt verbinden wir die Spannungsversorgung von 3.3V und 12V zu den einzelnen Punkten, wo sie benötigt werden.
Kabel auf die Rückseite!
Die Kabel werden immer auf der Rückseite verlegt und an der Vorderseite an der Platine verlötet! Das Gleiche gilt auch für die Widerstände der Spannungsteiler.
Ihr benötigt:
- Kabel schwarz
- Kabel orange
- Kabel rot
Nur für den ESP32: Kein Sensormodul ADS1115 notwendig
In der ESP32-Variante könnt ihr die beiden Kabel (+3.3V,GND) zur linken 10er Buchsenleiste weglassen. Diese werden nicht benötigt, da das Sensormodul ADS1115 nicht verbaut wird.
Als letzten Schritt im Grundaufbau verbinden wir den I2C Bus (SDA und SCL) mit den jeweiligen Buchsen. Dieser Bus wird von sehr vielen Sensoren benötigt, daher braucht ihr ihn auf jeden Fall. Mit diesem Schritt ist das Grundgerüst schon einmal fertiggestellt! Im folgenden geht es dann spezifisch für die Sensoren weiter, die ihr in eurer Wetterstation auch verbauen wollt.
Ihr benötigt:
- Kabel blau
- Kabel weiß
Nur für den ESP32: Kein Sensormodul ADS1115 notwendig
In der ESP32-Variante könnt ihr die beiden Kabel (SDA,SCL) zur linken 10er Buchsenleiste weglassen. Diese werden nicht benötigt, da das Sensormodul ADS1115 nicht verbaut wird.
Dämmerungssensor KY-018
Nur für den Dämmerungssensor KY-018 notwendig!
Der Sensor wird an Ausgang A0 des Analog-Digital-Wandler ADS1115 direkt angeschlossen bzw. in der ESP32-Variante mit den Analogeingängen des ESP über die Klemmleisten weiterverbunden.
Ihr benötigt:
- Kabel gelb
UV-Sensor GUVA- S12SD
Nur für den UV-Sensor GUVA-S12SD notwendig!
Der Sensor wird an Ausgang A1 des Analog-Digital-Wandler ADS1115 direkt angeschlossen bzw. in der ESP32-Variante mit den Analogeingängen des ESP über die Klemmleisten weiterverbunden.
Ihr benötigt:
- Kabel gelb
Windrichtung (WinTopCom / Aluminium-Version)
Nur für den Windrichtungssensor Aluminium-Version notwendig!
Der Sensor wird an Ausgang A2 des Analog-Digital-Wandler ADS1115 (bzw. in der ESP32-Variante mit den Analogeingängen des ESP über die Klemmleisten weiterverbunden) über einen Spannungsteiler angeschlossen. Der Spannungsteiler besteht aus einem 5,6kOhm und 10 kOhm Widerstand. Achtet auf die richtige Reihenfolge der Widerstände! Die Widerstände kommen wie die Kabel auf die Rückseite.
Ihr benötigt:
- Kabel gelb
- Widerstand 5,6 kOhm
- Widerstand 10 kOhm
Windrichtung (Ecowitt / Kunststoff-Version)
Nur für den Windrichtungssensor Kunststoff-Version notwendig!
Der Sensor wird an Ausgang A2 des Analog-Digital-Wandler ADS1115 (bzw. in der ESP32-Variante mit den Analogeingängen des ESP über die Klemmleisten weiterverbunden) über einen Spannungsteiler angeschlossen. Der Spannungsteiler besteht aus einem variablen Widerstand (dem Windsensor an sich) und einem 4,7 kOhm Widerstand. Der Widerstand kommt wie die Kabel auf die Rückseite.
Ihr benötigt:
- Kabel gelb
- Widerstand 4,7 kOhm
Windgeschwindigkeit (WinTopCom / Aluminium-Version)
Nur für den Windgeschwindigkeitssensor Aluminium-Version notwendig!
Der Sensor wird an GPRIO27 über einen Spannungsteiler angeschlossen. Der Spannungsteiler besteht aus einem 10kOhm und 5,6 kOhm Widerstand. Achtet auf die richtige Reihenfolge der Widerstände! Diese sind unterschiedlich zum Windrichtungssensor! Die Widerstände kommen wie die Kabel auf die Rückseite.
Ihr benötigt:
- Kabel gelb
- Widerstand 5,6 kOhm
- Widerstand 10 kOhm
Windgeschwindigkeit (Ecowitt / Kunststoff-Version)
Nur für den Windgeschwindigkeitssensor Kunststoff-Version notwendig!
Der Sensor wird an GPIO27 direkt angeschlossen.
Ihr benötigt:
- Kabel gelb
Regenmengen-Sensor (beide Versionen)
Nur für den Regenmengensensor (große Version) bzw. Regenmengensensor (Alternative) notwendig!
Der Sensor wird an GPIO17 direkt angeschlossen. Der PukkDown-Widerstand ist ein 10 kOhm Widerstand, der zwischen Klemmbuchse und GND verbaut wird. Der Widerstand kommt wie die Kabel auf die Rückseite.
Ihr benötigt:
- Kabel gelb
- Widerstand 10 kOhm
Blitz-Sensor
Nur für den Blitzsensor notwendig!
Der Sensor wird an GPIO18 direkt angeschlossen.
Ihr benötigt:
- Kabel gelb
Regen-Sensor (Digital, Regen Ja/Nein)
Nur für den Regendauersensor (Digital) notwendig!
Der Sensor wird an GPIO22 direkt angeschlossen.
Ihr benötigt:
- Kabel gelb
Strahlungssensor (Solarzelle)
Nur für den Strahlungssensor notwendig!
Die Solarzelle wird an Vin+ und Vin- des INA219 Sensormoduls angeschlossen.
Ihr benötigt:
- Kabel gelb
Anschluss
Zunächst führt man das Kabel der Spannungsversorgung durch die Rohre des Haltesystems (siehe Kapitel 2. Halterungssystem) von unten in das Gehäuse ein. Ich habe auch hier Telefonkabel J-Y(St)Y 2x4x0,6 verwendet, da sich dieses gut über die Kabeldurchführung abdichten lässt. Den Anschluss an das Netzteil habe ich dann über eine Verteildose im Haus gemacht. Die Spannungsversorgung wird an die Eingangsschraubklemme des StepDown-Wandlers angeschlossen. Das Kabel für die 12V Spannungsversorgung auf dem Prototyping HAT wird ebenfalls an +12V der Schraubklemme angeschlossen. Der 5V-Ausgang des Spannungswandlers wird an die 5V-Schiene des Prototyping HATs angeschlossen.
Bei der ESP32-Variante muss die 5V Spannungsversorgung nicht mit der Prototyping HAT Platine verbunden werden! Dieses wird bereits über die Platine des ESP32 erledigt.
Wenn das abgeschlossen ist, kann der Prototyping HAT noch auf den Raspberry aufgesetzt werden und die Montage ist zunächst einmal abgeschlossen. Weiter geht's dann in den folgenden Unterkapiteln zu den einzelnen Wettersensoren.