Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Benötigte Komponenten
- Schritt 2: Elektronik
- Schritt 3: Hardware Teil 1 (Vorbereitung des Krokodilkopfes)
- Schritt 4: Software
- Schritt 5: Hardware Teil 2 (wieder versiegeln)
- Schritt 6: Alternativer Build
- Schritt 7: Anhang: Zusätzliche Anzeigen/Sensoren
Video: Krokodil-Solarpoolsensor - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Diese Anleitung zeigt, wie man einen ganz speziellen Poolsensor baut, der die Pooltemperatur misst und über WLAN an die Blynk App und an einen MQTT-Broker überträgt. Ich nenne es den "Crocodile Solar Pool Sensor". Es verwendet die Arduino-Programmierumgebung und ein ESP8266-Board (Wemos D1 mini pro).
Was ist das Besondere an diesem Projekt?
- Die Optik ist einfach toll
- Völlig unabhängig von Stromquellen (Solarpanel speist den LiPo-Akku)
- ESP8266 WLAN-verbundener Sensor mit geringem Stromverbrauch
- Ziemlich hochpräziser Temperatursensor
- Datenübertragung von Temperatur und Spannung an die Blynk APP für Ihr Mobiltelefon
- Sendet auch einen "zuletzt aktualisierten" Zeitstempel an die Blynk APP
- Datenübertragung von Temperatur und Spannung an einen MQTT-Broker
- Celsius und Fahrenheit umschaltbar
- Kann umprogrammiert werden
Ihr Kenntnisstand: Mittelstufe bis Erfahren
Lieferungen
Für diesen Build müssen Sie wissen, wie Sie arbeiten mit:
- Arduino IDE (Programmierumgebung)
- ein Lötkolben
- ein Bohrer
- ein scharfes Messer
- Epoxidklebstoff
- Heißkleber
- industrieller Sprühschaum
- Sprühfarbe
Schritt 1: Benötigte Komponenten
Diese Dinge werden benötigt, um diesen schönen Poolsensor zu bauen:
- Den Krokodilkopf (geschäumter Kunststoff) finden Sie hier: Amazon: Crocodile Head
- ODER alternativ: Bootskörper (Aliexpress). Siehe dazu Schritt 6.
- ESP8266 Wemos D1 mini pro: (Aliexpress)
- Sonnenkollektor 0,25W 45x45mm: (Aliexpress)
- **BEARBEITEN nach einem Jahr Nutzung: Ich empfehle dringend, einen stärkeren Akku wie einen 18650 zu verwenden (Beispiel: Aliexpress)
- Batterielademodul TP4056: (Aliexpress)
- Wasserdichter Temperatursensor DS 18b20: (Aliexpress)
- 22 AWG-Draht (Aliexpress)
- Prototyp Leiterplatte 5x7cm (Aliexpress)
- 220 Ohm und 4,7 kOhm Widerstände
- ein kurzes USB-zu-MicroUSB-Kabel
zusätzlich:
- Isolierschaum-Dichtstoff @ Baumarkt oder hier: (Amazon)
- Wasserfeste Farbe @ Baumarkt oder hier: (Amazon)
- Füller Grundierung Spray @ Baumarkt oder hier: (Amazon)
- Flüssiges Epoxid für eine wasserdichte Beschichtung auf dem Baumarkt
- Heißkleber
Möglicherweise müssen Sie einen 3D-Drucker verwenden, um eine wasserdichte Abdeckung für den USB-Anschluss zu drucken.
Schritt 2: Elektronik
Ich dachte, es ist am einfachsten, mit einigen dieser DIY-Universal-Prototyp-Leiterplatten zu beginnen, und ich fand, dass ein 5x7cm für diesen Zweck einfach perfekt ist.
Bauschritte:
-
Bereiten Sie den D1 mini pro für die Verwendung einer externen Antenne vor:
- 0 Ohm Widerstand neben Keramikantenne ablöten
- 0 Ohm Widerstand nach unten drehen und Anschluss an externe Antenne verlöten (gute Erklärung hier - Step5)
- Platzieren Sie die Teile und entscheiden Sie sich für das Layout auf der Prototypenplatine, bevor Sie mit dem Löten beginnen
- Löten Sie die Stifte an den D1 Mini Pro
- Löten Sie die Abstandsstifte an die Prototypenplatine
- Löten Sie die Pins für die Ladeplatine an die Prototyp-Platine
- Löten Sie die Ladeplatine an die Pins
- Schneiden Sie das Kabel des Temperatursensors auf eine Länge von 20 cm
- Bitte beachten Sie das Bild oben zum Anschließen des Temperatursensors
- Löten Sie das Kabel an das Solarpanel
- Löten Sie die Solarpanel-Kabel NOCH NICHT an die Platine - diese müssen zuerst auf den Kopf des Krokodils geklebt werden
- Folgen Sie dem obigen Fritzing-Schema, um alle verbleibenden Verbindungen mit der Platine zu verlöten
- Sobald alle Komponenten verbunden und verlötet sind, verwenden Sie etwas Heißkleber, um den Akku zu befestigen. Bitte beachten Sie: Um den ESP8266 in den Ruhezustand zu versetzen, ist es notwendig, Pin D1 mit Pin RST zu verbinden. Manchmal verursacht der D1 mini pro Probleme mit der seriellen Schnittstelle, wenn Port D0 und RST verbunden sind. Der von mir verwendete (siehe Aliexpress-Link oben) hatte dieses Problem nicht. Wenn dieses Problem auftritt, müssen Sie möglicherweise einen Jumper oder einen Schalter verwenden, um die beiden Pins zu trennen, um neuen Code hochzuladen. Aber (!) dann hat man nach dem Versiegeln des Krokodilkopfes keine Chance zum Umprogrammieren. In diesem Fall brauchen Sie den USB-Port auch nicht nach außen zu bringen (z. B. um ein drittes Loch zu bohren).
Schritt 3: Hardware Teil 1 (Vorbereitung des Krokodilkopfes)
In diesem Schritt bereiten wir die Rückseite des Krokodilkopfes vor, um genügend Platz für die Elektronik zu bekommen. Und wir bohren ein paar Löcher für die Antenne, das Solarpanel und den USB-Port. Mein Projekt habe ich zuerst ohne USB-Port geplant. Aber dann dachte ich, dass es für mich unmöglich wäre, einige Software-Updates durchzuführen, wenn das Krokodil wieder versiegelt wurde. Daher habe ich mich entschieden, ein kurzes USB-Kabel Micro-USB auf USB zu verwenden, um einen externen Zugriff auf das ESP8266-Board zu ermöglichen. Nächste Schritte:
- Schneiden Sie mit einem scharfen Messer etwas mehr als 7x5 cm (Größe Ihres Prototypenboards) von der harten Oberfläche ab
- Mit einem Löffel den weicheren Schaum von innen entfernen
- Achte nur darauf, dass du genug Platz für deine Kabel und dein Board hast
- Probieren Sie aus, ob es passt und später noch Platz zum Abdecken ist
Bohren Sie nun zwei oder drei Löcher in den Kopf:
- für das Solarpanel
- für die Antenne
- (optional) für den USB-Port zur Ermöglichung einer späteren Programmierung
Verwenden Sie 2-Komponenten-Epoxidharz (5 Minuten), um diese Löcher wieder zu kleben und zu versiegeln. Verwenden Sie genug Epoxidkleber! Stellen Sie sicher, dass es danach wasserdicht ist!
- Kleben Sie das Solarpanel-Kabel an den Kopf und versiegeln Sie das Loch richtig
- Kleben Sie das Solarpanel zwischen die Augen
- Kleben Sie die Antennenbuchse auf den Kopf und verschließen Sie das Loch richtig
- Kleben Sie den USB-Stecker und versiegeln Sie das Loch richtig
Um eine Korrosion des USB-Ports durch Wasser zu vermeiden, habe ich eine kleine Schutzkappe 3D-gedruckt.
Schritt 4: Software
Sie benötigen eine laufende Arduino-Umgebung. Falls nicht, überprüfen Sie dies bitte.
Das Hardware-Setup ist einfach (auf meinem Mac):
LOLIN(WEMOS) D1 mini Pro, 80 MHz, Flash, 16M (14M SPIFFS), v2 Geringerer Speicher, Deaktivieren, Keine, Nur Skizze, 921600 auf /dev/cu. SLAB_USBtoUART
Holen Sie sich den Arduino-Code hier: Arduino-Code bei Github
Der Code sendet die Temperatur und die Spannung der Batterie an Blynk. Laden Sie einfach die Blynk-App auf Ihr Mobiltelefon und erstellen Sie ein neues Projekt. Blynk sendet Ihnen ein Auth Token für dieses Projekt. Geben Sie dieses Token in die Datei Settings.h ein. Die Standardeinstellungen werden gesendet
- die Temperatur auf VIRTUAL PIN 11
- die Spannung an VIRTUAL PIN 12
- der zuletzt aktualisierte Zeitstempel auf VIRTUAL PIN 13
aber es ist einfach, diese Pins im Code zu ändern. Spielen Sie einfach mit allen Blynk-Widgets mit V11, V12 und V13 herum - es macht Spaß. Wenn Sie neu sind, lesen Sie einfach die Anleitung meines Freundes Debasish - das meiste davon wird dort in Schritt 19 erklärt.
Die Software ist auch für die Verwendung eines MQTT-Brokers vorbereitet.
In der Settings.h gibt es eine globale Variable namens MQTT. Dies muss auf true oder false gesetzt werden, je nachdem, ob Sie MQTT verwenden oder nicht.
In meinem Fall verwende ich einen MQTT-Broker (Orange PI Zero, Mosquitto, Node-Red) und ein Dashboard, in dem alle meine Sensordaten zusammenlaufen. Wenn Sie neu bei MQTT sind, lassen Sie sich von Google bei der Einrichtung helfen.
Wenn Sie mit MQTT vertraut sind, bin ich mir ziemlich sicher, dass Sie den Code verstehen werden.
Schritt 5: Hardware Teil 2 (wieder versiegeln)
In diesem Schritt müssen wir die gesamte Elektronik (Software geladen und getestet) verpacken und den Bauch unseres Krokodils wieder versiegeln. Ich persönlich sehe zwei mögliche Lösungen:
- Verwenden Sie ein Acrylglas und kleben Sie es mit Epoxidkleber wasserdicht auf den Bauch. Verwenden Sie für das Temperatursensorkabel einen wasserdichten Kabelkanal (ich bedaure, dass ich diese Option nicht gewählt habe - nach allem, was ich durchgemacht habe, kann ich diesen Weg nur empfehlen.)
- Verwenden Sie einen Industrieschaum und füllen Sie die Lücken erneut, dann verwenden Sie wasserfeste Farbe zum Versiegeln. Und beenden Sie es mit Füller und Farbe.
Also habe ich mich für Option 2 entschieden. Die Schritte sind wie folgt:
- Solarmodulkabel an die Platine anlöten
- Antennenkabel anschließen
- Verbinden Sie das USB-Kabel mit der ESP8266-Platine (UND NICHT mit der Ladeplatine)
- Drücken Sie alle Kabel und die Platine in das Loch
- Lassen Sie 5-10cm des Temperatursensorkabels heraushängen
- Verwenden Sie den Industrieschaum, um alle Lücken zu füllen (Achtung - der Schaum dehnt sich stark aus)
- Trocknen lassen und den Schaum anschließend mit einem scharfen Messer abschneiden
- Verwenden Sie jetzt etwas wasserfeste Farbe (wird verwendet, um Dächer zu reparieren) und streichen Sie es überall an
- Lassen Sie es trocknen und verwenden Sie das Spachtelspray, um eine harte Kruste zu erzeugen (Sie müssen dies immer wieder tun)
- WICHTIGE BEARBEITUNG (nach einigen Wochen im Wasser): Tragen Sie zwei oder drei Beschichtungen mit flüssigem Epoxid auf, um eine wirklich wasserdichte Beschichtung zu erhalten.
- Trocknen lassen – FERTIG!
Schritt 6: Alternativer Build
Da der erste Build mit dem Krokodil immer noch mein Favorit ist, muss ich zugeben, dass ich den falschen Akku gewählt habe (zu schwach). Leider kann ich den Akku nicht mehr austauschen, da er im Krokodilkörper versiegelt ist.
Aus diesem Grund habe ich mich für eine andere Lösung mit einem Boot als Karosserie entschieden, um bei Bedarf besser auf die Elektronik und die Batterie zugreifen zu können.
Änderungen:
- Shell (https://www.aliexpress.com/item/32891355836.html)
- LiIon-Akku 18650
- 3D-gedruckter Einsatz zur Montage der beiden Platinen (ESP8266 und Lademodul)
Schritt 7: Anhang: Zusätzliche Anzeigen/Sensoren
Wenn Sie die Pooldaten nicht nur in der Blynk-App anzeigen möchten, können Sie sie auch an einen MQTT-Broker pushen. Dadurch können Sie mehrere weitere Möglichkeiten nutzen, um Ihre Pool- (oder andere) Daten auf verschiedenen Geräten anzuzeigen. Eines wäre Node Red Dashboard auf einem Raspberry Pi (siehe Bild oben) oder ein LED-Matrix-Display. Bei Interesse an der LED Matrix finden Sie den Code hier:
Ich habe dieses Projekt übrigens mit der Solar Weather Station kombiniert inklusive einer Zambretti Wettervorhersage aus diesem Projekt:
Die Inspiration zu dieser Solar-Wetterstation kam von meinem indischen Freund Debasish. Hier finden Sie sein anweisbares:
Erster Preis beim Sensorik-Wettbewerb