De zoektocht naar een nieuw verwarmingssysteem is een complexe beslissing. Zonder hulp van buitenaf is het meestal moeilijk om de juiste technologie voor het gebouw te selecteren. Dit is ofwel de verwarmingsingenieur die je vertrouwt of een energieconsultant. De aanbevelingen die je op deze manier krijgt, zijn soms meer of minder geschikt voor de bestaande constructie van het gebouw. Als het gebouw relatief nieuw is, zijn ze meestal geschikt. Als het gebouw echter meer dan 40 jaar oud is, is het moeilijk om de juiste maatregelen aan te bevelen. Uit onwetendheid worden dan meestal radicale verbouwingen aanbevolen, zoals het achteraf aanbrengen van vloerverwarming. Dit zal het oude gebouw zeker warmer maken, maar de kosten kunnen al snel oplopen tot hoge 5-cijferige bedragen.

Om de juiste technologie te kiezen, hoef je alleen maar het oude verwarmingssysteem te monitoren en de aanvoer- en retourtemperaturen van het oude systeem te registreren. Zo weet u snel wat het nieuwe systeem moet bereiken. Daarnaast kan een tweede apparaat worden gebruikt om de kamer- en buitentemperaturen te registreren en deze te relateren aan de aanvoertemperatuur. Dit is precies waar het volgende project om de hoek komt kijken: in de procesautomatisering van gegevensverwerving. Oude verwarmingssystemen hebben namelijk alleen analoge thermometers (als die er al zijn), wat de temperatuurregistratie bemoeilijkt.
Inspanning
Geschikt voor: Beginners met soldeerervaring en goede Arduino-vaardigheden
Kosten : ongeveer 35,00 € zonder behuizing
Benodigde tijd:
- PCB assemblage/bedrading: 2 uur
- Productie printplaat: 1 uur
- Software-installatie: 1/4 uur
Wat heb je nodig:
- Onderdelenlijst (reichelt winkelmandje) zonder mechanische onderdelen (behuizing, schroeven, enz.)
- Projectbestanden hier downloaden:
- Gereedschap:
- Soldeerbout, schroevendraaier, zijkniptang
- Apparatuur voor PCB-productie (belichter, etsmachine) of assemblage op een breadboard
- Sprint Layout Viewer (freeware versie) & layoutbestand uit de downloadmap
- Software
- Arduino IDE 1.8.19 incl. bibliotheken volgens schets
- Schets uit de downloadmap incl. gegevens
- WinSCP (FTP-client)
- Spreadsheet of Mathplot (Phyton)
Software
D1 MINI
Het middelpunt van het circuit is een D1 MINI. Het component is een combinatie van een ESP8266 processor en enkele extra componenten die de ESP8266 verbinden met de buitenwereld, aangezien signalen worden verzonden en ontvangen via de IO-poorten. De D1 MINI bevat ook bootloader software die kan worden gebruikt om aangepaste programma’s te laden via een micro USB-poort. Hiervoor is een programmeeromgeving nodig, in dit geval de veelgebruikte Arduino programmeeromgeving, hier bijvoorbeeld in versie 1.8.19. Voor dit project moet de omgeving echter worden uitgebreid met een paar bibliotheken:1. NTP-client
Voor de tijdstempel van de metingen is de exacte tijd nodig, die wordt verkregen van het internet van een Round Robin servergroep in Duitsland. Round Robin betekent: Als een server uitvalt, neemt een andere server zijn taken over. Welke server dat is, wordt bepaald in de Round Robin-lijst. Er hoeft geen extra bibliotheek geïnstalleerd te worden om deze service te gebruiken, omdat de functie deel uitmaakt van de Arduino-omgeving.
2. FTP-server
Er is communicatiesoftware nodig om de meetgegevens uit het Arduino-geheugen te halen. In ons geval wordt het FTP-protocol gebruikt, dat als uitbreiding in de Arduino-omgeving is opgenomen.
De software kan worden gedownload van het internet via de volgende link: https://github.com/xreef/SimpleFTPServer. Met het commando: #include <SimpleFTPServer.h> wordt de Arduino-omgeving uitgebreid met deze functie.
Tip: Een programma zoals WinSCP kan worden gebruikt om gegevens over te brengen naar een PC voor verder gebruik. De communicatie is beveiligd met een wachtwoord via poort 21. Het wachtwoord is te vinden in de broncode van de software en kan daar worden gewijzigd.
3. Webserver
Net als de FTP-server moet ook de webserver worden geïnstalleerd. Dit wordt gedaan met het commando: #include <ESP8266WebServer.h>. De benodigde software kan hier worden gedownload:
SSID en wachtwoord moeten direct in de broncode worden ingevoerd, regel 56 en 57, omdat een WiFi-manager niet nodig is om geheugenredenen. De programmering van de webserver kan worden gevonden in de broncode.
4. Little FS File System
De volgende belangrijke uitbreiding is het bestandssysteem voor het beheer van de meetgegevens. In de Arduino-omgeving heet de software Little FS. Deze beheert de meetgegevens en stuurt ze naar de FTP-server voor overdracht naar de pc. Hier is de link naar de software: https://randomnerdtutorials.com/install-esp8266-nodemcu-littlefs-arduino/
De installatie is enigszins ongebruikelijk, daarom volgt hier een korte uitleg voor Windows-pc’s:
- Om de update van het bestandssysteem te installeren, gaat u naar https://github.com/earlephilhower/arduino-esp8266littlefs-plugin/releases en klikt u op het bestand ESP8266LittleFS-X.zip om het te downloaden
- Locatie van het schetsboek: Ga in de Arduino IDE naar Bestand > Voorkeuren (Voreinstellungen) en controleer de locatie van uw schetsboek (Sketchbook)
- Maak vervolgens een map “tools” aan in de locatie van het schetsboek (Sketchbook)

