HowTo: Tasmota - flash-firmware

Naast de hardware is de juiste software voor je project natuurlijk net zo belangrijk. Een praktische en universeel toepasbare firmware voor de ESP8266 bos en weide microcontroller is de Tasmota firmware. Hiermee kun je verschillende projecten realiseren zonder zelf te hoeven 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 ook absoluut noodzakelijk voor sommige sensoren die worden gebruikt, omdat niet alle softwarecomponenten standaard worden gecompileerd ("toegevoegd aan de firmware") voor elke sensor of actuator.

In het GitHub project dat je nu gedownload hebt, zul je verschillende mappen vinden. Voor ons zijn echter alleen de mappen "lib" en "sonoff" belangrijk. lib" bevat alle Arduino-bibliotheken die Tasmota nodig heeft om succesvol te compileren. Installeer dus alle Arduino-bibliotheken die hierin staan. Tips hierover vind je in het artikel ArduinoIDE - Een bibliotheek installeren Als je dit gedaan hebt, kun je overschakelen naar de map "sonoff".
Dit bevat alle benodigde firmwarebestanden. Open ze nu door te dubbelklikken op het bestand "sonoff" of "sonoff.ino".
Dit opent het volledige Tasmota-project in de Arduino IDE.
Ga nu naar het tabblad "user_config.h" zoals afgebeeld. Zoals de naam al doet vermoeden, kun je hier alle opties van de Tasmota firmware configureren. Dit is onderverdeeld in verschillende "onderwerpgebieden".

De verschillende Tasmota-firmware-opties

In het nu geopende "user_config.h" zijn allerlei instelmogelijkheden beschikbaar. Meestal is slechts een fractie daarvan nodig. Voor de volledigheid worden alle opties hier echter 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" definieert de hardware waarop deze Tasmota firmware wordt geïnstalleerd. Je kunt dus al aangeven of deze configuratie wordt gebruikt voor een Sonoff S26 of een eenvoudige WEMOS D1 Mini module.
"SAVE_DATA" activeert of deactiveert het opslaan van gewijzigde instellingen in het flashgeheugen. Je moet dit geactiveerd laten, anders gaan je instellingen verloren na elke herstart of stroomonderbreking.
"SAVE_STATE" activeert of deactiveert dat de laatste schakeltoestand in het flashgeheugen opgeslagen blijft. Als u de Tasmota-firmware gebruikt om bijvoorbeeld een lamp te besturen, kunt u ervoor zorgen dat de schakeltoestand wordt hersteld, zelfs na een stroomstoring.
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 op zijn minst moet controleren voordat je de firmware installeert. Hier configureer je de inloggegevens voor je WLAN. Hier kun je de SSID (d.w.z. de naam) van je WLAN invoeren onder "STA_SSID1" en het wachtwoord van je WLAN onder "STA_PASS1". Onder "STA_SSID2" en "STA_PASS2" kun je een ander WLAN configureren. Dit wordt gebruikt als een verbinding met het eerste geconfigureerde WLAN is mislukt. "WIFI_CONFIG_TOOL" "WIFI_CONFIG_...
In de sectie "Syslog" kun je servergegevens configureren voor een syslogserver. 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 syslogserver nodig. Naast de sysloggegevens kun je ook de logberichten configureren die worden uitgevoerd via de seriële console of de webconsole. Zo kun je instellen hoe gedetailleerd de uitvoer op de web- of seriële console is. De volgende niveaus zijn mogelijk (die ook steeds gedetailleerder worden in deze volgorde): LOG_LEVEL_NONE, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_DEBUG_MORE
Met "OTA_URL" kunt u een URL definiëren waarvan OTA (Over-the-Air) updates worden verkregen. Als u later een update start in de reeds geïnstalleerde Tasmota firmware, zal Tasmota ernaar zoeken onder het opgegeven adres en deze indien nodig installeren.

