HowTo: Tasmota - flash-firmware

Naast de hardware is de juiste software voor uw project uiteraard net zo belangrijk. Een praktische en universeel toepasbare firmware voor de bos- en weidemicrocontroller ESP8266 is de Tasmota-firmware. Hierdoor kunt u diverse projecten uitvoeren zonder dat u zelf hoeft te programmeren. Bovendien hoef je niet elke keer ‘het wiel opnieuw uit te vinden’. 🙂

Voordat je het kunt gebruiken met je microcontroller, moet het er natuurlijk eerst naar worden overgezet. Hoe je dit doet en waar je rekening mee moet houden, wordt beschreven in het volgende artikel.


Veiligheidsinstructies

Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links / reclame links

De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂 


Eisen

Handige artikelen:
Voordat u aan dit artikel begint, moet u de Arduino IDE hebben geïnstalleerd en geconfigureerd. Informatie hierover vind je in het volgende artikel.
Programma's installeren - een voorbeeld
ArduinoIDE - Tips en trucs

Benodigd materiaal:

In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.

Vereist gereedschap:

In de volgende lijst vind je alle tools die je nodig hebt om dit artikel te implementeren.


Kopieer de huidige Tasmota-versie van GitHub

Voordat je kunt beginnen met het configureren en programmeren van de Tasmota firmware, moet je deze eerst downloaden van GitHub.

De bestanden voor de firmware zijn te vinden op: https://github.com/arendst/Sonoff-Tasmota

Hoe je bestanden van een GitHub download wordt beschreven in het artikel GitHub - Hoe kopieer ik bestanden van een GitHub naar mijn computer? beschreven.

Nadat je de gecomprimeerde firmwarebestanden hebt gedownload, moet je ze nog uitpakken. U vindt tips over hoe u dit moet doen in het artikel WinRar? WinZip? WinWat? - Schat ik heb de bestanden verkleind


Configureer de Tasmota-firmware

Veel instellingen van de Tasmota-firmware kunnen ook tijdens het gebruik worden aangepast. Toch vind ik het gemakkelijker om deze instellingen direct te importeren via een correct geconfigureerde firmware.
Bovendien is dit voor sommige gebruikte sensoren absoluut noodzakelijk, omdat niet standaard voor elke sensor of actuator alle softwarecomponenten zijn gecompileerd (“toegevoegd aan de firmware”).

In het GitHub-project dat je nu hebt gedownload, vind je enkele mappen. Voor ons zijn alleen de mappen “lib” en “sonoff” belangrijk. "lib" bevat alle Arduino-bibliotheken die Tasmota nodig heeft om succesvol te kunnen compileren. Installeer dus alle Arduino-bibliotheken die erin zijn opgenomen. Tips hierover vind je in het artikel ArduinoIDE - Een bibliotheek installeren Zodra u dit heeft gedaan, kunt u overschakelen naar de map “sonoff”.
Hierin staan alle benodigde firmwarebestanden. Open het nu door te dubbelklikken op het bestand “sonoff” of “sonoff.ino”.
Dit opent het volledige Tasmota-project in de Arduino IDE.
Schakel nu naar het tabblad “user_config.h”, zoals weergegeven. Zoals deze naam doet vermoeden, kunt u hier alle Tasmota-firmware-opties configureren. Dit is onderverdeeld in verschillende “onderwerpgebieden”.

De verschillende Tasmota-firmware-opties

In het nu geopende “user_config.h” zijn er allerlei instelmogelijkheden. Meestal heb je er maar een fractie van nodig. Voor de volledigheid worden hier alle mogelijkheden opgesomd en kort beschreven.

Zodat je niet alle opties afzonderlijk hoeft te doorlopen, heb ik de opties die je absoluut moet bewerken groen gemarkeerd. Hierachter staan bijvoorbeeld wachtwoorden of URL's die je individueel moet configureren of op zijn minst moet controleren. Controleer deze opties dus voordat je de firmware naar je Tasmota apparaat overzet.

