Tasmota installeren op een NodeMCU

Tasmota is nieuwe firmware voor, op de ESP8266 gebaseerde, Itead SONOFF devices. Hierdoor krijg je zelf meer controle over je devices en ben je niet meer afhankelijk van Itead services via China of apps. Ook het gebruiken van de SONOFF apparaten in een eigen domotica systeem zoals Domoticz of Home Assistant wordt hierdoor een stuk gemakkelijker.
Omdat je misschien eerst eens Tasmota wilt uitproberen voordat je SONOFF apparaten aanschaft of als je gewoon snel aan de slag wilt met je NodeMCU in je domotica systeem kun je de firmware ook op een NodeMCU installeren. In deze tutorial gaan we dat doen met behulp van de Arduino IDE ontwikkelomgeving. Enige kennis en ervaring daarmee is handig.

In deze tutorial ga ik uit van een nieuwe aparte Arduino installatie zodat je daar de door Tasmota benodigde libraries in kunt zetten, zonder dat eventueel al bestaande libraries en sketches in de war geschopt worden. Ook ga ik uit van een installatie onder Windows, voor de Mac en Linux zal het in grote lijnen hetzelfde zijn.

Hier de stappen van de tutorial:

  1. Installeren van de Arduino IDE
  2. ESP8266 (NodeMCU) boards toevoegen aan de Arduino IDE
  3. Tasmota downloaden
  4. Tasmota laden en configureren in de Arduino IDE
  5. Arduino IDE instellen op het NodeMCU ESP8266 board en compileren

Installeren van de Arduino IDE

Waarschijnlijk zul je dit al eens eerder gedaan hebben dus hierbij kort de te volgen stappen.

  • Download de IDE van de Arduino website.
  • Kies de ‘Windows ZIP file for non admin install’.
  • Pak deze ZIP uit op een handige lokatie (desktop?).
  • Start de Arduino IDE door de arduino.exe te starten.
  • Stel eventueel de taal voor de editor in onder Bestand -> Voorkeuren

ESP8266 (NodeMCU) boards toevoegen aan de Arduino IDE

Omdat het op de ESP8266 gebaseerde NodeMCU board geen Arduino is moeten we de zogenaamde core bestanden voor de ESP8266 toevoegen aan de IDE. Dit maakt het mogelijk programma’s te compileren voor ieder ESP8266 device.

  • Ga vervolgens naar Hulpmiddelen -> Board: … -> Board Beheer…

  • Wacht tot het scherm geladen is, type in het zoekvak bovenaan ‘esp8266’, klik dan op Installeren.

Alle benodigde bestanden worden gedownload en geinstalleerd. (Er komt INSTALLED bij de staan).
Sluit het scherm en check of de ESP8266 boards onderaan zijn toegevoegd onder Hulpmiddelen -> Board: ….


Tasmota downloaden

Nu gaan we de daadwerkelijke broncode van Tasmota downloaden om die in de Arduino IDE te configureren, te compileren en vervolgens op de NodeMCU te uploaden.

  • Pak de ZIP uit op een handige plek.
  • Sluit de Arduino IDE uit als die nog open stond.
  • Ga naar de map ‘lib’ in de Tasmota-map die je hebt uitgepakt.
  • Kopieer de inhoud van de ‘lib’ map (niet de map zelf) naar de ‘libraries’ map in de uitgepakte Arduino IDE map. Daar staan al een aantal libraries in maar die zouden niet moeten conflicteren.


Tasmota laden en configureren in de Arduino IDE

Nu gaan we de Tasmota broncode inladen in de Arduino IDE en gereed maken om die te compileren en te installeren.

  • Start de Arduino IDE (arduino.exe in de Arduino map).
  • Ga naar Bestand -> Open…
  • Blader naar de Tasmota map
  • Open de map sonoff
  • Dubbelklik sonoff.ino

Alle bestanden om Tasmota de compileren worden geopend (in aparte tabbladen).
Eén van die bestanden is ‘user_config_override_sample.h’ (helemaal rechts in het dropdown menu te vinden).

  • Klik het bestand zodat het geopend wordt.
  • Klik vervolgens op ‘Hernoemen’ bovenaan het dropdown menu.

  • Wijzig nu de naam naar ‘user_config_override.h’ (_sample gaat eraf).

In dit bestand kunnen we parameters veranderen voor het ‘maken’ van Tasmota. Door het bestand te hernoemen zal de IDE het automatisch meepikken en bij een update wordt dit niet vanuit de bron-code ZIP overschreven.

  • Uncomment de parameters (/* en */ weghalen boven- en onderaan).
  • Vul de parameters in (oa. SSID WiFi-netwerknaam, WiFi-wachtwoord aangevuld met eventueel de gegevens van je MQTT-server.
  • Onder MY_IP stel je het IP-adres in of zet je 0.0.0.0 voor een automatisch IP-adres van de DHCP-server.
  • Vul eventueel ook MY_GW en MY_DNS in.
  • Sla het bestand op.

Deze laatste gegevens kun je later ook nog aanpassen zolang je de WiF-inloggegevens maar goed hebt zodat je zo kunt contact maken met Tasmota.

  • In het bestand ‘my_user_config_h’ uncomment je de regel ‘#define USE_CONFIG_OVERRIDE’ zodat je eigen user-config van hierboven gebruikt wordt.
  • Sla het bestand op.

Let op! Als je de volgende keer iets in deze bestanden veranderd, hoog dan de waarde van ‘CFG_HOLDER’ in beide bestanden met 1 op.
Anders zal de nieuwe configuratie niet worden meegenomen en blijft de oude configuratie in het geheugen van de NodeMCU actief.


Arduino IDE instellen op het NodeMCU ESP8266 board en compileren

 

Nu moeten we de Arduino IDE nog laten weten dat we het programma willen compileren voor een NodeMCU ESP8266 board.

  • Klik onder Hulpmiddelen -> Board: … op het board ‘NodeMCU 1.0 (ESP-12E Module)’

  • Maak vervolgens de instellingen zoals hieronder:

  • Sluit de NodeMCU aan de computer.
  • Selecteer de juiste COM-poort waar de NodeMCU op zit.
  • Open de Seriële monitor en zet die op 115200 baud snelheid.
  • Druk op Uploaden en je kunt koffie gaan halen…

Als alles goed gegaan is zal de NodeMCU in de seriële monitor vertellen op welk IP-adres hij terecht is gekomen.
Tik dit IP-adres in in de browser en je krijgt het Tasmota scherm zoals hieronder.

Mocht je tijdens het compileren een foutmelding krijgen over libraries waarvan meerdere versies gevonden worden, hernoem dan (tijdelijk) de libraries map die onder Mijn documenten/Arduino staat.

Wat je verder met Tasmota kunt zal ik misschien in een nieuwe post toelichten. Met MQTT is namelijk ook een koppeling met Domoticz mogelijk.

Ben ik iets vergeten of klopt er iets niet? Laat het gerust weten!

Uiteraard vind je bij Bits & Parts een groot assortiment aan ESP8266 en ESP32 devices!

Leave a Reply