In het gedeelte "MQTT" kunnen de basisparameters voor het verbinden met de MQTT-server worden ingesteld. - MQTT_USE" activeert de MQTT-client.
- MQTT_HOST" definieert het adres van je MQTT-server.
- Onder "MQTT_FINGERPRINTX" kun je de vingerafdruk instellen voor het versleutelen van je MQTT-verbinding. - MQTT_PORT" stelt de poort van je MQTT-server in.
- In "MQTT_USER" en "MQTT_PASS" kun je de gebruikersnaam en het wachtwoord voor je MQTT-server definiëren.
- Met "MQTT_BUTTON_RETAIN", "MQTT_POWER_RETAIN" en "MQTT_SWITCH_RETAIN" kun je de retain flag activeren voor de respectievelijke MQTT-berichten. Dit heeft als effect dat de respectievelijke MQTT-berichten ook verzonden worden naar MQTT-clients die nog niet online waren toen het MQTT-bericht verzonden werd.
- Met "MQTT_STATUS_OFF" kun je de string instellen die wordt gebruikt in commando's 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 wordt gebruikt in commando's om iets aan te zetten.
- Met "MQTT_CMND_HOLD" kun je de string instellen die wordt 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" definieer je de structuur van de gebruikte onderwerpen. Standaard bestaat deze altijd uit de "prefix" en het respectievelijke "topic".

De voorvoegsels worden dan gedefinieerd onder "SUB_PREFIX", "PUB_PREFIX" en "PUB_PREFIX2".
Uw Tasmota apparaat gebruikt de onder "SUB_PREFIX" gespecificeerde prefix als abonnement - d.w.z. om waarden en opdrachten te ontvangen.
De pefix gespecificeerd onder "PUB_PREFIX" wordt gebruikt om waarden te publiceren.
Telemetriegegevens worden verzonden via de prefix gedefinieerd in "PUB_PREFIX2".

De onderwerpen worden dan gedefinieerd onder "MQTT_TOPIC", "MQTT_GRTOPIC", "MQTT_BUTTON_TOPIC", "MQTT_SWITCH_TOPIC".
MQTT_TOPIC" staat voor het individuele onderwerp van het Tasmota apparaat. Er wordt ook altijd een deel van het MAC-adres van het Tasmota apparaat toegevoegd.
"MQTT_GRTOPIC" staat voor een onderwerp waarin je verschillende Tasmota-apparaten kunt groeperen.
Met "MQTT_BUTTON_TOPIC" en "MQTT_SWITCH_TOPIC" kun je speciale onderwerpen instellen voor de eventueel aangesloten knoppen en schakelaars.

Met "MQTT_CLIENT_ID" kun je de naam of de ID van de MQTT-client definiëren.

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

"TELE_PERIOD" definieert het interval waarmee de telemetriegegevens worden verzonden. Deze tijd wordt gespecificeerd in seconden. Met een waarde van 300 worden de telemetriegegevens zoals verbindingsgegevens en sensorwaarden om de vijf minuten naar de ingestelde MQTT-onderwerpen verzonden.
Met "DOMOTICZ_UPDATE_TIMER" kun je het interval bepalen waarmee de status van het relais wordt verzonden of bijgewerkt naar je Domoticz-instantie.
De parameter gebruiken "HOME_ASSISTANT_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 voor de webserver op het Tasmota apparaat worden geconfigureerd. "WEB_SERVER" bepaalt de gebruikersmodus waarin de webserver draait. Als u dit hebt ingesteld op "2"=Admin, moet u het volgende kunnen zien in de volgende optie "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" kun je het adres van de NTP-server opgeven. Je kunt drie verschillende servers opgeven. Als de eerste server niet beschikbaar is, wordt automatisch de volgende geconfigureerde server als vervanging gebruikt.

Met deze en de opties in de volgende sectie kun je de criteria voor de zomer-/wintertijdomschakeling definiëren. De parameters die beginnen met "TIME_DST..." bepalen onder welke voorwaarden de omschakeling van standaardtijd (wintertijd) naar zomertijd plaatsvindt. De parameters die beginnen met "TIME_STD_..." zijn daarentegen bepalend voor het omgekeerde geval, d.w.z. de omschakeling van zomer- naar wintertijd. De parameters zijn verder identiek voor beide gebieden: "...HEMISPHERE" bepaalt op welk deel van de wereldbol je je bevindt. Deze optie is niet echt nodig voor de tijdsverandering, maar eerder voor het berekenen van de juiste zonsopgangs- en zonsondergangstijden.

