All pages
Powered by GitBook
1 of 5

Loading...

Loading...

Loading...

Loading...

Loading...

Firmware Compileren en Uploaden

Versie 5 van de DSMR-logger32 hardware maakt gebruik van een ESP32-WROVER processor. Deze processor zit op de printplaat van de DSMR-logger32 gesoldeerd en moet dus, op de printplaat, geflashed worden.

Overtuig je ervan dat alle tabbladen aanwezig zijn!

Om de firmware naar de DSMR-logger32 te kunnen flashen moet deze eerst voor deze versie van de DSMR-logger32 geschikt worden gemaakt.

Dit doe je door in de DSMRlogger32.ino (het eerste tabblad) de #define's aan te passen.

Door de twee slashes (//) voor de #define weg te halen maak je een optie actief. Alleen tijdens het testen is het zinvol één of beide opties actief te maken. Voor een "productie" versie moeten de #defines uitgeschakeld blijven.

Vervolgens moeten de Boards settings als volgt worden ingesteld:

Instelling
Waarde

Klik nu op het Verify icon.

Onderin de Arduino IDE verschijnen meldingen met betrekking tot de voorgang van het compileren. Als het compileren succesvol is (en er dus geen compilatie fouten zijn opgetreden) zie je de volgende meldingen:

De waarden van "Sketch uses" en "Global variables use" kunnen anders zijn dan wat in bovenstaand plaatje staat. Dat is geen reden voor ongerustheid. De volgende stap is het daadwerkelijk uploaden (flashen) van de firmware naar de DSMR-logger32.

Firmware Bedraad Flashen

Pas op! Koppel de DSMR-logger32 los van de Slimme Meter vĂ³Ă³rdat je de DSMR-logger32 op de programmer aansluit!!

Sluit de FTDI-programmer aan op de Program-header van de DSMR-logger32

Als de FTDI programmer niet zelf de DSMR-logger32 in flash-mode kan zetten, voer dan de volgende vier handelingen uit:

  1. Druk de FLASH knop in en houd deze ingedrukt

  2. Druk op de RESET knop

  3. Laat de RESET knop los

De DSMR-logger32 staat nu in Flash-mode en blijft in die mode tot er gegevens vanaf de programmer naar de DSMR-logger32 zijn overgebracht Ă³f tot je nog een keer op de RESET knop drukt.

Vergeet niet in de Arduino IDE de Port te selecteren waarop je de FTDI programmer hebt aangesloten en druk op het Compile and Upload icoon.

Firmware Over The Air Flashen

Bij het Over The Air flashen van de firmware of data-map kan (moet) de DSMR-logger32 gewoon op de Slimme Meter aangesloten blijven.

Alle instellingen voor de DSMRlogger32 firmware blijven gelijk aan de bedrade methode van flashen.

Vervolgens moet je niet op het Compile & Upload-Icoon

klikken maar in het[Sketch]drop-down menu de keuze Upload Compiled Binary selecteren.

De firmware wordt nu gecompileerd en in de Arduino Sketch map waar de DSMRlogger32 firmware ook staat neergezet. Het bestand heet DSMRlogger32.ino.bin.

Als de firmware gecompileerd is klik je op de DSMR-logger32 pagina op het icoontje.

In de FSmanager klik je op de knop [Update Firmware]

Er verschijnt nu een scherm waarin je een firmware bestand (de naam eindigt op .ino.bin) kunt kiezen door op de bovenste knop [Choose File] te klikken.

Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden ..

.. klik op [Choose] (of [Open]) en daarna op de knop [Flash Firmware]

Let op! De firmware heeft Ă¡ltijd ".ino." in de naam en eindigt Ă¡ltijd op ".bin"!

Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger32 opnieuw opstart.

Let op! Het komt soms voor dat het scherm niet automatisch ge-refreshed wordt. Refresh de browser. Als de verbinding met de server vĂ³Ă³r die tijd verbroken wordt klik dan op de [back] knop van de browser waarna de tekst alsnog (weer) verschijnt.

"None"

Erase Flash

"Disabled" (First Time only: "Enabled")

Port

Bedraad: "Serial Port"

Laat de FLASH knop los

Board

"ESP32 WROVER Module"

Upload Speed

"230400" of "460800" (use lower speed if needed)

Flash Frequency

"40MHz" (sometimes 80MHz is to fast)

Flash Mode

"QIO" (sometimes "QIO" is too fast, use "DIO" in stead)

Partition Scheme

"Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)"

Debug Level

DSMRrlogger32 firmware clonen

Clonen Firmware

De DSMRlogger32 firmware staat hier https://github.com/mrWheel/DSMRlogger32. Er zijn twee manieren om de firmware te clonen.

  1. download de repository als een .zip file

  2. gebruik git

Als je niet handig bent met git raad ik je aan de repository als een .zip file te downloaden.

Ga naar de .

Download .zip file

Klik op de groene knop [<> Code] ..

.. en selecteer [Download ZIP]

Er volgt een scherm als dit:

  1. Bewaar het .zip bestand op een plek op je computer waar je hem terug kunt vinden.

  2. Unzip het DSMRlogger32-main.zip bestand in de ArduinoIDE Sketchbook Location.

  3. Rename de map

Ga verder naar .

git clone

Om de repository met git te kunnen clonen moet je er éérst voor zorgen dat je git op je systeem hebt staan. Hoe je dat moet doen valt buiten de scope van deze documentatie maar kun je alles vinden over hoe je dit, voor jouw systeem, moet doen.

Voor nu ga ik ervan uit dat je git op je systeem hebt staan en dat je weet hoe je ermee moet werken.

Ga naar de Arduino Sketchbook location (de map waar al je Sketches in staan, ) en toets het volgende commando in:

That's it!

In Sketchbook location staat hierna een nieuwe map met de naam DSMRlogger32.

DSMRlogger32 Sketch openen

Start de ArduinoIDE opnieuw op en klik op het open icoon.

Selecteer in het drop-down menu "Open" ..

In het pop-up window dat nu verschijnt navigeer je naar de map "DSMRlogger32" ..

.. en selecteer je de sketch DSMRlogger32.ino. Er verschijnt een nieuw editor window met de firmware van de DSMRlogger32!

DSMRlogger32-main
naar
DSMRlogger32
(dus zonder
-main
)
DSMRlogger32 repository
DSMRlogger32 Sketch openen
hier
kijk hier
git clone https://github.com/mrWheel/DSMRlogger32.git

Pré Compiled Binaries Uploaden

Nieuwe DSMRlogger32 firmware kan via de web-interface van de DSMR-logger "Over the Air" geflashed worden maar mocht dat, om de één of andere reden niet lukken dan kunnen de pré compiled binaries ook bedraad geflashed worden.

  1. OTA met de Update Server flashen

  2. Bedraad met het Espressif flash Tool

Pre compiled Binaries

Op staan van de major releases binaries van zowel de firmware als van het SPIFFS bestand systeem.

Klik op "" en download het meest recente of door jou gewenste DSMRlogger32.ino.bin bestand (deze staan onder iedere release beschrijving bij "Assets").

Bij een gewone firmware update is het meestal niet nodig ook het bestand system opnieuw te downloaden en te flashen.

Onder iedere release beschrijving staan de bijbehorende "Assets".

OTA flashen met de Update Server

Ga nu op de DSMR-logger naar de FSmanager (door op het icoon te klikken) en klik vervolgens op de knop [Update Firmware].

Klik nu op de bovenste [Choose File] knop

Selecteer in het popup-window het zojuist gedownloade DSMRlogger32.ino.bin file:

Klik op [Open] of [Select] en klik vervolgens op de knop [Flash Firmware]. Na enige tijd verschijnt het volgende scherm:

.. waarna, na enige tijd, het hoofdscherm van de DSMR-logger32 weer verschijnt.

Alleen als in de beschrijving van een release staat dat ook het bestand system opnieuw geflashed moet worden moet u dit doen. In veel gevallen zal volstaan om eventueel een bepaald bestand naar de DSMR-logger32 te uploaden. Ook dit zal dan expliciet in de release beschrijving staan.

Bedraad flashen met het Espressif Flash Download tool

Espressif heeft voor zijn ESP-boards een (helaas alleen Windows) tool ontwikkeld dat het bedraad flashen erg eenvoudig maakt.

De tool kun je downloaden.

Pak het .zip file uit (unzip) en start het door op het mapje te klikken:

Klik nu op "flash_download_tools.exe" en selecteer [esp32 DownloadTool] in het volgende scherm:

Selecteer de vier bin bestanden.

  • DSMRlogger32.ino.bootloader.binmoet op adres 0x1000 starten

  • DSMRlogger32.ino.partitions moet op adres 0x8000 starten

Selecteer de COM poort waar de DSMR-logger32 op is aangesloten, zet de DSMR-logger32 in flash mode en klik op [START].

Na enige tijd krijg je de melding dat alles goed is gegaan.

Bij het updaten van de DSMRlogger32 firmware (dus op een reeds werkende DSMR-logger32) volstaat het om alleen een vinkje bij de 3e regel te zetten (de regel met als bestand "DSMRlogger32.ino.bin") en de vinkjes bij de 1e, 2e en 4e regel weg te halen).