“PROJECT” definieert de naam van je project. Dit is ook de ID die gebruikt wordt als voorvoegsel voor het MQTT pad dat gebruikt wordt door deze ESP.
"MODULE" bepaalt op welke hardware deze Tasmota-firmware wordt geïnstalleerd. U kunt nu opgeven of deze configuratie wordt gebruikt voor een Sonoff S26 of een eenvoudige WEMOS D1 Mini-module.
“SAVE_DATA” schakelt in of uit dat gewijzigde instellingen in het flashgeheugen worden opgeslagen. Deze dient u geactiveerd te laten, anders gaan uw instellingen na iedere herstart of stroomonderbreking verloren.
“SAVE_STATE” activeert of deactiveert dat de laatste schakeltoestand in het flashgeheugen opgeslagen blijft. Als u de Tasmota-firmware bijvoorbeeld gebruikt om een lamp aan te sturen, kunt u ervoor zorgen dat de schakelstatus ook na een stroomstoring wordt hersteld.
Het IP-adres, de gateway, het subnetmasker en het IP-adres van de DNS-server kunnen hier worden geconfigureerd. In de meeste netwerken is dit echter niet nodig omdat deze gegevens dynamisch onderhandeld worden met de router. De standaard ingevoerde waarden kunnen daarom in de meeste gevallen zo worden gelaten.
Nu komen we bij een belangrijk onderdeel dat je in ieder geval moet controleren voordat je de firmware installeert. Hier worden de inloggegevens voor uw WiFi geconfigureerd. Hier kunt u onder “STA_SSID1” de SSID (d.w.z. de naam) van uw WiFi en onder “STA_PASS1” het wachtwoord van uw WiFi invoeren. Het is mogelijk om een ander WLAN te configureren onder “STA_SSID2” en “STA_PASS2”. Dit wordt gebruikt als een verbinding met de eerste geconfigureerde WiFi mislukt. “WIFI_CONFIG_TOOL” “WIFI_CONFIG_…
In de sectie “Syslog” kunt u servergegevens voor een syslog-server configureren. Voor de meeste gebruikers is dit niet nodig. Syslog is een systeem voor het monitoren van logberichten van individuele clients in een netwerk. Hiervoor is een syslog-server vereist. Naast de syslog-gegevens kunnen hier ook de logberichten worden geconfigureerd die via de seriële console of de webconsole worden verzonden. Hiermee kunt u aanpassen hoe gedetailleerd de uitvoer op het web of de seriële console is. De volgende niveaus zijn mogelijk (die in deze volgorde steeds gedetailleerder worden): LOG_LEVEL_NONE, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_DEBUG_MORE
Met “OTA_URL” kunt u een URL instellen waar OTA (over-the-air) updates kunnen worden verkregen. Als u later een update start in de reeds geïnstalleerde Tasmota-firmware, zal Tasmota deze op het opgegeven adres zoeken en indien nodig installeren.

In de sectie “MQTT” kunt u de basisparameters instellen voor verbinding met de MQTT-server. – – “MQTT_USE” activeert de MQTT-client.
– “MQTT_HOST” stelt het adres van uw MQTT-server in.
– Onder “MQTT_FINGERPRINTX” kunt u de vingerafdruk instellen voor het coderen van uw MQTT-verbinding. – – – “MQTT_PORT” stelt de poort van uw MQTT-server in.
– In “MQTT_USER” en “MQTT_PASS” kunt u de gebruikersnaam en het wachtwoord voor uw MQTT-server instellen.
– Met “MQTT_BUTTON_RETAIN”, “MQTT_POWER_RETAIN” en “MQTT_SWITCH_RETAIN” kunt u de bewaarvlag voor de betreffende MQTT-berichten activeren. Dit betekent dat de betreffende MQTT-berichten ook worden verzonden naar MQTT-clients die nog niet online waren op het moment dat het MQTT-bericht werd verzonden.
– Met “MQTT_STATUS_OFF” kunt u de string instellen die in opdrachten wordt gebruikt om iets uit te schakelen.
– Met “MQTT_STATUS_ON” kun je de string instellen die gebruikt wordt in commando’s om iets aan te zetten.
– Met “MQTT_CMND_TOGGLE” kun je de string instellen die gebruikt wordt in commando’s om iets te schakelen.
– Met “MQTT_CMND_HOLD” kunt u de string instellen die moet worden verzonden wanneer een knop langer wordt ingedrukt dan gespecificeerd in KEY_HOLD_TIME.

In dit gedeelte kunnen verschillende details over de gebruikte MQTT-onderwerpen worden gedefinieerd.
Met “MQTT_FULLOPIC” specificeert u de structuur van de gebruikte onderwerpen. Standaard bestaat dit altijd uit het “prefix” en het betreffende “onderwerp”.

