Inhoudsopgave:

MQTT zwembadtemperatuurmeter - Ajarnpa
MQTT zwembadtemperatuurmeter - Ajarnpa

Video: MQTT zwembadtemperatuurmeter - Ajarnpa

Video: MQTT zwembadtemperatuurmeter - Ajarnpa
Video: Mocha afraid of the pool thermometer 2024, November
Anonim
MQTT Zwembadtemperatuurmeter
MQTT Zwembadtemperatuurmeter

Tinkercad-projecten »

Dit project is een aanvulling op mijn andere domotica-projecten Smart Data-logging Geyser Controller en Multi-purpose-Room-Lighting and Appliance Controller.

Het is een aan het zwembad gemonteerde monitor die de temperatuur van het zwembadwater, de omgevingsluchttemperatuur en de barometrische druk meet. Het geeft vervolgens de temperatuur van het zwembadwater weer op een lokale LED-balkgrafiek en verzendt deze via WiFi/MQTT naar een thuissysteem - in mijn geval een software-upgrade MQTT-compatibele versie van de Lighting Controller. hoewel het gemakkelijk te integreren is in elk MQTT-compatibel Home-systeem.

Deze Instructable richt zich op het ontwerp en de constructie van de zwembadmonitor, de upgrade van de controller (nieuwe firmware en toevoeging van een OLED-display) zal binnenkort worden opgenomen in de originele controller.

