Inhaltsverzeichnis:
- Schritt 1: Blockschaltbild und Diskussion über die Wahl der Komponenten
- Schritt 2: Stückliste
- Schritt 3: Elektronischer Build & Firmware-Upload
- Schritt 4: Verwenden des mitgelieferten 3D-gedruckten Gehäuses
- Schritt 5: Konfigurationsserver (Zugangspunkt)
- Schritt 6: Weitere Informationen zur Verwendung des Poolmonitors mit der HAS-Beleuchtungs- und Gerätesteuerung
- Schritt 7: Downloads
Video: MQTT Schwimmbadtemperaturmonitor - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Tinkercad-Projekte »
Dieses Projekt ist eine Ergänzung zu meinen anderen Home-Automation-Projekten Smart Data-Logging Geyser Controller und Multi-Purpose-Room-Lighting and Appliance Controller.
Es handelt sich um einen am Pool montierten Monitor, der die Poolwassertemperatur, die Umgebungslufttemperatur und den Luftdruck misst. Es zeigt dann die Poolwassertemperatur auf einem lokalen LED-Balken an und überträgt über WiFi/MQTT an ein Heimsystem - in meinem Fall eine Software-Upgrade MQTT-kompatible Version des Lighting Controllers. obwohl es einfach in jedes MQTT-kompatible Home-System zu integrieren ist.
Dieses Instructable konzentriert sich auf das Design und die Konstruktion des Poolmonitors, das Upgrade des Controllers (neue Firmware und Hinzufügen eines OLED-Displays) wird in Kürze in den ursprünglichen Controller aufgenommen.
Zu den wichtigsten Funktionen gehören:
- Das Fehlen von Netzstrom am Pool bestimmt eine 18650 Batteriestromversorgung mit einem integrierten 1W Solar-Polarpanel zur Aufrechterhaltung der Batterieladung, die Batterielebensdauer wird durch die Verwendung des ESP8266 "Deep Sleep"-Modus weiter optimiert. In meiner Anlage konnte das Gerät während unserer "aktiven Schwimmbadsaison" (November bis April) ohne manuellen Eingriff der manuellen Nachladung laufen.
- Ein optionaler lokaler eingebauter 8-LED-Bargraph, der die Pooltemperatur in 1-Grad-Intervallen anzeigt.
- MQTT-Datenübertragung über lokale WiFi-Verbindung zu jedem kompatiblen Host-System.
-
Die gesamte Programmierung erfolgt über WiFi unter Verwendung des Monitors als Zugangspunkt und interner Webserver-Konfigurationsseiten, wobei alle programmierbaren Parameter im internen EEPROM gespeichert werden.
- Zeitintervalle zwischen Aufwachen und Übertragungen. Intervalle von 1 bis 60 Minuten.
-
Konfigurierbare MQTT-Themen-/Nachrichtenformate
- Individuelle Nachrichtenthemen (z. B. PoolTemp, AirTemp, BaroPress)
- Einzelnes kompaktes Thema (z. B. Pooltemperatur + Lufttemperatur + Luftdruck)
- Kompatibel mit OLED-Display, das auf Mehrzweckraumbeleuchtung und Gerätesteuerung montiert ist (siehe zum Beispiel Titelbild)
- WLAN-Netzwerk SSID und Passwort
- Access Point SSID und Passwort
-
LED-Bargraph-Steuerung
- Programmierbarer Mindesttemperaturbereich (15 bis 25'C)
- Programmierbar dauerhaft EIN, dauerhaft AUS, Nur bei Tageslicht an
Obwohl ich meine eigene Gehäuse- / Montageanordnung in 3D gedruckt und eine Leiterplatte aus einem früheren Projekt verwendet habe, können Sie buchstäblich das verwenden, was Ihren persönlichen Vorlieben entspricht, da nichts kritisch oder "in Stein gemeißelt" ist. Der letzte Abschnitt dieses Instructable enthält Gerber- und STL-Dateien für die Leiterplatten und das ABS-Gehäuse, die ich speziell für dieses Projekt entworfen habe
Schritt 1: Blockschaltbild und Diskussion über die Wahl der Komponenten
Das obige Blockdiagramm zeigt die wichtigsten Hardwaremodule des Pool Monitors.
Prozessor
Der verwendete ESP8266 kann jedes der ESP03/07/12-Basismodule bis hin zu den perfboard-freundlichen NodeMCU- und WEMOS-Modulen sein.
Ich habe den ESP-12 verwendet. Wenn Ihr Pool in einiger Entfernung von Ihrem WLAN-Router ist, bevorzugen Sie möglicherweise den ESP-07 mit einer externen Antenne. Die NodeMCU/Wemos-Module sind sehr Board-freundlich, führen jedoch aufgrund ihres zusätzlichen Onboard-Spannungsreglers und der LEDs zu einem leicht erhöhten Stromverbrauch - dies beeinträchtigt die Fähigkeit des Solarpanels, die Batterie täglich aufzuladen, und Sie benötigen möglicherweise eine regelmäßige manuelles Laden über den USB-Anschluss des Lademoduls.
Temperatursensoren - Abb. 2
Ich habe die leicht erhältlichen und kostengünstigen Metallrohr + Kabelversionen der DS18B20 Temperatursensoren verwendet, die mit ca. 1 Meter Anschlusskabel geliefert werden, da sie bereits robust und wetterfest sind. Eines mit Kabel für die Beckenwassermessung in voller Länge und eines mit gekürztem Kabel für die Umgebungslufttemperatur.
Luftumgebungssensor
Zur Messung der Umgebungsluftfeuchte und des Luftdrucks habe ich das hervorragende Modul BME280 gewählt. Sie fragen sich vielleicht, warum ich die Lufttemperatur-Messfunktion dieses Moduls nicht verwendet habe.
Der Grund ist einfach - wenn Sie, wie ich es im ursprünglichen Prototypen getan habe, diese Funktion verwenden, messen Sie am Ende die statische Lufttemperatur INNERHALB des Gehäuses, die aufgrund der inneren Eigenerwärmung des Gehäuseluftraums durch die äußere Sonne (es liest sich nachts perfekt!). Es war schnell klar, dass der Lufttemperatursensor außerhalb des Gehäuses, aber im Schatten vor direkter Sonneneinstrahlung montiert werden musste, also wechselte ich zu einem zweiten DS18B20 und stellte einen kleinen Befestigungspunkt unter dem Gehäuse bereit. Der Temperatursensor BME280 wird jedoch weiterhin als Diagnosemessung für die Schaltschranktemperatur verwendet und kann auf der Hauptseite des Konfigurationsservers überwacht werden.
LED-Bargraph - Abb. 1
Die acht lokalen LED-Ausgänge mit hoher Intensität werden von einem PCF8574-IO-Expander-Chip angesteuert, der wiederum jede LED von einem PNP 2N3906-Transistor ansteuert. Der PCF8574 zeigt in Abhängigkeit von der gemessenen Poolwassertemperatur jeweils nur eine LED an (um den Stromverbrauch zu reduzieren) und bleibt aktiv, auch wenn sich der ESP8266 im Schlafmodus befindet. Daher ist die LED-Bargraph, wenn sie aktiviert ist, die ganze Zeit aktiv.
- Wenn die gemessene Temperatur niedriger ist als die dem Bargraph zugewiesene Mindesttemperatur, leuchten BEIDE LED 1 und 2 auf.
- Wenn die gemessene Temperatur höher als die dem Bargraph+8 zugewiesene Mindesttemperatur ist, leuchten BEIDE LED 7 und 8 auf.
- Wenn die vom Ausgang des Solarpanels gemessene Lichtstärke niedriger als der in der Konfiguration programmierte Schwellenwert ist, werden die LED-Ausgänge deaktiviert, um Batteriestrom zu sparen, alternativ kann die Balkenanzeige dauerhaft deaktiviert (Schwelle auf 0) oder aktiviert werden (Schwellenwert auf 100 eingestellt).
- Wenn Ihr Build den Bargraph nicht erfordert, lassen Sie einfach den PCF8574, die LEDs, die Transistoren und die zugehörigen Widerstände weg
Solarpanel, Batterie und Batterieladeplatine
Die Grundversorgung ist einfach eine 2000mAH (oder mehr) 18650 LIPO-Batterie, die durch eine 1N4001-Diode gespeist wird, um die Batteriespannung zu reduzieren (maximal geladene Batterie = 4,1 V und maximale ESP8266-Spannung = 3,6 V).
Batterien mit geringerer Kapazität funktionieren, aber ich habe kein Gefühl, ob die tägliche Aufladung durch das Solarpanel ausreichend ist.
Hüten Sie sich vor den gekennzeichneten Akkus mit höherer Kapazität (z. B. 6800 mAh) - viele auf dem Markt sind Fälschungen. Sie werden funktionieren, aber mit welcher Kapazität und Zuverlässigkeit kann man raten.
Das 1W 5V Solarpanel wird an die Eingänge einer TP4056 LIPO Ladeplatine und deren Ausgang an die Batterie angeschlossen, somit wird die Batterie geladen wenn die Lichtstärke hoch genug ist um eine nutzbare Ladespannung zu erzeugen und auch die Batterie kann manuell über den USB-Anschluss auf der TP4056-Platine geladen.
Wenn Sie das 3D-gedruckte Gehäusedesign verwenden möchten, müssen Sie das 110 mm x 80 mm große Solarpanel verwenden. Es sind auch andere Größen erhältlich, seien Sie also beim Kauf vorsichtig, da dies bei der Auswahl Ihres Gehäusetyps / Ihrer Gehäusegröße entscheidend sein kann.
Auch ein Wort der Vorsicht bezüglich der Temperaturen. Es kann schwierig sein, die wahre maximale Temperaturgrenze dieser billigen Panels festzulegen, da sie oft nicht angegeben wird - ich habe festgestellt, dass bei einem Gerät maximal 65 ° C angegeben sind, aber bei den meisten Anbietern vor Ort nichts. Bedenken Sie nun, dass das Panel vom Design her a) schwarz ist und b) jeden Tag den ganzen Tag im hellen Sonnenlicht stehen wird - es kann besser sein, ein wenig Schatten über dem Panel zu lassen, wenn es zu heiß wird. Mein Gerät hat keinen Ausfall erlitten (installiert Anfang 2019), aber seine Zuverlässigkeit hängt sicherlich von Ihrem lokalen Klima und wahrscheinlich vom Montageort ab.
Drucktasten - Abb. 3
Sie könnten denken, dass ein Druckknopf "nur ein Druckknopf" ist, aber wenn er sich an einem Gehäuse befindet, das rund um die Uhr draußen in der Sonne und im Regen steht, müssen Sie sich um seine Spezifikation kümmern. Elektrisch ist es ein einfaches Bauteil, aber die Dichtigkeit Ihres Gehäuses hängt von der mechanischen Qualität ab. Ich habe einen sehr beliebten wasserdichten einpoligen 12-mm-Taster verwendet, der von vielen Anbietern erhältlich ist - dieser hat sich als sehr robuster Schalter erwiesen.
- Taste 1 wird als Reset-Taste verwendet - wird verwendet, um den Monitor manuell zu zwingen, eine Messung durchzuführen und das Ergebnis zu übertragen
- Wenn Taste 2 unmittelbar nach dem Drücken und Loslassen von Taste 1 gedrückt wird, wird der Monitor angewiesen, seinen Access Point (AP) mit der SSID und dem Passwort zu starten, mit denen Sie ihn zuvor programmiert haben. Falls vorhanden, leuchtet jede alternative LED des Bargraphen kurz auf, um anzuzeigen, dass der AP startet.
- Beide Tasten werden auch beim anfänglichen Build-Verfahren verwendet, um die Firmware in den Prozessor-Flash-Speicher hochzuladen.
Notiz. Das 3D-gedruckte Gehäuse ist für diese 12-mm-Schalter wie in der Stückliste aufgeführt und als solche an der Seite des Gehäuses montiert. Wenn Sie Ihr eigenes Gehäuse verwenden, würde ich empfehlen, diese unter dem Gehäuse anzubringen, um sie vor Witterungseinflüssen zu schützen.
Umschalttaste - Abb. 2
Dies wird verwendet, um den Monitor vollständig auszuschalten, wenn er nicht verwendet wird und gelagert wird. Beachten Sie, dass die Batterie und das Solarpanel miteinander verbunden bleiben (aber nicht die Elektronik) und die Batterie daher weiterhin aufgeladen wird, wenn das Panel externem Licht ausgesetzt ist.
Gehäuse - Abb. 3
Dies bleibt die letzte, aber sehr wichtige Komponente, da dies die Hauptkomponente ist, die alle anderen Teile schützt. Das Solarpanel, Druckknöpfe, Kippschalter, LEDs und Temperatursensoren müssen alle in das Gehäuse gebohrt oder geschnitten werden, so dass die Wasserdichtheit stark gefährdet ist, wenn die Abdichtung nach der Montage der Artikel nicht beachtet wird. Ich habe das Solarpanel auf die Abdeckung geklebt und dann innen mit Silikondichtung abgedichtet. Die LED-Platine wurde innen vergossen, um sicherzustellen, dass alle LED-Punkte innen abgedichtet waren. Sie erhalten das Bild - verhindern Sie potenzielle Eintrittspunkte. Da ich ein 3D-gedrucktes ABS-Modell verwendet habe, habe ich vorsichtshalber die Innenseite des Gehäuses inklusive der Hauptplatine mit PCB-Versiegelungsspray (Sie können auch nur Farbe verwenden) besprüht! Abbildung 1 zeigt das an der Beckenseite montierte Gehäuse. Die mitgelieferten STL-Dateien enthalten auch eine einfache Montagebaugruppe, mit der das Gehäuse an der oberen Wehrabdeckung montiert werden kann. Es kann überall montiert werden, je nach Länge des Wassertemperatursensorkabels, Sonneneinstrahlung und Sichtbarkeit des LED-Bargraphs, falls vorhanden.
Schritt 2: Stückliste
Ich habe eine "potenzielle" Stückliste basierend auf meiner eigenen Auswahl an Komponenten beigefügt. Wie bereits erwähnt, haben Sie tatsächlich eine große Flexibilität, wenn es um fast alle Build-Elemente geht. Ich habe einige Artikel aus der Amazon-Online-Shopping-Site nur zur Veranschaulichung ausgeschnitten und eingefügt - nicht als Angebotsempfehlung. Der 18650-Akku kann direkt lötbare Laschen für die Drähte haben oder Sie können einen "Standard" -Typ und einen Batteriehalter (wie ich) kaufen, um die Montage zu erleichtern
Sie benötigen außerdem Kleber (2-teiliges Epoxidharz empfohlen), 4 x M4-Muttern und -Schrauben.
Abhängig von Ihrem Standort haben Sie möglicherweise bequemere und/oder günstigere Lieferanten. Wenn Sie es nicht eilig haben, die Komponenten zu kaufen, verspricht AliExpress erhebliche Preisnachlässe bei einigen, wenn nicht allen wichtigen Artikeln.
Schritt 3: Elektronischer Build & Firmware-Upload
Der Schaltplan zeigt einen relativ einfachen "Standard ESP8266" ohne "Überraschungen", der nur aus dem Mikrocontroller und einer Sammlung von Eingabegeräten besteht (2 x DS18B20 Temperatursensor, 1 x BME280 Umgebungssensor, 1 x PCF8574 IO Expander, 2 x Drucktasten und eine Kombination aus Batterie/Ladegerät/Solarmodul.
ESP8266 Pinbelegung
- GPIO0 - AP-Taste starten
- GPIO2 - Nicht verwendet
- GPIO4 - I2C - SCL
- GPIO5 - I2C - SDA
- GPIO12 - DS18B20-Daten
- GPIO13 - Test - Nicht verwendet
- GPIO14 - Nicht verwendet
- GPIO16 - Aufwachen im Tiefschlaf
- ADC - Solarmodulspannung
PCF8574 Pinbelegung
- P0 - LED-Bargraph 1 - Minimale Temperatur
- P1 - LED-Bargraph 2 - Minimale Temperatur + 1'C
- P2 - LED-Bargraph 3 - Minimale Temperatur + 2'C
- P3 - LED-Balkenanzeige 4 - Minimale Temperatur + 3'C
- P4 - LED-Bargraph 5 - Minimale Temperatur + 4'C
- P5 - LED-Balkenanzeige 6 - Mindesttemperatur + 5'C
- P6 - LED-Bargraph 7 - Minimale Temperatur + 6'C
- P7 - LED-Bargraph 8 - Minimale Temperatur + 7'C
Firmware hochladen
Eine Kopie des Firmware-Quellcodes ist im Download-Bereich enthalten. Der Code wurde für die Arduino IDE Version 1.8.13 mit den folgenden Ergänzungen geschrieben ….
- ESP8266-Board-Manager (Version 2.4.2)
- OneWire-Bibliothek
- Dallas Temperaturbibliothek
- EEPROM-Bibliothek
- Adafruit BMP085-Bibliothek
- PubSubClient-Bibliothek
- Drahtbibliothek
Stellen Sie sicher, dass Sie die richtige Baudrate auf dem seriellen Monitor (115200) und die richtige Platine auswählen, je nachdem, welche Version des ESP8266-Chips Sie verwenden).
Wenn Sie weitere Anweisungen zum Einrichten der Arduino IDE benötigen, beziehen Sie sich auf meine beiden vorherigen Instructables. Wenn alles andere fehlschlägt, schreiben Sie mir eine Nachricht.
Ich habe einen Anschluss für die seriellen Portleitungen (TxD, RxD & 0V) für den Anschluss an Ihren Computer mit einem Standard-FTDI-USB-zu-TTL-Konverter eingebaut und die beiden Drucktasten bieten Ihnen die Möglichkeit, den ESP8266 in der Flash-Programmierung mit Strom zu versorgen Modus. (Schalten Sie die Stromversorgung mit SOWOHL der Reset- als auch der Start-AP-Taste ein, lassen Sie die Reset-Taste los, während Sie die Start-AP-Taste gedrückt halten, und lassen Sie dann die Start-AP-Taste los.)
Zusätzliche Bemerkungen
- Die Drucktastenanschlüsse, das Netzteil, die DS18B20-Temperatursensoren können für einfache IO-Verbindungen auf standardmäßige 0,1-Zoll-Stiftstifte herausgeführt werden
- Der 100 uF Elektrolytkondensator (C4) und der 100 nF Keramikkondensator (C6) sollten so nah wie möglich an den Stromversorgungspins des ESP8266 montiert werden.
- Der 100nF Keramikkondensator (C5) sollte so nah wie möglich an den Powerpins des PCF8574. montiert werden
- Abbildung 10 zeigt den Gesamtschaltplan - Sie können alle Komponenten auf einer Platine bauen oder mit dem PCF8574 auf 2 Platinen aufteilen, 8 x 2N3906-Transistoren (Q1 bis Q8), 16 x Widerstände (R3 bis 14, R19 bis 22), C5 auf einer "LED-Bargraph-Platine) und der Rest auf der "Controller-Platine" (das habe ich gemacht)
Schritt 4: Verwenden des mitgelieferten 3D-gedruckten Gehäuses
Die Wahl des Gehäuses ist flexibel je nach Ihren Vorlieben und Installationsanforderungen. Ich habe ein ABS-Gehäuse 3D gedruckt, das zu meiner eigenen Installation passt, und es entweder reproduzieren oder als "Inspiration" für Ihre eigene Konstruktion verwenden. Die STL-Dateien aus dem Download-Bereich können mit einer Auflösung von 0,2 mm gedruckt werden. Wenn Sie keinen 3D-Drucker besitzen oder einen Freund mit einem haben, gibt es jetzt viele kommerzielle 3D-Druckunternehmen, die in der Lage sein sollten, Ihnen einen erschwinglichen Service anzubieten.
Die einzelnen Drucksachen sind:
- A. Gehäusesockel
- B. Gehäusedeckel
- C. Kniegelenk
- D. Gehäuse-Knöchelmontage-Adapter
- E. Luftsensorhalterung
- F. Sensorkabelführung beilegen
- G. 2 x Stange (kurze und verlängerte Länge – ermöglicht eine Variation der Gesamtlänge der Halterung)
- H. Adapter für die obere Wehrabdeckung
- J. Unterer Adapter für Wehrabdeckung
Außerdem werden 4 x M4 Gewindebolzen und Muttern benötigt
Anmerkungen
- Wenn Gegenstände geklebt werden, empfehle ich ein Zweikomponenten-Epoxidharz oder einen geeigneten wetterfesten Kleber.
- Kleben Sie das Solarpanel auf den Deckel B und verwenden Sie Silikondichtmittel in der Innenseite des Deckels, um das Eindringen von Wasser an den Verbindungsflächen zu verhindern.
- Teil E wird an beliebiger Stelle mit Teil E verklebt, um den Luftsensor zu montieren. Der GESAMTE Luftsensor muss sich unter dem Gehäuseboden befinden, ohne direkte Sonneneinstrahlung (siehe Abb. 5A)
- Teil F und D sollten auch auf die Basis des Gehäuseteils E geklebt werden.
- Die Achsschenkelbaugruppe (G, C & G) passt als Steckverbindung zusammen und kann, wenn ihre Durchgangslöcher ausgerichtet sind, mit 2 x M4-Gewindebolzen und Unterlegscheiben befestigt werden (nicht festziehen, bis die gesamte Baugruppe montiert und die erforderliche Ausrichtung identifiziert ist - nicht zu fest anziehen, um ein Reißen der Kunststofffittings zu vermeiden). Schneiden Sie die Schrauben bei Bedarf auf eine geeignete Länge.
- Montieren Sie die Teile H & J an der modifizierten Wehrplattenabdeckung an einer Stelle, an der keine Gefahr von physischen Störungen oder Belastungen durch Schwimmbeckenabdeckungsriemen usw. besteht (siehe Abb. 5 C, E & F). Wenn die Wehrplattenabdeckung eine gekrümmte Oberfläche hat, schlage ich vor, dass Sie Silikondichtmittel oder Epoxid verwenden, um Teil J weiter mit der Unterseite der Wehrabdeckung zu verbinden.
- Nun kann die Einhausung mit der Achsschenkelbaugruppe (2xG & C) auf die Wehrabdeckplatte montiert werden. Diese Achsschenkelbaugruppe sitzt fest in PUSH-Passung sowohl in der Gehäusebasis als auch in der Wehrplattenabdeckung, so dass die Einheit für die Winterlagerung und/oder Wartung leicht entfernt werden kann. Kleben Sie dies NICHT an Ort und Stelle. Siehe Abb. 5D
- Abbildung 4 skizziert jedes Teil und wie sie zusammenpassen. Für die Montage habe ich ein Loch in meine obere Wehrabdeckung gebohrt, um einen Befestigungspunkt für das Montagegelenk zu schaffen (Dies bietet eine 3-dimensionale Justiermöglichkeit des Gehäuses relativ zur Montagehalterung)
Schritt 5: Konfigurationsserver (Zugangspunkt)
Alle Benutzereinstellungen des Monitors werden im EEPROM gespeichert und können über den integrierten Webserver überwacht und geändert werden, auf den zugegriffen werden kann, wenn der Monitor in den Access Point (AP)-Modus versetzt wird.
Dazu muss der Benutzer zuerst die RESET-Taste drücken und loslassen und dann sofort nach dem Loslassen die zweite KONFIGURATION-Taste 1 bis 3 Sekunden lang gedrückt halten. Beim Loslassen der Konfigurationstaste, falls vorhanden, leuchtet jede alternative LED des Balkendiagramms für einige Sekunden auf, während der AP startet.
Wenn Sie die WLAN-Netzwerkeinstellungen auf Ihrem Computer oder Mobiltelefon öffnen, wird die AP-SSID in der Liste der verfügbaren Netzwerke angezeigt. Wenn Sie den AP zum ersten Mal starten, erscheint dieser als HHHHHHHHHHHHHHHHHHHH - Setup (der Standardname), andernfalls ist es der Name, den Sie dem AP in den WiFi-Einstellungen zugewiesen haben, gefolgt von "-Setup".
Wählen Sie die SSID aus und geben Sie das Kennwort ein (die Standardeinstellung ist "Kennwort" ohne Anführungszeichen, es sei denn, Sie haben etwas anderes festgelegt.
Ihr Computer/Mobiltelefon wird mit dem AP verbunden. Öffnen Sie nun Ihren bevorzugten Webbrowser und geben Sie 192.168.8.200 in das URL-Adressfeld ein.
Ihr Browser wird auf der Hauptseite des Konfigurations-Webservers geöffnet - siehe Abbildung 6.
Hier können Sie die aktuellen Messwerte und die Schaltflächen zu den WLAN- und anderen Geräteeinstellungsseiten ablesen. Die untere Taste ist das letzte, was Sie drücken, wenn Sie alle erforderlichen Parameter geändert haben (wenn Sie sie nicht drücken, bleibt der Monitor eingeschaltet und entlädt kontinuierlich die Batterie ….
Abbildung 7
Dies ist die Seite mit den WLAN- und MQTT-Einstellungen. Sie können die aktuell gespeicherten Netzwerk- und MQTT-Details sowie alle verfügbaren Netzwerke in Reichweite des Monitors sehen, einschließlich desjenigen, zu dem Sie eine Verbindung herstellen möchten.
Wlan einstellungen
In den Feldern A und B können Sie Ihre erforderliche Netzwerk-SSID und Passwortdetails eingeben. C ist der Name, den Sie Ihrem Gerät geben möchten, und dies ist der Name der AP-SSID, wenn Sie es das nächste Mal starten. Zuletzt ist Feld D das Passwort, das Sie dem AP geben möchten.
MQTT-Einstellungen
Hier legen Sie den Namen des von Ihnen verwendeten MQTT-Brokers (E) fest und vor allem, ob der MQTT-Broker ein Cloud-basierter Broker oder ein lokaler Broker (z. B. Raspberry Pi) ist, der mit dem haushaltsüblichen WLAN verbunden ist.
Wenn Sie zuvor den Cloud-basierten Broker ausgewählt haben, sehen Sie zwei zusätzliche Felder zur Eingabe Ihres Benutzernamens und Passworts für den Broker.
Beachten Sie, dass, wenn Sie ein Feld leer lassen, dieses Feld nicht aktualisiert wird. Dadurch können Sie die Einstellungen teilweise aktualisieren, ohne alle Felder eingeben zu müssen.
Die Standardadresse beim ersten Build ist Brokername ist MQTT-Server und ist lokal verbunden.
Abbildung 8
Dies zeigt den Rest der Seite mit den Geräteeinstellungen, auf die über die Schaltfläche "Geräteeinstellungen" auf der Hauptseite zugegriffen wird.
Dies hat 2 Formate, je nachdem, ob die MQTT-Einstellungen auf "HAS HouseNode Compatible" oder Single/Compact Topics eingestellt sind
HAS HouseNode-kompatibel
Dies weist den Monitor an, seine MQTT-Daten zu formatieren, damit die Datenmessungen auf einem der scrollenden OLED-Bildschirmanzeigen auf bis zu 5 der Housenodes angezeigt werden können, die in meinem vorherigen Instructable "Multi-purpose-Room-Lighting and Appliance Controller" beschrieben sind. (Siehe den öffnenden Intro-Abschnitt für ein Bild der von Housenode angezeigten Daten. Dies wird im verlinkten Instructable (aktualisiert im November 2020) näher beschrieben.
Sie müssen den Hostnamen des HouseNode eingeben, an den Sie die Messdaten senden möchten (Feld B)
Feld C ist die Bildschirmnummer, die Sie die Daten anzeigen möchten (dies ist sinnvoll, wenn Sie die anweisbare Steuerung lesen!
Feld A ist eine einfache Aktivierung/Deaktivierung für diesen Datenrahmen - wenn deaktiviert, werden die Daten nicht gesendet.
Dies wird für bis zu 5 HouseNodes wiederholt, sodass Sie dieselben Daten an bis zu 5 verteilte Controller-Displays in Ihrem Haushalt senden können.
Einzelthema
Jede Monitor-Messung wird als separate MQTT-Nachricht mit den Themen "Pool/WaterTemp", "Pool/AirTemp" und "Pool/BaroPress" gesendet. Auf diese Weise können Sie einfach auswählen, welche Parameter Ihr MQTT-Abonnement-Master-Gerät direkt lesen möchte, anstatt alles mit dem Compact-Thema aufzunehmen und zu extrahieren, was Sie verwenden möchten.
Kompaktes Thema
Alle drei Messungen werden zu einem Home Assistant-kompatiblen Thema kombiniert, falls Ihr abonnierendes MQTT-Gerät das Format bevorzugt: Pool/{"WaterTemp":XX. X, "AirTemp":YY. Y, "BaraPress":ZZZZ. Z} wobei XX. X, YY. Y aund ZZZZ. Z sind die gemessene Wassertemperatur ('C), Lufttemperatur ('C) und der Luftdruck (mB)
Auf dieser Seite haben Sie auch die Möglichkeit auszuwählen, ob die Bargraph-LED nachts ausgeschaltet werden soll (empfohlen), um unnötigen Batterieverbrauch zu sparen. Diese wird durch die gemessene Lichtstärke (LL) des Solarpanels bestimmt und wird durch eine Messung von 0 % (dunkel) bis 100 % (hell) dargestellt. Sie können einen Schwellenwert zwischen 1 und 99% einstellen, der den Lichtschwellenwert definiert, unter dem die LEDs deaktiviert werden. 0 % deaktiviert die Balkenanzeige dauerhaft und 100 % stellen sicher, dass sie die ganze Zeit eingeschaltet ist.
Sie können auch das Zeitintervall zwischen den Datenübertragungen im Bereich von 1 bis 60 Minuten einstellen. Je länger das Intervall, desto besser das Energiemanagement und Sie sollten bedenken, dass die Pooltemperatur keine sich schnell ändernde Messung ist, sodass ein Intervall zwischen 30 und 60 Minuten in Ordnung sein sollte.
Möglicherweise stellen Sie beim ersten Mal nach dem Erstaufbau fest, dass Ihr Luftsensor (kurze Leitung) auf dem Display als Wassertemperatur angezeigt wird und umgekehrt! (getestet, indem Sie den Sensor in der Hand halten und/oder den Sensor in eine Tasse heißes oder kaltes Wasser fallen lassen). Wenn dies der Fall ist, können Sie im Datenfeld "DS18B20 Pool- und Luftadressen-Indexadressen" die Indexnummer (0 oder 1) der Sensoren umkehren - Sie müssen die Einstellung hochladen und das Gerät neu starten, bevor die Sensoradressierung durchgeführt wird richtig sein.
Denken Sie zu guter Letzt daran, dass Sie auf jeder Seite, auf der Sie Werte geändert haben, die Schaltfläche "Neue Einstellungen auf das Gerät hochladen" drücken MÜSSEN, da der Monitor sonst seinen EEPROM-Speicher nicht aktualisiert!
Wenn Sie mit all Ihren Einstellungsänderungen zufrieden sind, drücken Sie die untere Taste auf der AP-Hauptseite, um den AP zu verlassen und zum normalen Monitormodus zurückzukehren. Wenn Sie sie nicht drücken, bleibt der Monitor eingeschaltet und entlädt kontinuierlich die Batterie ….
Schritt 6: Weitere Informationen zur Verwendung des Poolmonitors mit der HAS-Beleuchtungs- und Gerätesteuerung
Der Pool Monitor ist als einzelne Komponente in Ihrem eigenen MQTT-basierten Home Automation System (HAS) konzipiert. Ich habe mehrmals erwähnt, dass es ursprünglich als Mitglied meines eigenen HAS mit meinen vorherigen 2 veröffentlichten Instructables (Mehrzweck-Raumbeleuchtungs- und Gerätecontroller und Smart Data-Logging Geyser Controller) konzipiert wurde. Beide Designs haben einen gemeinsamen Konfigurationsansatz mit sehr ähnlichen integrierten Webservern, die eine konsistente und komfortable Benutzeroberfläche auf der gesamten Plattform gewährleisten.
Beide instructables wurden ursprünglich als eigenständige Module entwickelt, aber in einem kürzlich durchgeführten Upgrade habe ich die MQTT-Kommunikation in jedes eingeführt, damit Satellitensensoren (bekannt als SensorNodes) mit einem oder mehreren Controllern (bekannt als HouseNodes) verbunden werden können. Die Hauptverwendung dieses Systems besteht darin, dem Mehrzweck-Raumbeleuchtungs- und Gerätecontroller ein schönes OLED-Display hinzuzufügen und es jedem aktivierten Controller zu ermöglichen, routinemäßig alle SensorNode-Daten auf seinem lokalen OLED-Display anzuzeigen - das erste Bild oben ist von die drei Bildschirme eines HouseNodes, der durchblättert und die Daten von sich selbst, einem Geyser-Controller und dem Pool-Monitor anzeigt und so eine lokalisierte Anzeige aller erfassten Daten an jedem beliebigen Ort im Haushalt ermöglicht.
Da jeder SensorNode oder HouseNode seine Daten über MQTT erneut übertragen kann, ermöglicht dies bis zu 8 unabhängige Anzeigepunkte für Ihre HAS-Messpunkte. Alternativ kann jeder der Nodes einfach in Ihr eigenes MQTT-System integriert werden und bereits ein Freund hat den Geysir-Controller in sein Home Assistant HAS integriert.
Weitere derzeit in Entwicklung befindliche SensorNodes sind:
- PIR-Bewegungsmelder
- Infrarotstrahl-Alarmsensor
- Alarmsirene und Lampensteuerknoten
- Alarmzentrale
- Handheld-Fernbedienung
- Nur Anzeigeeinheit
Diese Einheiten werden einige Monate, nachdem sie in meinem eigenen Haus erfolgreich gelaufen sind, als Instructables veröffentlicht.
Schritt 7: Downloads
Folgende Dateien stehen zum Download bereit ….
- Die Arduino IDE-kompatible Quellcodedatei (Pool_Temperature_MQTT_1V2.ino). Laden Sie diese Datei herunter und legen Sie die Datei in einem Unterverzeichnis Ihres Arduino Sketches-Verzeichnisses namens "Pool_Temperature_MQTT_1V2.
- Die einzelnen STL-Dateien für alle 3D-gedruckten Artikel (*. STL) komprimiert in einer Datei Pool_Monitor_Enclosure.txt. Laden Sie die Datei herunter, benennen Sie die Dateierweiterung von txt in zip um und extrahieren Sie dann die erforderlichen. STL-Dateien. Ich habe sie mit einer Auflösung von 0,2 mm auf einer 20%-Datei mit ABS-Filament mit einem Tiertime Upbox + 3D-Drucker gedruckt.
- Ich habe auch eine Reihe von JPEG-Dateien (FiguresJPEG.txt) enthalten, die alle in diesem Instructable verwendeten Figuren abdecken, damit Sie sie bei Bedarf separat in einer für Sie hilfreicheren Größe drucken können. Laden Sie die Datei herunter, benennen Sie die Dateierweiterung von txt in zip um und extrahieren Sie dann die erforderlichen JPEG-Dateien.
Empfohlen:
MQTT Broker (Mosquitto) unter Windows installieren: 7 Schritte
Installation von MQTT Broker (Mosquitto) unter Windows: Was ist Broker? Der MQTT-Broker ist ein Datenverwaltungszentrum oder wird allgemein als "Server" bezeichnet. Der Mosquitto-Broker ist dafür verantwortlich, alle Nachrichten zu bearbeiten, Nachrichten zu filtern, zu entscheiden, wer daran interessiert ist und dann die
So richten Sie Mosquitto MQTT auf AWS ein: 8 Schritte
So richten Sie Mosquitto MQTT auf AWS ein: Hallo! Ich werde für meine IOT-Projekte einen privaten MQTT-Broker mit Passwort auf meinem AWS-Konto (amazon web service) einrichten. Um dies zu tun, habe ich ein kostenloses Konto bei AWS erstellt, das für 1 Jahr gültig ist, indem ich hierher gehe:
NodeMCU - MQTT-Basisbeispiel: 4 Schritte
NodeMCU - MQTT Basic Example: Diese Lektion zeigt die grundlegende Verwendung des MQTT-Protokolls auf dem NodeMCU-Board. Wir verwenden hier die MQTTBox als MQTT-Client und verwenden die NodeMCU, um die folgenden Operationen durchzuführen: outTopic“alle zwei Sekunden.Subscr
MQTT-Integration: 4 Schritte
MQTT-Integration: Unser Facebook-Post: https://www.facebook.com/IoTGuruLive/videos/359772791497906
Tutorial ESP8266 und Node-RED MQTT GPIO (Mosquitto) # 1: 5 Schritte
Tutorial ESP8266 und Node-RED MQTT GPIO (Mosquitto) #1: Zur Einbindung des Moduls ESP8266 mit der Node-red IoT-Plattform wurde das MQTT-Protokoll verwendet, es gibt Client-Bibliotheken für esp8266 als MQTT in diesem Fall habe ich mich für die Bibliothek pubsubclient entschieden. In diesem Beispiel wird Node Red empfangen, der Daten empfängt von