Nu is het tijd om de parameters voor de tijdsverandering in te stellen. Aangezien de tijdsverandering (in ieder geval in Duitsland) van winter- naar zomertijd altijd op de laatste zondag in maart om 2:00 uur plaatsvindt, moet je de parameter "TIME_DST_WEEK" op "Last", de parameter "TIME_DST_DAY" op "Sun" (=zondag), de parameter "TIME_DST_MONTH" op "Mar" (=maart) en de parameter "TIME_DST_HOUR" op twee zetten. Met de parameter "TIME_DST_OFFSET" geef je vervolgens aan welke tijdverschuiving in dit geval optreedt. Je moet ook de afwijking door de tijdzone opgeven. In het geval van Duitsland, waar de tijdzone UTC+1 is, dus +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 je 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" geef je vervolgens aan welke tijdverschuiving in dit geval optreedt. Je moet ook de afwijking door de tijdzone opgeven. In het geval van Duitsland, waar de tijdzone UTC+1 is, dus +60 minuten, is de standaardtijd (=wintertijd) +60 minuten.

Met de opties "LATITUDE" en "LONGITUDE" kunt u de positie van het Tasmota apparaat instellen. Dit is nodig om de juiste tijden voor zonsopgang en zonsondergang te berekenen. Als u deze functie wilt gebruiken, is het belangrijk dat u hier de juiste gegevens invoert. Hoe u de positie van een willekeurige locatie kunt achterhalen, wordt beschreven 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 de vorm van veelvouden van 0,1 seconden. Een waarde van 5 komt overeen met 0,5 seconden of 500 milliseconden. Een waarde van 0 deactiveert deze functie.
"APP_POWERON_STATE" bepaalt de toestand van de geconfigureerde relais na het inschakelen. De volgende instellingen zijn hier 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 slaapstand wordt gezet. Op deze manier kan er wat energie bespaard worden. Natuurlijk zal de ESP8266 in het ergste geval pas na 250 milliseconden reageren.
"KEY_DEBOUNCE_TIME" definieert de debounce-tijd van een aangesloten knop. Een waarde van 50 geeft dus aan dat na een gedetecteerde druk op een knop, de knop in kwestie gedurende 50 milliseconden wordt genegeerd.
"KEY_HOLD_TIME" bepaalt hoe lang een knop ingedrukt moet worden tot hij herkend wordt als een permanent ingedrukte knop. De opgegeven waarde wordt opnieuw vermenigvuldigd met 0,1 seconden. Een waarde van 40 komt overeen met een duur van 4 seconden. De gebeurtenis "Knop is ingedrukt" wordt pas na 4 seconden geactiveerd.
"SWITCH_DEBOUNCE_TIME" definieert de debounce-tijd van een aangesloten schakelaar. Een waarde van 50 geeft aan dat na een gedetecteerde wijziging van de schakelaarpositie, de respectieve schakelaar gedurende 50 milliseconden wordt genegeerd.
"SWITCH_MODE" bepaalt het gedrag van het geconfigureerde relais met betrekking tot 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 LEDs.
"TEMP_CONVERSION" activeert (=1) of deactiveert (=0) de omzetting van de temperatuur in Fahrenheit.
"TEMP_RESOLUTION" bepaalt de resolutie waarmee de temperatuur wordt weergegeven. Je kunt kiezen tussen geen en maximaal drie decimalen. LET OP: De betreffende resolutie moet natuurlijk ook worden geleverd door de aangesloten sensor. Anders is deze zogenaamd exactere waarde eerder een gok dan een exacte waarde.
"HUMIDITY_RESOLUTION" bepaalt de resolutie waarmee de vochtigheid wordt weergegeven. Je kunt kiezen tussen geen en maximaal drie decimalen. LET OP: De betreffende resolutie moet natuurlijk ook worden geleverd door de aangesloten sensor. Anders is deze zogenaamd exactere waarde eerder een gok dan een exacte waarde.
"PRESSURE_RESOLUTION" bepaalt de resolutie waarmee de luchtdruk wordt weergegeven. Je kunt kiezen tussen geen en maximaal drie decimalen. LET OP: De betreffende resolutie moet natuurlijk ook worden geleverd door de aangesloten sensor. Anders is deze zogenaamd exactere waarde eerder een gok dan een exacte waarde.
"ENERGY_RESOLUTION" bepaalt de resolutie waarmee het energieverbruik wordt weergegeven. Je kunt kiezen tussen geen en maximaal vijf cijfers achter de komma. LET OP: De betreffende resolutie moet natuurlijk ook worden geleverd door de aangesloten sensor. Anders is deze zogenaamd exactere waarde eerder een gok dan een exacte waarde.

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.