De voorvoegsels worden vervolgens gespecificeerd onder “SUB_PREFIX”, “PUB_PREFIX” en “PUB_PREFIX2”.
Uw Tasmota-apparaat gebruikt het voorvoegsel dat is opgegeven onder “SUB_PREFIX” als abonnement – d.w.z. om waarden en opdrachten te ontvangen.
Het pefix dat is opgegeven onder “PUB_PREFIX” wordt gebruikt om waarden te publiceren.
Telemetriegegevens worden verzonden via het voorvoegsel dat is opgegeven in “PUB_PREFIX2”.

De onderwerpen worden vervolgens gedefinieerd onder “MQTT_TOPIC”, “MQTT_GRTOPIC”, “MQTT_BUTTON_TOPIC”, “MQTT_SWITCH_TOPIC”.
“MQTT_TOPIC” staat voor het individuele onderwerp van het Tasmota-apparaat. Een deel van het MAC-adres van uw Tasmota-apparaat wordt altijd toegevoegd.
“MQTT_GRTOPIC” staat voor een onderwerp waarin je meerdere Tasmota-apparaten in een groep kunt combineren.
Met “MQTT_BUTTON_TOPIC” en “MQTT_SWITCH_TOPIC” kun je speciale onderwerpen instellen voor eventueel aangesloten knoppen en schakelaars.

Met “MQTT_CLIENT_ID” kunt u de naam of ID van de MQTT-client opgeven.

Normaal gesproken kun je al deze waarden laten zoals ze zijn.

“TELE_PERIOD” bepaalt het interval waarmee de telemetriegegevens worden verzonden. Deze tijd wordt weergegeven in seconden. Met een waarde van 300 worden de telemetriegegevens zoals verbindingsgegevens en sensorwaarden elke vijf minuten naar de ingestelde MQTT-onderwerpen verzonden.
Met “DOMOTICZ_UPDATE_TIMER” kunt u het interval opgeven waarmee de relay-status naar uw Domoticz-instantie wordt verzonden of bijgewerkt.
De parameter gebruiken “HOME_ASSISTENT_DISCOVERY_ENABLE” kunt u de automatische herkenning van uw Tasmota apparaat activeren. Als je Home Assistant gebruikt, moet deze functie geactiveerd zijn.
In dit gebied kunnen verschillende instellingen worden geconfigureerd voor de webserver die op het Tasmota-apparaat draait. “WEB_SERVER” bepaalt in welke gebruikersmodus de webserver draait. Als u dit heeft ingesteld op “2”=Admin, moet u naar de volgende optie gaan “WEB_WACHTWOORD” Zorg ervoor dat u een wachtwoord instelt. Anders kan iedereen die toegang heeft tot uw netwerk de configuratie van uw Tasmota apparaat wijzigen en controleren. Met "VRIENDELIJKE NAAM" kun je een beter leesbare naam opgeven. Deze wordt gebruikt voor weergave in het webmenu en voor mogelijke koppelingen met Alexa.
Met de optie “NTP_SERVERX” kunt u het adres van de NTP-server instellen. U kunt drie verschillende servers opgeven. Als de eerste server niet toegankelijk is, wordt automatisch de volgende geconfigureerde server ter vervanging gebruikt.

Met deze en de opties in de volgende sectie kunt u de criteria voor de zomer-/wintertijdwijziging instellen. De parameters die beginnen met “TIME_DST...” bepalen onder welke omstandigheden de overgang van standaardtijd (wintertijd) naar zomertijd plaatsvindt. De parameters die beginnen met “TIME_STD_...” zijn daarentegen cruciaal voor het tegenovergestelde geval, namelijk de overgang van zomer- naar wintertijd. Voor het overige zijn de parameters voor beide gebieden identiek: “…HEMISPHERE” bepaalt in welk deel van de aardbol u zich bevindt. Deze optie is eigenlijk niet nodig voor de tijdsverandering, maar voor het berekenen van de juiste zonsopgang- en zonsondergangtijden.