De belangrijkste kenmerken zijn onder meer:

  • De afwezigheid van elektriciteit aan het zwembad zorgt voor een 18650 batterijvoeding met een geïntegreerd 1W polar zonnepaneel om de batterijlading te behouden. De levensduur van de batterij wordt verder geoptimaliseerd door het gebruik van de ESP8266 "Deep Sleep"-modus. In mijn systeem kon de unit ons "actieve zwembadseizoen" (november tot april) doorlopen zonder handmatige tussenkomst van handmatig opwaarderen.
  • Een optioneel lokaal ingebouwd 8 LED-staafdiagram dat de zwembadtemperatuur in intervallen van 1 graad weergeeft.
  • MQTT-gegevensoverdracht via lokale WiFi-verbinding naar elk compatibel hostsysteem.
  • Alle programmering wordt bereikt via WiFi met behulp van de monitor als toegangspunt en interne webserverconfiguratiepagina's waarbij alle programmeerbare parameters worden opgeslagen in de interne EEPROM.

    • Tijdsintervallen tussen ontwaken en uitzendingen. Intervallen van 1 tot 60 minuten.
    • Configureerbare MQTT-onderwerp-/berichtformaten

      • Individuele berichtonderwerpen (bijv. PoolTemp, AirTemp, BaroPress)
      • Enkel compact onderwerp (bijv. zwembadtemperatuur + luchttemperatuur + barometrische druk)
      • Compatibel met OLED-display gemonteerd op multifunctionele ruimteverlichting en apparaatcontroller (zie bijvoorbeeld titelafbeelding)
    • WiFi-netwerk SSID en wachtwoord
    • Toegangspunt SSID en wachtwoord
    • LED-staafgrafiekbediening

      • Programmeerbaar minimum temperatuurbereik (15 tot 25'C)
      • Programmeerbaar permanent AAN, permanent UIT, Alleen aan tijdens daglicht

Hoewel ik mijn eigen behuizing / montage-opstelling 3D heb geprint en een printplaat van een vorig project heb gebruikt, kun je letterlijk gebruiken wat bij je persoonlijke voorkeuren past, want niets is kritisch of "in steen gegoten". Het laatste deel van deze Instructable bevat Gerber- en STL-bestanden voor de printplaten en ABS-behuizing die ik speciaal voor dit project heb ontworpen

Stap 1: Blokschema en discussie over de keuze van componenten

Blokdiagram en discussie over de keuze van componenten
Blokdiagram en discussie over de keuze van componenten
Blokdiagram en discussie over de keuze van componenten
Blokdiagram en discussie over de keuze van componenten

Het blokschema hierboven belicht de belangrijkste hardwaremodules van de Pool Monitor.

Verwerker

De gebruikte ESP8266 kan elk van de ESP03/07/12-basismodules zijn tot de meer perfboard-vriendelijke NodeMCU- en WEMOS-modules.

Ik heb de ESP-12 gebruikt. Als uw zwembad zich op enige afstand van uw WiFi-router bevindt, geeft u misschien de voorkeur aan de ESP-07 met een externe antenne. De NodeMCU/Wemos-modules zijn zeer boardvriendelijk, maar zullen resulteren in een licht verhoogd stroomverbruik vanwege hun extra ingebouwde spanningsregelaar en LEDS - dit heeft invloed op het vermogen van het zonnepaneel om de batterij dagelijks opgeladen te houden en u heeft mogelijk een periodieke handmatig opladen via de USB-poort op de oplaadmodule.

Temperatuursensoren - Afb. 2

Ik heb de gemakkelijk verkrijgbare en goedkope metalen buis + kabelversies van de DS18B20-temperatuursensoren gebruikt die worden geleverd met ongeveer 1 meter aansluitkabel, omdat ze al robuust en weerbestendig zijn. Een met de volledige lengte van de kabel voor de meting van het zwembadwater en een andere met een verkorte kabel voor de omgevingsluchttemperatuur.

Lucht omgevingssensor

Ik heb gekozen voor de uitstekende BME280 module voor het meten van de omgevingsluchtvochtigheid en barometrische druk. U vraagt zich misschien af waarom ik de luchttemperatuurmeetfunctie van deze module niet heb gebruikt.

De reden is simpel - als, zoals ik deed in het originele prototype, deze functie gebruikte, meet je uiteindelijk de statische luchttemperatuur BINNEN de behuizing, die de neiging heeft om hoog te lezen als gevolg van interne zelfverhitting van de luchtruimte van de behuizing door de buitenzon (het leest perfect 's nachts!). Het werd snel duidelijk dat de luchttemperatuursensor buiten de behuizing moest worden gemonteerd, maar in de schaduw, weg van het directe zonlicht, dus schakelde ik over op een tweede DS18B20 en zorgde voor een klein montagepunt onder de behuizing. De BME280-temperatuursensor wordt echter nog steeds gebruikt als diagnostische meting voor de temperatuur in de behuizing en kan worden gecontroleerd op de hoofdpagina van de configuratieserver.

LED-staafgrafiek - Afb. 1

De acht lokale LED-uitgangen met hoge intensiteit worden aangestuurd door een PCF8574 IO-expanderchip die op zijn beurt elke LED aanstuurt door een PNP 2N3906-transistor. De PCF8574 geeft slechts één LED per keer aan (om het stroomverbruik te verminderen) afhankelijk van de gemeten zwembadwatertemperatuur en blijft actief, zelfs wanneer de ESP8266 in de slaapstand staat. Dus, indien ingeschakeld, zal de LED-balkgrafiek de hele tijd actief zijn.

  • Als de gemeten temperatuur lager is dan de minimumtemperatuur die aan de staafgrafiek is toegewezen, gaan BEIDE LED 1 en 2 branden.
  • Als de gemeten temperatuur hoger is dan de minimumtemperatuur die is toegewezen aan de staafgrafiek+8, zullen BEIDE LED 7 en 8 oplichten.
  • Als het lichtniveau zoals gemeten vanaf de output van het zonnepaneel lager is dan de drempel die is geprogrammeerd in de configuratie-instellingen, worden de LED-uitgangen uitgeschakeld om batterijvermogen te besparen, of de staafgrafiek kan permanent worden uitgeschakeld (drempel ingesteld op 0) of ingeschakeld (drempel ingesteld op 100).
  • Als uw build de staafgrafiek niet nodig heeft, laat dan gewoon de PCF8574, LED's, transistors en bijbehorende weerstanden weg

Zonnepaneel, batterij en batterijlaadbord

De basisvoeding is gewoon een 2000 mAh (of meer) 18650 LIPO-batterij die wordt gevoed door een 1N4001-diode om de batterijspanning te verlagen (max. opgeladen batterij = 4,1 V en max. ESP8266-spanning = 3,6 V).

Batterijen met een lagere capaciteit zullen werken, maar ik heb geen idee of het dagelijkse opladen door het zonnepaneel voldoende zal zijn.

Pas op voor batterijen met een hogere capaciteit (bijv. 6800 mAh) - veel op de markt zijn nep. Ze zullen werken, maar bij welke capaciteit en betrouwbaarheid kan iedereen raden.

Het 1W 5V zonnepaneel is verbonden met de ingangen van een TP4056 LIPO-opladerbord en de uitgang van de laatste op de batterij, dus de batterij wordt opgeladen wanneer het lichtniveau hoog genoeg is om een bruikbare laadspanning te produceren en ook de batterij kan worden handmatig opgeladen via de USB-connector op het TP4056-bord.

Als u van plan bent om het 3D-geprinte behuizingsontwerp te gebruiken, moet u het 110 mm x 80 mm grote zonnepaneel gebruiken. Er zijn andere maten beschikbaar, dus wees voorzichtig bij het kopen, want dit kan van cruciaal belang zijn bij het selecteren van uw type/grootte woning.

Ook een waarschuwing voor temperaturen. Het kan moeilijk zijn om de echte maximale temperatuurlimiet van deze goedkope panelen vast te stellen, omdat dit vaak niet wordt vermeld - ik vond 65 ° C max gespecificeerd op één apparaat, maar niets op de meeste leveranciers ter plaatse. Bedenk nu dat het ontwerp van het paneel a) zwart is en b) elke dag de hele dag in het felle zonlicht zal staan - misschien vindt u het beter om een beetje schaduw over het paneel te laten als het te warm wordt. Mijn apparaat heeft geen enkele storing gehad (begin 2019 geïnstalleerd), maar de betrouwbaarheid ervan zal zeker afhangen van uw plaatselijke klimaat en waarschijnlijk de montageplaats.

