Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
De Graphical User Interface (GUI) van de DSMR-logger32 kun je bereiken door de URL
"http://dsmr-esp32.local/
"
in de adresbalk van je browser in te toetsen:
Mocht je bij Systeem Settings een andere HostName ingevoerd hebben, dan verandert deze URL natuurlijk in "<Hostname>.local
".
Veel browser vinden het niet fijn als je een "niet-geëncrypte" site bezoekt en vragen dan eerst of je dat wel echt wil ...
... omdat we weten waar we mee bezig zijn kun je in dit geval met een gerust hart op de knop [Continue to site] klikken.
Documentation about the DSMR-logger for ESP32
In dit gitbook vind je alle informatie over de DSMRlogger32 firmware voor de DSMR-logger32.
Je vindt hier de documentatie van de DSMRlogger32 hardware en firmware voor versie 5 van de DSMR-logger. Deze DSMR-logger is "Plug-And-Play" en alleen in bijzondere gevallen moet er, via de GUI, iets aan de instellingen aangepast worden (bijvoorbeeld als je een hele oude Slimme Meter hebt of als je een zgn. "Enkel Fase" Slimme Meter hebt). Deze documentatie is ook voor de gebruikers en makers die meer willen dan alleen de DSMR-logger aansluiten op hun Slimme Meter. De meeste gebruikers zullen voldoende hebben aan alleen dit hoofdstuk.
Let op! Deze documentatie is "work in progress"! Controleer daarom regelmatig of er iets is aangepast of aangevuld.
De DSMR-logger32 is een hardware en software systeem waarmee de Slimme Meter kan worden uitgelezen. De uitgelezen data (oftewel telegrammen) worden in de DSMR-logger32 opgeslagen en kunnen met behulp van gestandaardiseerde restAPI call's worden opgevraagd.
Deze versie van de DSMRlogger32 firmware kan overweg met vrijwel alle, mij bekende, Slimme Meters (DSMR 2+, DSMR3+, DSMR4+, DSMR5+ en de Belgische varianten hiervan).
Meer informatie
Deze post beschrijft het eerste idee achter de Slimme Meter uitlezer.
In deze post kun je de ontwikkeling van de hardware en firmware vinden.
Hier staat een introductie van de DSMRloggerAPI firmware
Veel informatie over de hardware en het gebruik wordt hier beschreven.
De DSMRlogger32 firmware kun je op github vinden
Voor de meeste mensen is het gebruik van de twee binaries het eenvoudigste. Deze binaries kun je binnenkort hier vinden.
In dit document worden de volgende begrippen gebruikt:
Een volledige beschrijving van dit project kun je hier vinden.
De hardware is behoorlijk aangepast ten opzichte van de voorgaande versies.
De drie belangrijkste aanpassingen zijn de secondaire P1 poort, de Watchdog en de mogelijkheid om een shield op de DSMR-logger32 te plaatsen. Iets minder belangrijk, maar wel erg informatief zijn de drie Neopixels. Twee worden bestuurd door de ESP32 de derde wordt bestuurd door de Watchdog (ATtiny85).
Als optie kan een 0.96" of 1.3" OLED display worden aangesloten.
Let er wél op dat er twee versies van deze schermen worden aangeboden die op het eerste gezicht helemaal hetzelfde lijken, maar waarvan de GND en Vcc aansluitingen omgewisseld zijn! Bij één en dezelfde leverancier kom je beide versies tegen. Controleer dus áltijd hoe jouw versie op de DSMR-logger32 moet worden aangesloten!
En om de verwarring compleet te maken zijn er ook OLED schermpjes (ik ben dit tot nu toe alleen bij de 1.3" tegen gekomen) waarop de opdruk aan de bovenkant niet overeenkomt met de daadwerkelijke aansluitingen.
Dit type OLED scherm heeft aan de bovenkant de opdruk "1" (naast VDD) en "4" (naast SDA) maar aan de onderkant een mogelijkheid om "1" en "2" om te draaien door twee 0 ohm weerstandjes op de gewenste plek te solderen. Bij sommige schermpjes zijn deze weerstandjes zodanig geplaatst dat de opdruk aan de bovenkant overeen komt met de werkelijke aansluiting .. maar soms dus ook niet. Opletten dus!
Daarom heeft de DSMR-logger32 géén verbindingen naar het OLED schermpje voor GND en VCC. Afhankelijk van de aansluitingen op jouw OLED schermpje moet je de volgende draadbruggen solderen.
De I2C bus [SCL-SDA] zijn wél standaard doorverbonden. Heeft jouw OLED schermpje daar óók een andere volgorde voor (ben ik nog niet tegen gekomen) dan kun je aan de onderkant van het PCB twee spoortjes (zie zwarte kruisjes) doorsnijden en op het patch gebied tussen SDA, SCL en I2C1, I2C2 de voor jou werkende doorverbindingen maken..
Er zijn drie manieren om de DSMR-logger32 van voedingsspanning te voorzien. Er mag altijd maar één van de drie geselecteerd worden door een jumper te plaatsen.
In het linker plaatje is de Slimme Meter als spanningsbron geselecteerd. In het middelste plaatje komt de spanning van het shield af. Wordt de jumper in het midden geplaatst, zoals in het rechter plaatje, dan moet er een externe USB voeding (5 volt) op de Power Jack worden aangesloten.
Zie ook de Onderdelen Lijst.
Mijn .
Begrip | Omschrijving |
---|---|
DSMR
Dutch Smart Meter Requirements. De DSMR specificatie is een afgeleide van de NTA 8130-normering. De DSMR-logger32 (versie 5) is ontworpen voor de DSMR 4.0 of hoger. DSMR 4.0 geeft aan dat de Slimme Meter op de P1-poort 5 volt bij 100mA moet kunnen leveren (zie pagina 8 en 9 van de specificatie). Vanaf DSMR 5.0+ moet de Slimme Meter 250mA op de P1 poort kunnen leveren. De DSMR-logger32 (ESP32) gebruikt tijdens het opstarten kortstondig tot wel 800mA. Voor de DSMR-logger32 zul je bijna altijd een externe voeding nodig hebben!
DSMR-logger32
de Hardware (Let op! Streepje tussen DSMR en logger)
DSMR-logger32 v5 (of Versie 5)
Versie 5 van de Hardware. Deze hardware is de basis van dit project.
DSMRlogger32
De firmware voor de DSMR-logger32. Deze firmware maakt intensief gebruik van restAPI's. Let op! De firmware heeft geen streepje (-) tussen "DSMR" en "logger"
ESP32-WROVER-E
Een ESP32 processor met 4MB Flash Geheugen en 4MB SPI-RAM (of SPRAM). Deze processor van Espressif wordt gebruikt in de DSMR-logger32
VCC GND SCL SDA
GND VCC SCL SDA
Behalve met de GUI kun je de DSMR-logger32 ook bereiken via het telnet
protocol (poort 23). De meeste UNIX varianten (waaronder MacOS) kennen de standaard telnet client. Windows gebruikers moeten een programma zoals Putty installeren.
Telnet is een onbeveiligd protocol dat geen gebruik maakt van een gebruikersnaam en/of wachtwoord.
Start in een terminal window de telnet client als volgt op:
of met:
Als de verbinding lukt zie je dit:
Als je nu op de[Enter]
toets drukt krijg je een menu te zien:
De menu-keuzen waar een asterisk (*) voor staat werken alleen als je de letter als HOOFDLETTER intoetst. De meeste opties spreken voor zich.
Je sluit de telnet client af door de toetscombinatie [Control]
+"]
" in te toetsen:
Toets achter "telnet>
" de letter "q" in en druk op [Enter]
.
Keuze | Functie |
---|---|
v of V
Met de letter "v" verhoog je de verbositeit van off naar 1 naar 2 en weer terug naar off. Hoe hoger de verbositeit hoe meer logging gegevens je te zien krijgt.
f of F
Hiermee reboot je de Watchdog. Dit kan handig zijn als je (bijvoorbeeld) een lange update wilt doen en daar zo veel mogelijk tijd voor wilt krijgen. Na een reboot van de Watchdog duurt het ongeveer twee minuten voordat de Watchdog de ESP32 reset als deze geen heartbeats ontvangt.
R
Hiermee wordt na twee seconden de DSMR-logger32 ge-restart.
U
De RING bestanden worden direct ge-update.
W
De WiFi credentials worden verwijderd. Na een restart moeten deze opnieuw ingevoerd worden via het WiFi AP portal (net zoals bij de eerste keer opstarten van de DSMR-logger32). Connect to AP [DSMR-ESP32] and go to ip address shown in the AP-name
Y
De ESP32 stuurt hierna geen heartbeats meer naar de Watchdog. Na enige tijd (ongeveer 90 seconden) zal de Watchdog de ESP32 restarten. Door (binnen 90 seconden) een "y" of "Y" in te toetsen zullen er weer heartbeats naar de ESP32 worden gestuurd.
Z
Het aantal reboots en verwerkte telegrammen wordt op 0 (nul) gezet. Ook het systeemLog wordt leeg gemaakt.
Bij het opstarten van de DSMR-logger32 kun je, aan de hand van de NeoPixels zien wat hij "aan het doen is".
Na een [Reset]
of bij het aansluiten van de spanning zal de DSMR-logger32 een aantal stappen uitvoeren. Als eerste zal de NEO-WD Blauw worden en de twee andere Neopixels zullen snel blinken in verschillende kleuren. Daarna worden NEO-1 en NEO-2 kortstondig rood.
De Watchdog stuurt NEO-WD aan en het verloop is altijd als volgt:
Bij de eerste keer opstarten, als je met telnet de credentials hebt ge-reset óf als je de DSMR-logger32 naar een lokatie verplaatst waar hij geen verbinding met het ingevoerde/bekende WiFi AccessPoint kan maken, zullen de Neopixels als volgt gaan branden:
Afhankelijk van hoe snel je met het selecteren van je WiFi AP bent zal de NEO-WD in "normale operatie" komen (stap 3/4) en langzaam Groen pulseren. Duurt het selecteren en bewaren van je WiFi credentials te lang dan zal de NEO-WD eerst langzaam en daarna snel in Rood pulseren waarna de ESP32 wordt ge-reset en deze weer met de normale opstart procedure start.
Als de Slimme Meter geselecteerd is als Power bron ("PWR SELECT" - "SM") en de Slimme Meter kan niet voldoende vermogen leveren dan zal dat te zien zijn aan de NeoPixels die dan als volgt branden/knipperen:
Bij het opstarten zullen de NeoPixels als volgt branden/pulseren:
Als de hele opstart procedure (goed) is doorlopen hoort de NEO-WD langzaam in het groen te pulseren. Zolang de Watchdog regelmatig een heartbeat van de ESP32 ontvangt zal dat het geval zijn. Dat de ESP32 een heartbeat verstuurt kun je zien omdat NEO-1 dan héél even Wit oplicht.
Iedere keer dat de DSMR-logger een telegram verwerkt zal NEO-2 even fel groen oplichten.
Stap | NEO-WD | |
---|---|---|
Stap | NEO-2 | NEO-1 | NEO-WD | Opmerking |
---|---|---|---|---|
Stap | NEO-2 | NEO-1 | NEO-WD | Opmerking |
---|---|---|---|---|
Stap | NEO-2 | NEO-1 | NEO-WD | Opmerking |
---|---|---|---|---|