Nu is het tijd om de parameters voor de tijdverandering in te stellen. Omdat de tijdverandering (tenminste in Duitsland) van winter- naar zomertijd altijd plaatsvindt op de laatste zondag van maart om 02.00 uur, moet u de parameter “TIME_DST_WEEK” op “Last” en de parameter “TIME_DST_DAY” op “ Sun” (=zondag). , stelt u de parameter “TIME_DST_MONTH” in op “Mar” (=maart) en de parameter “TIME_DST_HOUR” op twee. Met de parameter “TIME_DST_OFFSET” geeft u vervolgens aan welk tijdsverschil er in dit geval optreedt. Ook moet u de afwijking als gevolg van de tijdzone opgeven. In het geval van Duitsland, waar de tijdzone UTC+1 is, d.w.z. +60 minuten, is de zomertijd +120 minuten.

De tijdwisseling van zomer- naar wintertijd (wederom in Duitsland) vindt altijd plaats op de laatste zondag van oktober om 03:00 uur.
Daarom moet u de parameter “TIME_STD_WEEK” instellen op “Last”, de parameter “TIME_STD_DAY” op “Sun” (=zondag), de parameter “TIME_STD_MONTH” op “Oct” (=oktober) en de parameter “TIME_STD_HOUR” op drie . Met de parameter “TIME_STD_OFFSET” geeft u vervolgens aan welk tijdsverschil er in dit geval optreedt. Ook moet u de afwijking als gevolg van de tijdzone opgeven. Voor Duitsland, waar de tijdzone UTC+1 heeft, d.w.z. +60 minuten, geldt hier de standaardtijd (=wintertijd) +60 minuten.

U kunt de opties "LATITUDE" en "LONGITUDE" gebruiken om de positie van het Tasmota-apparaat in te stellen. Dit is nodig om de juiste zonsopgang- en zonsondergangtijden te berekenen. Als u van deze functie gebruik wilt maken, is het belangrijk dat u hier de juiste gegevens opgeeft. Hoe je de positie van elke plaats kunt achterhalen, staat in het artikel Breedtegraad en lengtegraad van een positie bepalen met GoogleMaps beschreven. Zorg ervoor dat u de positie (zoals weergegeven) in het decimale systeem opgeeft. Hoe je dit doet staat ook beschreven in het genoemde artikel.

“APP_TIMEZONE” definieert de tijdzone.
“APP_LEDSTATE” definieert de functie van de geïntegreerde LED’s (in veel Sonoff-apparaten).
“APP_PULSETIME” definieert de pulsduur in veelvouden van 0,1 seconden. Een waarde van 5 komt overeen met 0,5 seconde of 500 milliseconden. Een waarde van 0 schakelt deze functie uit.
“APP_POWERON_STATE” definieert de toestand van de geconfigureerde relais na het inschakelen. De volgende instellingen zijn beschikbaar: POWER_ALL_OFF, POWER_ALL_ON, POWER_ALL_SAVED_TOGGLE, POWER_ALL_SAVED, POWER_ALL_ALWAYS_ON, POWER_ALL_OFF_PULSETIME_ON
“APP_BLINKTIME” definieert de pulslengte van een “knipperend” relais
“APP_SLEEP” definieert een tijdsperiode tussen 1 en 250 milliseconden waarin de ESP8266 in de slaapmodus wordt gezet. Zo kun je wat energie besparen. Uiteraard reageert de ESP8266 in het ergste geval pas 250 milliseconden later.
“KEY_DEBOUNCE_TIME” definieert de debouncetijd van een verbonden knop. Een waarde van 50 geeft aan dat na een gedetecteerde toetsaanslag de betreffende knop 50 milliseconden wordt genegeerd.
“KEY_HOLD_TIME” definieert de tijdsduur dat een knop moet worden ingedrukt totdat deze wordt herkend als een permanent ingedrukte knop. De opgegeven waarde wordt opnieuw met 0,1 seconde vermenigvuldigd. Een waarde van 40 komt overeen met een tijdsperiode van 4 seconden. De gebeurtenis “knop is ingedrukt” wordt pas na 4 seconden geactiveerd.
“SWITCH_DEBOUNCE_TIME” definieert de debouncetijd van een aangesloten schakelaar. Een waarde van 50 geeft aan dat nadat een schakelaarstandverandering wordt gedetecteerd, de betreffende schakelaar gedurende 50 milliseconden wordt genegeerd.
“SWITCH_MODE” definieert het gedrag van het geconfigureerde relais ten opzichte van een aangesloten schakelaar. De volgende opties zijn mogelijk:
SCHAKELAAR; VOLGEN, VOLGEN_INV, PUSHBUTTON, PUSHBUTTON_INV, PUSHBUTTONHOLD, PUSHBUTTONHOLD_INV, PUSHBUTTON_TOGGLE
“WS2812_LEDS” definieert het aantal aangesloten WS2812-LED's.
“TEMP_CONVERSION” activeert (=1) of deactiveert (=0) de conversie van de temperatuur naar de Fahrenheit-eenheid.
“TEMP_RESOLUTION” definieert de resolutie waarmee de temperatuur wordt weergegeven. U kunt kiezen tussen geen en maximaal drie decimalen. LET OP: De betreffende resolutie moet uiteraard ook door de aangesloten sensor worden geleverd. Anders is deze zogenaamd nauwkeurigere waarde meer giswerk dan exact.
“HUMIDITY_RESOLUTION” definieert de resolutie waarmee de luchtvochtigheid wordt weergegeven. U kunt kiezen tussen geen en maximaal drie decimalen. LET OP: De betreffende resolutie moet uiteraard ook door de aangesloten sensor worden geleverd. Anders is deze zogenaamd nauwkeurigere waarde meer giswerk dan exact.
“PRESSURE_RESOLUTION” definieert de resolutie waarmee de luchtdruk wordt weergegeven. U kunt kiezen tussen geen en maximaal drie decimalen. LET OP: De betreffende resolutie moet uiteraard ook door de aangesloten sensor worden geleverd. Anders is deze zogenaamd nauwkeurigere waarde meer giswerk dan exact.
“ENERGY_RESOLUTION” definieert de resolutie waarmee het energieverbruik wordt weergegeven. U kunt kiezen tussen geen en maximaal vijf decimalen. LET OP: De betreffende resolutie moet uiteraard ook door de aangesloten sensor worden geleverd. Anders is deze zogenaamd nauwkeurigere waarde meer giswerk dan exact.