Drukknoppen - Afb. 3

Je zou kunnen denken dat een drukknop eigenlijk "slechts een drukknop" is, maar als hij zich op een behuizing bevindt die 24/7 buiten in de zon en regen staat, dan moet je op de specificatie letten. Elektrisch is het een eenvoudig onderdeel, maar de afdichting van uw behuizing hangt af van hun mechanische kwaliteit. Ik heb een zeer populaire waterdichte enkelpolige 12 mm drukknop gebruikt die verkrijgbaar is bij veel leveranciers - dit is een zeer robuuste schakelaar gebleken.

  • Knop 1 wordt gebruikt als resetknop - wordt gebruikt om de monitor handmatig te dwingen een meting uit te voeren en het resultaat te verzenden
  • Wanneer knop 2 wordt ingedrukt onmiddellijk nadat knop 1 is ingedrukt en losgelaten, zal de monitor de opdracht geven om het toegangspunt (AP) op te starten met behulp van de SSID en het wachtwoord waarmee u deze eerder hebt geprogrammeerd. Indien aanwezig, licht elke alternatieve LED op de staafgrafiek kort op om aan te geven dat het toegangspunt wordt opgestart.
  • Beide knoppen worden ook gebruikt in de initiële buildprocedure om de firmware naar het flashgeheugen van de processor te uploaden.

Opmerking. De 3D geprinte behuizing is ontworpen voor deze 12mm schakelaars zoals vermeld in de stuklijst en worden als zodanig aan de zijkant van de behuizing gemonteerd. Als u uw eigen behuizing gebruikt, raad ik u aan deze onder de behuizing te plaatsen om ze te beschermen tegen blootstelling aan weersinvloeden.

Wisselknop - Afb. 2

Dit wordt gebruikt om de monitor volledig uit te schakelen wanneer deze niet wordt gebruikt en wordt opgeborgen. Houd er rekening mee dat de batterij en het zonnepaneel met elkaar verbonden blijven (maar niet de elektronica) en dat de batterij dus nog steeds wordt opgeladen als het paneel wordt blootgesteld aan extern licht.

Behuizing - Afb. 3

Dit blijft het laatste maar zeer belangrijke onderdeel omdat dit het hoofdonderdeel is dat alle andere onderdelen beschermt. Het zonnepaneel, drukknoppen, tuimelschakelaar, LED's en temperatuursensoren vereisen allemaal het boren of snijden van gaten in de behuizing, zodat de waterdichtheid ernstig in gevaar komt als de afdichting na het plaatsen van de items niet wordt verzorgd. Ik heb het zonnepaneel op het deksel gelijmd en vervolgens aan de binnenkant afgedicht met siliconenafdichting. Het LED-bord werd aan de binnenkant ingegoten om ervoor te zorgen dat alle LED-punten aan de binnenkant waren afgedicht. U krijgt het beeld - voorkom mogelijke toegangspunten. Omdat ik een 3D-geprint ABS-model heb gebruikt, heb ik uit voorzorg de binnenkant van de behuizing inclusief de hoofdprintplaat met PCB-afdichtingsspray gespoten (je kunt ook gewoon verf gebruiken! Afbeelding 1 toont de overdekking die aan de zwembadzijde is gemonteerd. De meegeleverde STL-bestanden bevatten ook een eenvoudige montagemontage waarmee de behuizing op de bovenklep van de waterkering kan worden gemonteerd. Het kan overal worden gemonteerd die bij u past, afhankelijk van de lengte van de kabel van de watertemperatuursensor, blootstelling aan zonlicht en de zichtbaarheid van de LED-staafgrafiek, indien aanwezig.