Deze opties kunnen worden gebruikt om het gedrag te bepalen in het geval dat er geen geldige WLAN toegangsgegevens zijn opgeslagen voor het Tasmota apparaat. Als "USE_WPS" is geactiveerd (d.w.z. de twee // voor de overeenkomstige vermelding zijn verwijderd), kunt u uw Tasmota apparaat met uw router verbinden met behulp van de WPS-functie. Als "USE_SMARTCONFIG" is geactiveerd, kunt u de toegangsgegevens invoeren met de functie 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 op het Tasmota apparaat te installeren. Het grote voordeel hiervan is dat je de firmware op het Tasmota apparaat kunt installeren via de WLAN verbinding zonder dat je het hoeft aan te sluiten met een USB kabel. Als je het geheugen beschikbaar hebt, raad ik aan om deze functie geactiveerd te laten.
In dit gebied kun je de gebruikte MQTT-bibliotheek definiëren. Activeer of deactiveer de gewenste optie door // ervoor te verwijderen of toe te voegen. Normaal gesproken kun je de optie "MQTT_PUBSUBCLIENT" ingesteld laten.
"MQTT_TELE_RETAIN" activeert of deactiveert de bewaarvlag voor de verzonden telemetriegegevens. Dit heeft tot gevolg dat als een andere MQTT-client zich abonneert op het respectieve telemetrietopic nadat er waarden naar verzonden zijn, deze waarden opnieuw naar de nieuw verbonden MQTT-client verzonden worden.
Met "DOMITICZ_IN_TOPIC" kun je het Domiticz input topic instellen. Met "DOMITICZ_OUT_TOPIC" kun je het Domiticz-uitvoeronderwerp instellen.
Met "USE_HOME_ASSISTENT" kunt u de automatische "ontsluiting" van uw Tasmota apparaat activeren. Met behulp van de optie "HOME_ASSISTENT_DISCOVERY_PREFIX" kun je dan ook de gewenste prefix instellen.
De optie "USE_MQTT_TLS" activeert of deactiveert de TLS-encryptie voor je MQTT-communicatie. Dit is een grote beveiligingswinst, maar gaat helaas ook ten koste van het geheugengebruik. Afhankelijk van het geheugengebruik is het mogelijk dat je deze functie niet in elke configuratie kunt gebruiken.
Met "USE_KNX" kun je de ondersteuning voor het KNX-protocol activeren of deactiveren. Bovendien kan met "USE_KNX_WEB_MENU" het bijbehorende webmenu worden geactiveerd of gedeactiveerd.
In dit gedeelte kun je de essentiële instellingen voor je webserver instellen. Met de optie "USE_WEBSERVER" kan de volledige webserverfunctionaliteit worden geactiveerd of gedeactiveerd. "WEB-PORT" definieert de gebruikte poort en "WEB_USERNAME" de gewenste gebruikersnaam. Met behulp van de optie "USE_EMULATION" kun je de simulatie van een Belink WeMo incl. Hue Bridge simuleren. Hierdoor kun je het betreffende apparaat 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 automatisch zoekt naar de hostnaam van uw MQTT server of de webserver kan worden bereikt via een lokale domeinnaam. Hiervoor moeten de bijbehorende 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. Met "USE_TIMERS_WEB" kunt u activeren/deactiveren dat de timers via de webinterface kunnen worden bediend/weergegeven. Met "USE_SUNRISE" kunt u verschillende functies toevoegen waarmee u kunt reageren op tijden van zonsopgang en zonsondergang. Om deze tijden precies te kunnen definiëren, kun je met "SUNRISE_DAWN_ANGLE" ook precies definiëren welke schemering gebruikt moet worden. De volgende opties zijn beschikbaar: DAGERAAD_NORMAAL, DAGERAAD_BURGERLIJK, DAGERAAD_NAUTISCH, DAGERAAD_ASTRONOMISCH
"USE_RULES" activeert/deactiveert de ondersteuning voor eigen regels. Als u uw Tasmota apparaat individueel wilt bedienen via bepaalde regels, moet u deze functie activeren.
De optie "USE_ADC_VCC" is belangrijk als je de geïntegreerde ADC van je 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. Hiervoor moet deze functie worden uitgeschakeld.
Met "USE_DS18x20" kun je de ondersteuning voor DS18x20 temperatuursensoren activeren of deactiveren. Met "W1_PARASITE_POWER" kun je ook de ondersteuning voor de parasitaire energievoorziening verbeteren.
In dit gedeelte kan ondersteuning voor verschillende sensoren die via het I2C-protocol zijn aangesloten, worden geactiveerd/gedeactiveerd. Hiervoor moet telkens de optie "USE_I2C" geactiveerd worden. De individuele ondersteuning voor de respectieve sensoren wordt vervolgens geconfigureerd via het activeren/deactiveren van de respectieve optie.
Met de optie "USE_SPI" kan ondersteuning voor sensoren en actuatoren die communiceren via SPI 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 infrarood commando's te verzenden en te ontvangen. De benodigde instellingen vind je in deze sectie. De functie "USE_IR_REMOTE" activeert/deactiveert de mogelijkheid om commando's te verzenden. De functie "USE_IR_RECEIVE" daarentegen activeert/deactiveert de functie om commando's te ontvangen.
Je moet de optie "USE_WS2812" activeren als je WS2812 LEDs wilt aansturen met je Tasmota apparaat. Je kunt ook het LED type instellen, bijvoorbeeld NEO_GRB/NEO_RGB/etc. met "USE_WS2812_CTYPE". Met de optie "USE_WS2812_DMA" kun je de WS2812 LEDs aansturen via de DMA interface. Dit is vooral handig voor tijdkritische displays en vermindert ook de processorbelasting.
De optie "USE_ARILUX_RF" schakelt ondersteuning voor de Arilux RF controller in of uit.
Met behulp van de optie "USE_SR04" kun je de ondersteuning voor de veelgebruikte HC-SR04 ultrasone afstandssensor in- of uitschakelen. 

De optie "USE_RF_FLASH" maakt het, indien geactiveerd op een SONOFF 433Mhz RF Bridge, mogelijk om de aangesloten co-processor via de web interface van de Tasmota firmware te programmeren. Je kunt hier meer over lezen in het artikel Tasmota - Sonoff RF Bridge RF-Chip (EFM8BB1) met Portic Firmware knipperen vinden.

In deze en de volgende sectie kun je opties configureren die vooral nuttig zijn voor ontwikkelaars. Met behulp van de optie "USE_DEBUG_DRIVER" kun je experimentele drivers voor sensoren en actuatoren die nog niet volledig getest zijn activeren/deactiveren.
Deze opties activeren/deactiveren bepaalde "standaard configuraties". "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 compacte firmware-image die perfect geschikt is om via OTA op een ESP8266 te worden geïnstalleerd.

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 afgebeeld. Met de optie "Erase Flash..." kun je instellen welke gegevens gewist moeten worden tijdens het programmeren. Je kunt kiezen tussen "Only Sketch"=Alleen de firmware, "Sketch + Wifi Settings"= Firmware en Wifi configuratiegegevens en "All Flash Contents"= Alle gegevens. Normaal gesproken kun je dit 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.
Dit start de compilatie en daaropvolgende programmering van de firmware. Afhankelijk van de grootte van de firmware kan dit proces één tot vijf minuten duren. Als dit succesvol was, wordt dit bevestigd door een "Upload voltooid" in de onderste statusbalk.
U kunt ook het opstartproces van de vers geprogrammeerde ESP8266 controleren via de seriële interface. Na de succesvolle installatie geeft de Tasmota firmware allerlei statusberichten via de seriële interface. Klik op de menuoptie "Tools" (Extra) en "Serial Monitor" (Seriële monitor). Meer informatie over de seriële interface is ook te vinden 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. Lees hoe uw commentaargegevens worden verwerkt.