In dit gedeelte kunt u gebruikte taal die het Tasmota apparaat moet gebruiken, bijvoorbeeld voor het webmenu. Om de betreffende taal te activeren, moet de // voor de betreffende regel worden verwijderd. Alle andere regels moeten dan worden gedeactiveerd door ze vooraf te laten gaan door //. In het bovenstaande voorbeeld is Duits(de-DE) ingesteld als taal.

Met deze opties kan het gedrag worden bepaald in het geval dat er nog geen geldige WLAN-toegangsgegevens voor het Tasmota-apparaat zijn opgeslagen. Als “USE_WPS” is geactiveerd (d.w.z. de twee // vóór de overeenkomstige vermelding zijn verwijderd), heeft u de mogelijkheid om uw Tasmota-apparaat met uw router te verbinden met behulp van de WPS-functie. Als “USE_SMARTCONFIG” is geactiveerd, kunt u de toegangsgegevens invoeren met de Android-app ESP8266 Smart Config configureren.

Met de parameter “USE_ARDUINO_OTA” activeer je de OTA-functie. Dit maakt het mogelijk om “over the air (=OTA)” updates naar het Tasmota-apparaat te importeren. Het grote voordeel hiervan is dat je via de WLAN-verbinding de firmware naar het Tasmota-apparaat kunt uploaden zonder dat je deze met een USB-kabel hoeft aan te sluiten. Als u over voldoende geheugen beschikt, raad ik u aan deze functie geactiveerd te laten.
In dit gebied kunt u de gebruikte MQTT-bibliotheek opgeven. Om dit te doen, activeert of deactiveert u de gewenste optie door de voorgaande // te verwijderen of toe te voegen. Normaal gesproken kunt u de weergegeven optie “MQTT_PUBSUBCLIENT” ingesteld laten.
“MQTT_TELE_RETAIN” activeert of deactiveert de bewaarvlag voor de verzonden telemetriegegevens. Dit betekent dat als een andere MQTT-client zich abonneert op het betreffende telemetrieonderwerp nadat er waarden naartoe zijn verzonden, deze waarden opnieuw worden geleverd aan de nieuw verbonden MQTT-client.
Met “DOMITICZ_IN_TOPIC” kunt u het Domiticz-invoeronderwerp instellen. Met “DOMITICZ_OUT_TOPIC” kunt u het Domiticz-uitvoeronderwerp instellen.
Met “USE_HOME_ASSISTENT” kunt u de automatische “aankondiging” van uw Tasmota-apparaat activeren. Het gewenste voorvoegsel kan vervolgens worden ingesteld met de optie “HOME_ASSISTENT_DISCOVERY_PREFIX”.
De optie “USE_MQTT_TLS” activeert of deactiveert TLS-codering voor uw MQTT-communicatie. Dit is een grote veiligheidswinst, maar gaat helaas ook ten koste van het gebruikte geheugen. Afhankelijk van uw geheugengebruik kunt u deze functie niet in elke configuratie gebruiken.
Met “USE_KNX” kunt u de ondersteuning voor het KNX-protocol activeren of deactiveren. Bovendien kan het bijbehorende webmenu worden geactiveerd of gedeactiveerd met behulp van “USE_KNX_WEB_MENU”.
In dit gedeelte kunt u de essentiële instellingen voor uw webserver instellen. Met de optie “USE_WEBSERVER” kan de gehele webserverfunctionaliteit worden geactiveerd of gedeactiveerd. “WEB-POORT” definieert de gebruikte poort en “WEB_USERNAME” definieert de gewenste gebruikersnaam. Met de optie “USE_EMULATION” kunt u de simulatie van een Belink WeMo inclusief Hue Bridge simuleren. Hierdoor kun je het apparaat ook bedienen via de SmartHome-functie van je Alexa-apparaat.
Met “USE_DISCOVERY” en de bijbehorende subcategorieën activeert u de functie zodat uw Tasmota-apparaat zelfstandig op zoek gaat naar de hostnaam van uw MQTT-server of de webserver bereikbaar is via een lokale domeinnaam. Om dit te doen, moeten de overeenkomstige opties “WEBSERVER_ADVERTISE” of “MQTT_HOST_DISCOVERY” worden geactiveerd.
Met “USE_TIMERS” en de volgende opties kunt u de timerfuncties van Tasmota activeren/deactiveren en besturen. U kunt “USE_TIMERS_WEB” gebruiken om te activeren/deactiveren dat de timers kunnen worden bediend/weergegeven via de webinterface. Met ‘USE_SUNRISE’ kun je diverse functies toevoegen waarmee je kunt reageren op zonsopgang- en zonsondergangtijden. Om deze tijden precies in te kunnen stellen, kunt u ook met “SUNRISE_DAWN_ANGLE” aangeven welke schemering er precies gebruikt moet worden. Er zijn de volgende opties: DAWN_NORMAL, DAWN_CIVIL, DAWN_NAUTIC, DAWN_ASTRONOMIC
“USE_RULES” schakelt ondersteuning voor aangepaste regels in/uit. Als u uw Tasmota-apparaat individueel wilt besturen volgens bepaalde regels, moet u deze functie activeren.
De optie “USE_ADC_VCC” is belangrijk als u de geïntegreerde ADC van uw ESP8266 wilt gebruiken. Als deze optie is geactiveerd, wordt de interne ADC gebruikt om de voedingsspanning te meten. In dit geval is het niet mogelijk om externe spanningen te meten. Om dit te doen, moet deze functie worden uitgeschakeld.
Met “USE_DS18x20” kunt u ondersteuning voor DS18x20 temperatuursensoren activeren of deactiveren. Met “W1_PARASITE_POWER” kunt u ook de ondersteuning van de parasitaire energievoorziening verbeteren.
In deze sectie kunt u de ondersteuning activeren/deactiveren voor verschillende sensoren die zijn aangesloten via het I2C-protocol. In ieder geval moet de optie “USE_I2C” geactiveerd zijn. De individuele ondersteuning voor de betreffende sensoren wordt vervolgens geconfigureerd door de betreffende optie te activeren/deactiveren.
Met de optie “USE_SPI” kan ondersteuning voor sensoren en actuatoren die via SPI communiceren worden geactiveerd/gedeactiveerd.
Naast I2C en SPI kunnen sensoren en actuatoren ook worden aangesloten met een seriële interface. In dit gedeelte kun je de ondersteuning voor de respectieve sensoren activeren/deactiveren.
Met de Tasmota-firmware is het ook mogelijk om infraroodopdrachten te verzenden en te ontvangen. De hiervoor benodigde instellingen vindt u in dit hoofdstuk. De functie “USE_IR_REMOTE” activeert/deactiveert de mogelijkheid om opdrachten te verzenden. De functie “USE_IR_RECEIVE” daarentegen activeert/deactiveert de functie voor het ontvangen van opdrachten.
U moet de optie "USE_WS2812" activeren als u LED's wilt bedienen met uw Tasmota-apparaat WS2812. U kunt ook “USE_WS2812_CTYPE” gebruiken om het LED-type te selecteren, bijvoorbeeld NEO_GRB/NEO_RGB/etc. set. Met de optie “USE_WS2812_DMA” kunt u de WS2812 LED’s via de DMA-interface aansturen. Dit is vooral handig voor tijdkritische beeldschermen en vermindert de processorbelasting.
De optie “USE_ARILUX_RF” schakelt ondersteuning voor de Arilux RF-controller in/uit.
Met behulp van de optie “USE_SR04” kunt u ondersteuning voor de zeer populaire HC-SR04 ultrasone afstandssensor in-/uitschakelen. 

Met de optie “USE_RF_FLASH”, indien geactiveerd op een SONOFF 433Mhz RF-brug, kan de aangesloten co-processor worden geprogrammeerd via de Tasmota-firmware-webinterface. Meer hierover leest u in het artikel Tasmota - Sonoff RF Bridge RF-Chip (EFM8BB1) met Portic Firmware knipperen vinden.

In deze en de volgende sectie kunt u opties configureren die vooral nuttig zijn voor ontwikkelaars. Met de optie “USE_DEBUG_DRIVER” activeert/deactiveert u experimentele stuurprogramma’s voor sensoren en actuatoren die nog niet volledig zijn getest.
Deze opties schakelen bepaalde “standaardconfiguraties” in/uit. “USE_CLASSIC” activeert alle opties die nodig zijn voor de “klassieke” Tasmota-versie. “USE_SESNORS” activeert alle opties voor de meest gebruikte sensoren. “USE_KNX_NO_EMULATION” creëert een versie met KNX maar zonder deze functie te emuleren. “BE_MINIMAL” deactiveert de meeste functies en creëert zo een zeer compact firmware-image, dat perfect is om via OTA naar een ESP8266 te uploaden.

Start het programmeerproces

Nadat u de firmware naar wens hebt aangepast of geconfigureerd, is het nu tijd om deze over te zetten naar de ESP8266 van uw Tasmota apparaat. In dit voorbeeld wordt een normaal ESP8266 adapterboard van de WEMOS D1-Mini geprogrammeerd met de Tasmota firmware.

Selecteer eerst het ESP8266-adapterbord dat je gebruikt.
In het geval van een WEMOS D1-Mini moeten de opties worden ingesteld zoals weergegeven. Met de optie ‘Erase Flash…’ kunt u instellen welke gegevens tijdens het programmeren moeten worden verwijderd. U kunt kiezen tussen “Only Sketch”=Alleen de firmware, “Sketch + Wifi-instellingen”= Firmware- en Wifi-configuratiegegevens en “Alle Flash-inhoud”= Alle gegevens. Normaal gesproken kunt u deze instelling op “Only Sketch” laten staan.
Om het programmeerproces te starten, klik je gewoon op het turkooisgroene pijlsymbool (de tweede van links) in de bovenste icoonbalk.
Hiermee start u de compilatie en daaropvolgende programmering van de firmware. Afhankelijk van de omvang van de firmware kan dit proces één tot vijf minuten duren. Als dit gelukt is, wordt dit bevestigd door een “Upload voltooid” in de onderste statusbalk.
U kunt het opstartproces van de vers geprogrammeerde ESP8266 ook via de seriële interface controleren. Na de succesvolle installatie geeft de Tasmota-firmware allerlei statusberichten weer. Klik hiervoor op het menu-item “Extra” en “Seriële monitor”. Meer informatie over de seriële interface vindt u ook in het artikel Ardunio - De seriële interface gebruiken vinden.
In het venster dat nu opent, kun je alle berichten van de ESP8266 of de Tasmota firmware lezen die worden uitgevoerd tijdens het opstart- en verbindingsproces.

Veel plezier met het project

Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂

PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂

Koop Me a Coffee op ko-fi.com       

2 comments

  1. In de huidige tasmota-firmwareversie van github bestaat de sonoff-map zoals hierboven beschreven niet meer. Compileren lukt niet. Wat doe ik verkeerd?
    Met vriendelijke groeten
    Fabian

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.