Stap 2: Stuklijst

Stuklijst
Stuklijst

Ik heb een "potentiële" stuklijst toegevoegd op basis van mijn eigen keuze van componenten. Zoals eerder vermeld, heb je eigenlijk veel flexibiliteit als het gaat om bijna alle build-items. Ik heb enkele items van de Amazon online shopping-site geknipt en geplakt, puur ter illustratie - niet als een aanbeveling voor levering. De 18650-batterij kan direct soldeerbare lipjes voor de draden hebben of u kunt een "standaard" type en batterijhouder kopen (zoals ik deed) voor eenvoudige montage

Je hebt ook lijm nodig (2 componenten epoxy aanbevolen), 4 x M4 moeren en bout.

Afhankelijk van uw locatie heeft u mogelijk handigere en/of goedkopere leveranciers. Als je geen haast hebt met de componenten, belooft AliExpress aanzienlijke kortingen op sommige, zo niet alle belangrijke items.

Stap 3: Elektronische build en firmware-upload

Elektronische build en firmware-upload
Elektronische build en firmware-upload
Elektronische build en firmware-upload
Elektronische build en firmware-upload

Het schema onthult een relatief eenvoudige "standaard ESP8266" zonder "verrassingen", bestaande uit alleen de microcontroller en een verzameling invoerapparaten (2 x DS18B20-temperatuursensor, 1 x BME280-omgevingssensor, 1 x PCF8574 IO-expander, 2 x drukknoppen en een accu/lading/zonnepaneel combinatie.

ESP8266 Pintoewijzingen

  • GPIO0 - Start AP-knop
  • GPIO2 - Niet gebruikt
  • GPIO4 - I2C - SCL
  • GPIO5 - I2C - SDA
  • GPIO12 - DS18B20-gegevens
  • GPIO13 - Test - Niet gebruikt
  • GPIO14 - Niet gebruikt
  • GPIO16 - Ontwaken in diepe slaap
  • ADC - Spanning zonnepaneel

PCF8574 pintoewijzingen

  • P0 - LED-balkgrafiek 1 - Minimumtemperatuur
  • P1 - LED-balkgrafiek 2 - Minimumtemperatuur + 1'C
  • P2 - LED-balkgrafiek 3 - Minimumtemperatuur + 2'C
  • P3 - LED-balkgrafiek 4 - Minimumtemperatuur + 3'C
  • P4 - LED-balkgrafiek 5 - Minimumtemperatuur + 4'C
  • P5 - LED-balkgrafiek 6 - Minimumtemperatuur + 5'C
  • P6 - LED-balkgrafiek 7 - Minimumtemperatuur + 6'C
  • P7 - LED-balkgrafiek 8 - Minimumtemperatuur + 7'C

Firmware uploaden

Een kopie van de broncode van de firmware is opgenomen in de downloadsectie. De code is geschreven voor de Arduino IDE versie 1.8.13 met de volgende toevoegingen ….

  • ESP8266 Board Manager (versie 2.4.2)
  • OneWire-bibliotheek
  • Dallas Temperature-bibliotheek
  • EEPROM-bibliotheek
  • Adafruit BMP085-bibliotheek
  • PubSubClient-bibliotheek
  • Draadbibliotheek

Zorg ervoor dat u de juiste baudrate selecteert op de seriële monitor (115200) en het juiste bord, afhankelijk van de versie van de ESP8266-chip die u gebruikt).

Als je verdere instructies nodig hebt om de Arduino IDE in te stellen, raadpleeg dan mijn twee vorige instructables, beide bevatten uitgebreide installatie-instructies en er is ook een groot aantal online r-bronnen beschikbaar. Als al het andere niet lukt, stuur me dan een bericht.