- Vervolgens moet de gedownloade ZIP-map worden uitgepakt. Na het openen kopieert u de map ESP8266LittleFS naar de map tools die u in de vorige stap hebt aangemaakt. De mapstructuur zou er ongeveer zo uit moeten zien:
C:\Sketche\tools\ESP8266LittleFS\tool - De volgende stap is het opnieuw opstarten van de Arduino IDE.
Om te controleren of de plug-in succesvol is geïnstalleerd, opent u de Arduino IDE en selecteert u het ESP8266-bord. In het menu Tools moet de optie “ESP8266 LittleFS Data Upload“ aanwezig zijn.

Aangezien het systeem zeer uitgebreid is, kunt u zich met behulp van de broncode een eerste beeld van het systeem vormen. Uiteraard is de originele documentatie belangrijk.
5. OTA software-update (Over the Air)
De OTA-functie heeft eigenlijk niets te maken met het project zelf – je kunt het eerder beschouwen als een extra gemak tijdens het programmeren. De functie maakt namelijk een update van de software via wifi mogelijk. Een USB-kabelverbinding met de D1 MINI is dus slechts eenmalig nodig aan het begin.
Voor de OTA-functie moet eerst de programmeeromgeving Python op de Arduino-computer worden geïnstalleerd. Deze is hier verkrijgbaar: https://www.python.org/downloads/. Versie 2.7.14 is vereist.

Nu moet de computer opnieuw worden opgestart. Bij de voorbeelden in de Arduino-omgeving bevindt zich een testprogramma waarmee de installatie kan worden getest. Voor het project verwarmingsregeling hoeft u verder niets te programmeren, omdat alles in de broncode aanwezig is. Als u hier #include <ArduinoOTA.h> invoert, wordt de OTA-functie geactiveerd.

Als de installatie succesvol is, kunt u nu de webserver bij de poorten (Port) selecteren.
Werking
Met twee temperatuursensoren worden de aanvoer- en retourtemperatuur van de oude verwarmingsinstallatie gemeten. De geregistreerde gegevens worden via wifi naar een willekeurige webbrowser verzonden.

Met de FTP-server kunnen de geregistreerde gegevens in CSV-formaat worden opgevraagd en vervolgens in een willekeurig spreadsheetprogramma worden ingelezen. Hiervoor wordt de registratie gestart met een toets op de module of via de website. Als de registratie is gestopt, kunnen de geregistreerde gegevens met WinSCP worden uitgelezen. Er kan maximaal 2 MB aan gegevens worden geregistreerd. Er wordt elke 60 seconden gemeten. Het CSV-scheidingsteken is de puntkomma.
De zinsbouw:
Sensor1;Sensor2;Verschil;Tijd;Datum
26.06;26.75;-0.69;17:44;11.8.2024
26.06;26.56;-0.50;17:45;11.8.2024
26.13;26.63;-0.50;17:46;11.8.2024
De stroomvoorziening gebeurt via een USB-oplader (5V). Aangezien er slechts 70 mA nodig is, volstaat een eenvoudige oplader. De aansluiting kan worden gemaakt via de micro-USB-aansluiting op de ESP8266-module of een schroefklem.
Hardware
Het circuit kan in twee versies worden opgebouwd. Het eenvoudigst is om de lay-outgegevens in de download door een printplaatleverancier te laten verwerken. Of om de zeer eenvoudige opbouw op een breadboard uit te voeren.



De kern van het circuit is een D1 MINI. Deze stuurt alle functies die nodig zijn voor de gegevensregistratie aan.
De twee temperaturen worden gemeten met twee sensoren die in metalen hulzen zijn gestoken. Ze worden op de twee buizen van het verwarmingscircuit gemonteerd. De gegevensoverdracht verloopt via een One-Wire Bus van Dallas Instruments. Deze mag tot 100 m lang zijn, maar is in dit project niet nodig.
Op het OLED-display verschijnen de momenteel gemeten temperaturen. Omdat deze displaytechnologie bij continu gebruik de neiging heeft om in te branden en “blind” te worden, blijft het scherm niet constant ingeschakeld. Alleen wanneer het circuit wordt geactiveerd, licht het display op – na ongeveer 15 seconden schakelt het automatisch uit. De aansturing gebeurt via de I²C-bus. U moet vooral letten op de stroomvoorziening, omdat de displays op de markt verkrijgbaar zijn met verschillende toewijzingen van GND en Vcc. Ze worden ook aangeboden met 0,96“ en 0,98”. Doorslaggevend zijn de 128×64 pixels.

De 3 toetsen hebben de volgende functies:
- Toets S1 reset de processor
- Toets S2 schakelt het display 15 seconden in
- Toets S3 start en stopt de gegevensregistratie
Samenvatting
De met dit project verzamelde gegevens maken het gemakkelijker om de juiste verwarmingstechnologie te kiezen. In het tweede deel van de how-to gaat het om de verdere verwerking van de verzamelde gegevens en de juiste meetopstelling.