firmware

Om de firmware op de DSMR-logger32 te krijgen moeten een aantal stappen worden ondernomen. Hieronder staat welke stappen dat zijn.

Dit hoofdstuk is alleen van belang als je zelf de firmware wilt compileren. In de meeste gevallen kun je volstaan met het flashen van de pré compiled binaries en het standaard spiffs.bin bestand. Zie "Pré Compiled Binaries Uploaden".

  • Benodigde Bibliotheken

DSMRlogger32 Firmware
Firmware Flashen
Data map Flashen
  • DSMRlogger32.ino.bin bestand moet op adres 0x10000 starten

  • DSMRlogger32.spiffs.bin op adres 0x22500 starten

  • github
    releases
    hier

    Benodigde Bibliotheken

    Voor de DSMRlogger32 firmware zijn de volgende bibliotheken nodig:

    dsmr2Lib

    Deze library is een uitbreiding op de arduino-dsmr van Matthijs Kooijman. Je kunt de dsmr2Lib library hier downloaden.

    ezTime

    Deze is door Rop Gonggrijp ontwikkeld. Installatie via de Library Manager. Je kunt meer informatie over deze bibliotheek vinden.

    WiFiManager

    Installatie via de Library Manager. Je kunt meer over deze door Tzapu ontwikkelde, bibliotheek vinden. De DSMRlogger32 firmware is getest met version 0.15.0 van deze bibliotheek maar nieuwere versies zullen waarschijnlijk ook werken.

    TelnetStream

    Deze bibliotheek is door Juraj Andrassy ontwikkeld. Installatie via de Library Manager. Je kunt meer informatie over deze bibliotheek vinden. De firmware is getest met version 1.2.2 maar nieuwere versies zullen waarschijnlijk ook werken.

    Let op: De installatie van deze bibliotheek gaat net als de andere bibliotheken. Een update kan echter pas geĂ¯nstalleerd worden als éérst de map TelnetStream-master uit de map Libraries wordt verwijderd!

    SSD1306Ascii

    William Greiman heeft deze bibliotheek ontwikkeld met in het achterhoofd minimaal gebruik van resources (dus: een bibliotheek die weinig geheugen gebruikt). Installatie via de Library Manager. Meer informatie over deze bibliotheek kun je vinden. De DSMR-logger Firmware is getest met Version1.3.0 maar nieuwere versies zullen waarschijnlijk ook werken.

    SSD1306AsciiWire

    Onderdeel van SSD1306Ascii.

    Adafruit NeoPixel

    Door Adafruit ontwikkelde bibliotheek om NeoPixels aan te sturen. Installatie via de Library Manager.

    PubSubClient

    Nick O'Leary (knolleary) heeft deze bibliotheek ontwikkeld. Installatie via de Library Manager. Getest met versie 2.7.0 Je kunt meer informatie over deze bibliotheek vinden.

    ArduinoJson

    Ontwikkeld door Benoit Blanchon. Installatie via de Library Manager. Getest met versie 16.19.3. vind je meer informatie over deze library.

    SPIFFS_SysLogger

    Je kunt de bibliotheek downloaden. Pas op! voor gebruik van het LittleFS moet je versie gebruiken!

    Overige libraries

    Onderstaande libraries zijn onderdeel van de ESP8266 Core en moeten dus niet handmatig geĂ¯nstalleerd worden!

    • FS

    • SPIFFS

    • WiFi

    • WebServer

    HTTPUpdateServer

  • ESPmDNS

  • WiFiUpd

  • esp_heap_caps

  • HardwareSerial

  • hier
    hier
    hier
    hier
    hier
    Hier
    hier
    deze