Ik heb in de build een connector voor de seriële poortlijnen (TxD, RxD & 0V) opgenomen voor aansluiting op uw computer met behulp van een standaard FTDI USB naar TTL-converter en de twee drukknoppen bieden u de mogelijkheid om de ESP8266 van stroom te voorzien in flash-programmering modus. (Schakel de stroom in met zowel de Reset- als de Start AP-knop ingedrukt, laat de Reset-knop los terwijl u de Start AP-knop ingedrukt houdt en laat vervolgens de Start AP-knop los)

extra notities

  1. De drukknopaansluitingen, voeding, DS18B20 Temperatuursensoren kunnen naar standaard 0.1" header-pinnen worden gebracht voor eenvoudige IO-verbindingen
  2. De 100 uF elektrolytische condensator (C4) en 100 nF keramische condensator (C6) moeten zo dicht mogelijk bij de voedingspinnen van de ESP8266 worden gemonteerd.
  3. De 100nF keramische condensator (C5) moet zo dicht mogelijk bij de voedingspinnen van de PCF8574. worden gemonteerd
  4. Afbeelding 10 illustreert het totale bedradingsschema - U kunt alle componenten op één bord bouwen of ze in 2 borden splitsen met de PCF8574, 8 x 2N3906 transistors (Q1 tot Q8), 16 x weerstanden (R3 tot 14, R19 tot 22), C5 op een "LED-balkgrafiekbord) en de rest op het "Controllerbord" (Dit is wat ik deed)

Stap 4: De meegeleverde 3D-geprinte behuizing gebruiken

De meegeleverde 3D-geprinte behuizing gebruiken
De meegeleverde 3D-geprinte behuizing gebruiken
De meegeleverde 3D-geprinte behuizing gebruiken
De meegeleverde 3D-geprinte behuizing gebruiken

De keuze van de behuizing is flexibel, afhankelijk van uw voorkeuren en installatievereisten. Ik heb een ABS-behuizing in 3D geprint die bij mijn eigen installatie past en deze op te nemen om te reproduceren of te gebruiken als "inspiratie" voor uw eigen constructie. De STL-bestanden uit de downloadsectie kunnen worden afgedrukt met een resolutie van 0,2 mm. Als u geen 3D-printer bezit en ook geen vriend hebt, zijn er nu veel commerciële 3D-printbedrijven die u een betaalbare service moeten kunnen bieden.

De individuele bedrukte items zijn:

  • A. Behuizingsbasis
  • B. Behuizingsdeksel
  • C. Knokkelgewricht
  • D. Knokkelbevestigingsadapter voor behuizing
  • E. Luchtsensorbevestiging
  • F. Sluit de kabelgeleider van de sensor in
  • G. 2 x staaf (korte en verlengde lengte - hiermee kan de lengte van de totale montage worden gevarieerd)
  • H. Bovenste adapter voor waterkering
  • J. Stootdeksel bodemadapter

Ook nodig zijn 4 x M4 schroefdraadbouten en moeren

Opmerkingen:

  1. Waar items worden gelijmd, raad ik een tweecomponenten epoxyhars of een geschikte weerbestendige lijm aan.
  2. Lijm het zonnepaneel op deksel B en gebruik siliconenkit aan de binnenkant van het deksel om het binnendringen van water op de verbindingsvlakken te voorkomen.
  3. Deel E wordt op elk punt op deel E gelijmd voor het monteren van de luchtsensor. ALLE luchtsensoren moeten zich onder de basis van de behuizing bevinden, buiten het directe zicht van zonlicht (Zie Fig. 5A)
  4. Deel F en D moeten ook op de basis van deel E van de behuizing worden gelijmd.
  5. De montagebeugel (G, C & G) past in elkaar als een push-passing en wanneer hun doorgaande gaten zijn uitgelijnd, kan worden vastgezet met 2 x M4 schroefdraadbouten en ringen (niet vastdraaien totdat de volledige montage is gemonteerd en de vereiste richting is geïdentificeerd - niet te vast aandraaien om te voorkomen dat de plastic fittingen barsten). Snijd de bouten indien nodig op een geschikte lengte.
  6. Monteer onderdelen H & J op de gewijzigde afdekking van de stuwplaat op een punt waar er geen risico is op fysieke interferentie of spanning door een riem van een zwembadafdekking enz. (ref. Fig. 5 C, E & F). Als de afdekking van de stuwplaat een gebogen oppervlak heeft, raad ik u aan siliconenkit of epoxy te gebruiken om deel J verder aan de onderkant van de stuwafdekking te hechten.
  7. Nu kan de behuizingsconstructie op de afdekplaat van de stuw worden gemonteerd met behulp van de fuseeconstructie (2xG & C). Deze knokkelconstructie past nauwsluitend in zowel de bodem van de behuizing als de afdekking van de stuwplaat, waardoor de unit gemakkelijk kan worden verwijderd voor opslag in de winter en/of onderhoud. Lijm dit NIET op zijn plaats. Zie Afb. 5D
  8. Figuur 4 schetst elk onderdeel en hoe ze in elkaar passen. Voor de montage-installatie heb ik een gat in mijn bovenklep geboord om een montagepunt voor de montagebeugel te bieden (Dit biedt een driedimensionale aanpassingsmogelijkheid voor de behuizing ten opzichte van de montagesteun)

Stap 5: Configuratieserver (toegangspunt)

Configuratieserver (toegangspunt)
Configuratieserver (toegangspunt)
Configuratieserver (toegangspunt)
Configuratieserver (toegangspunt)

Alle gebruikersinstellingen van de monitor worden opgeslagen in EEPROM en kunnen worden gecontroleerd en gewijzigd via de ingebouwde webserver die toegankelijk is wanneer de monitor in de Access Point-modus (AP) wordt gezet.

Om dit te doen, moet de gebruiker eerst de RESET-knop indrukken en loslaten en vervolgens onmiddellijk na het loslaten de tweede CONFIGURATIE-knop 1 tot 3 seconden ingedrukt houden. Bij het loslaten van de configuratieknop, indien aanwezig, zal elke alternatieve LED op de staafgrafiek een paar seconden oplichten, terwijl de AP zal opstarten.

Als u de WiFi-netwerkinstellingen op uw computer of mobiele telefoon opent, ziet u de AP SSID verschijnen in de beschikbare netwerklijst. Als dit de eerste keer is dat u het AP start, zal dit verschijnen als HHHHHHHHHHHHHHHHHHHH - Setup (de standaardnaam), anders is het de naam die u aan AP hebt toegewezen in de WiFi-instellingen gevolgd door "-Setup".

Selecteer de SSID en voer het wachtwoord in (de standaard is "wachtwoord" zonder de aanhalingstekens, tenzij u het op iets anders hebt ingesteld.

Uw computer/mobiele telefoon maakt verbinding met het AP. Open nu uw favoriete webbrowser en voer 192.168.8.200 in het URL-adresveld in.

Uw browser wordt geopend op de hoofdpagina van de configuratiewebserver - zie Afbeelding 6.

Hier kunt u de huidige meetwaarden en de knoppen naar de WiFi- en andere apparaatinstellingenpagina's aflezen. De onderste knop is het laatste dat u indrukt als u alle benodigde parameters hebt gewijzigd (als u er niet op drukt, blijft de monitor ingeschakeld en loopt de batterij voortdurend leeg ….

Figuur 7

Dit is de instellingenpagina voor WiFi en MQTT. U kunt het huidige opgeslagen netwerk en MQTT-details zien plus alle beschikbare netwerken binnen het bereik van de monitor, inclusief het netwerk waarmee u verbinding wilt maken.

Wifi instellingen

In veld A & B kunt u uw vereiste netwerk-SSID en wachtwoordgegevens invoeren, C is de naam die u uw apparaat wilt geven en dit is de naam van de AP-SSID de volgende keer dat u het start. Ten slotte is veld D het wachtwoord dat ze de AP willen geven.

MQTT-instellingen

Hier stelt u de naam in van de MQTT-makelaar (E) die u gebruikt en vooral of de MQTT-makelaar een cloudgebaseerde makelaar is of een lokale makelaar (bijv. Raspberry Pi) die is verbonden met de wifi van het huishouden.

Als u eerder de cloudgebaseerde makelaar hebt geselecteerd, ziet u twee extra velden voor het invoeren van uw gebruikersnaam en wachtwoord voor de makelaar.

Houd er rekening mee dat als u een veld leeg laat, dat veld niet wordt bijgewerkt - hierdoor kunt u instellingen gedeeltelijk bijwerken zonder dat u alle velden hoeft in te voeren.

Het standaardadres bij de eerste build is Broker-naam is MQTT-Server en is lokaal verbonden.

Figuur 8

Dit toont de rest van de pagina met apparaatinstellingen die toegankelijk is via de knop "Apparaatinstellingen" op de hoofdpagina.

Dit heeft 2 formaten, afhankelijk van of de MQTT-instellingen zijn ingesteld op "HAS HouseNode Compatible" of Single/Compact onderwerpen

HEEFT HouseNode-compatibel

Dit instrueert de monitor om zijn MQTT-gegevens te formatteren zodat de gegevensmetingen kunnen worden weergegeven op een van de scrollende OLED-schermweergaven op maximaal 5 van de Housenodes die zijn beschreven in mijn vorige Instructable "Multifunctionele kamerverlichting en apparaatcontroller". (Zie de opening Intro-sectie voor een afbeelding van de weergegeven Housenode-gegevens. Dit wordt verder beschreven in de gekoppelde Instructable (bijgewerkt in november 2020).

U moet de hostnaam invoeren van de HouseNode waarnaar u de meetgegevens wilt verzenden (veld B)

Veld C is het schermnummer waarop u de gegevens wilt weergeven (dit is logisch als u de instructie van de controller leest!

Veld A is een eenvoudige in-/uitschakeling voor dit gegevensframe - indien uitgeschakeld, worden de gegevens niet verzonden.

Dit wordt herhaald voor maximaal 5 HouseNodes, zodat u dezelfde gegevens naar maximaal 5 gedistribueerde Controller-displays in uw huishouden kunt verzenden.

Eén onderwerp

Elke monitormeting wordt verzonden als een afzonderlijk MQTT-bericht met de onderwerpen "Zwembad/WaterTemp", "Zwembad/AirTemp" en "Zwembad/BaroPress". Hierdoor kunt u eenvoudig selecteren welke parameter uw MQTT-abonnee-masterapparaat direct wil lezen in plaats van alles met het Compact-onderwerp op te nemen en uit te pakken wat u wilt gebruiken.

Compact onderwerp

Alle drie de metingen worden gecombineerd in één Home Assitant-compatibel onderwerp als uw geabonneerde MQTT-apparaat de voorkeur geeft aan het formaat: Pool/{"WaterTemp":XX. X, "AirTemp":YY. Y, "BaraPress":ZZZZ. Z} waarbij XX. X, YY. Y en ZZZZ. Z zijn de gemeten watertemperatuur ('C), luchttemperatuur ('C) en barometrische druk (mB)

Ook op deze pagina heeft u de mogelijkheid om te selecteren of de bargraph-LED's 's nachts worden uitgeschakeld (aanbevolen) om onnodig batterijverbruik te besparen. Dit wordt bepaald door het gemeten lichtniveau (LL) van het zonnepaneel en wordt weergegeven door een meting van 0% (donker) tot 100% (helder). U kunt een drempel instellen tussen 1 en 99% die de lichtdrempel bepaalt waaronder de LED's worden uitgeschakeld. 0% schakelt de staafgrafiek permanent uit en 100% zorgt ervoor dat deze altijd aan staat.

U kunt ook het tijdsinterval tussen gegevensoverdrachten instellen tussen 1 en 60 minuten. Het is duidelijk dat hoe langer het interval, hoe beter het energiebeheer en u moet onthouden dat de zwembadtemperatuur geen snel veranderende meting is, wat betekent dat een interval tussen 30 en 60 minuten prima zou moeten zijn.

Het kan zijn dat u de eerste keer na de eerste constructie merkt dat uw luchtsensor (korte kabel) op het display wordt weergegeven als watertemperatuur en vice versa! (getest door de sensor in uw hand te houden en/of de sensor in een kopje heet of koud water te laten vallen). Als dit het geval is, kunt u met de databox "DS18B20 pool- en luchtadresindexadressen" het indexnummer (0 of 1) van de sensoren omkeren - u moet de instelling uploaden en het apparaat opnieuw opstarten voordat de sensoradressering correct zijn.

Als laatste en belangrijkste, onthoud dat u op elke pagina waar u waarden hebt gewijzigd, op de knop "Nieuwe instellingen naar het apparaat uploaden" MOET drukken, anders zal de monitor zijn EEPROM-geheugen niet bijwerken!

Als u tevreden bent met al uw instellingswijzigingen, drukt u op de onderste knop op de AP-hoofdpagina om het AP te verlaten en terug te keren naar de normale monitormodus. Als u er niet op drukt, blijft de monitor ingeschakeld en loopt de batterij voortdurend leeg ….

Stap 6: Iets meer informatie over het gebruik van de zwembadmonitor met de HAS-verlichtings- en apparaatcontroller

Een beetje meer informatie over het gebruik van de zwembadmonitor met de HAS-verlichtings- en apparaatcontroller
Een beetje meer informatie over het gebruik van de zwembadmonitor met de HAS-verlichtings- en apparaatcontroller
Een beetje meer informatie over het gebruik van de zwembadmonitor met de HAS-verlichtings- en apparaatcontroller
Een beetje meer informatie over het gebruik van de zwembadmonitor met de HAS-verlichtings- en apparaatcontroller
Een beetje meer informatie over het gebruik van de zwembadmonitor met de HAS-verlichtings- en apparaatcontroller
Een beetje meer informatie over het gebruik van de zwembadmonitor met de HAS-verlichtings- en apparaatcontroller

De Pool Monitor is ontworpen als een enkele component in uw eigen op MQTT gebaseerde Home Automation System (HAS). Ik heb verschillende keren vermeld dat het oorspronkelijk was ontworpen om lid te worden van mijn eigen HAS met behulp van mijn vorige 2 gepubliceerde Instructables (Multi-purpose-Room-Lighting and Appliance Controller en Smart Data-Logging Geyser Controller). Beide ontwerpen delen een gemeenschappelijke benadering van configuratie met behulp van zeer vergelijkbare geïntegreerde webservers die zorgen voor een consistente en comfortabele gebruikersinterface op het hele platform.

Beide instructables zijn oorspronkelijk ontwikkeld als op zichzelf staande modules, maar in een recente upgrade heb ik MQTT-communicatie in elk geïntroduceerd om satellietsensoren (bekend als SensorNodes) te koppelen aan een of meer controllers (bekend als HouseNodes). Het belangrijkste gebruik van deze huidige is om een mooi OLED-scherm toe te voegen aan de multifunctionele ruimteverlichting en apparaatcontroller en elke ingeschakelde controller in staat te stellen routinematig alle SensorNode-gegevens op zijn lokale OLED-display weer te geven - de eerste afbeelding hierboven is van de drie schermen van een HouseNode die door de gegevens van zichzelf scrolt en deze weergeeft, een Geyser-controller en de Pool Monitor, waardoor een gelokaliseerde weergave van alle vastgelegde gegevens op elke geschikte locatie in het huishouden mogelijk is.

Aangezien elke SensorNode of HouseNode zijn gegevens opnieuw kan verzenden via MQTT, zijn er maximaal 8 onafhankelijke weergavepunten voor uw HAS-meetpunten mogelijk. Als alternatief kan elk van de Nodes eenvoudig worden geïntegreerd in uw eigen MQTT-systeem en heeft al een vriend de geisercontroller in zijn Home Assistant HAS geïntegreerd.

Andere SensorNodes die momenteel in ontwikkeling zijn, zijn:

  • PIR bewegingssensor
  • Infraroodstraal alarmsensor
  • Alarmsirene en lampcontroleknooppunt
  • Alarmcentrale:
  • Handafstandsbediening
  • Alleen eenheid weergeven

Deze eenheden zullen worden vrijgegeven als Instructables enkele maanden nadat ze met succes in mijn eigen huis hebben gedraaid.

Stap 7: Downloaden

De volgende bestanden zijn beschikbaar om te downloaden ….

  1. Het Arduino IDE-compatibele broncodebestand (Pool_Temperature_MQTT_1V2.ino). Download dit bestand en plaats het bestand in een submap van uw Arduino Sketches-map met de naam "Pool_Temperature_MQTT_1V2.
  2. De individuele STL-bestanden voor alle 3D-geprinte items (*. STL) gecomprimeerd in één bestand Pool_Monitor_Enclosure.txt. Download het bestand, hernoem de bestandsextensie van txt naar zip en pak vervolgens de vereiste. STL-bestanden uit. Ik heb ze afgedrukt met een resolutie van 0,2 mm op 20% bestand met ABS-filament met behulp van een Tiertime Upbox+ 3D-printer.
  3. Ik heb ook een set jpeg-bestanden (figurenJPEG.txt) bijgevoegd die alle figuren bevatten die in deze Instructable worden gebruikt, zodat u ze, indien nodig, afzonderlijk kunt afdrukken op een formaat dat handiger voor u is. Download het bestand, hernoem de bestandsextensie van txt naar zip en pak vervolgens de vereiste jpeg-bestanden uit.

Aanbevolen: