HowTo: ESPEasy – Firmware compileren, flashen en WLAN-toegangsgegevens configureren

Naast veel belangrijke hardwarecomponenten bestaat elk project ook uit de passende software. Het is vaak minder tijdrovend om het project samen te stellen dan om later de juiste software te schrijven.

Dit werk kan echter worden opgeslagen dankzij enkele open source-projecten. Eén ervan is degene die hier al vele malen is genoemd Tasmota-firmware. Een andere is het ESPEasy-project.

ESPEasy is bijna een soort ‘besturingssysteem’ voor de ESP8266-microcontroller, waarmee verschillende sensoren en actuatoren kunnen worden aangestuurd en uitgelezen. Via eenvoudige regels kan zelfs een grote verscheidenheid aan sensoren en actuatoren aan elkaar worden gekoppeld.

Veel van de projecten op Nerdiy.de zijn ook gebaseerd op ESPEasy en een plug-in die bij het project past.

Een algemene procedure over hoe u ESPEasy en eventuele gewenste plug-ins op uw ESP8266 kunt installeren, 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.


Zelf samenstellen of niet?

In principe zijn er twee “verschillende” manieren om de gewenste firmware op uw ESP8266 te krijgen.

  1. U kunt de programmacode zelf compileren (=de programmacode vertalen naar machinecode) en het resulterende .bin-bestand overbrengen naar de ESP8266.
  2. U kunt reeds gecompileerde .bin-bestanden rechtstreeks naar de ESP8266 overbrengen.

Beide hebben voor- en nadelen.

Het voordeel van 1. is dat u alle gewenste functies kunt activeren of deactiveren. Je hebt meer configuratiemogelijkheden, maar natuurlijk ook meer potentiële bronnen van fouten.

Het voordeel van 2. is dat je werkende .bin-bestanden vrij snel naar de ESP8266 kunt overbrengen. In de meeste gevallen is dit voldoende. Alleen in het geval dat u meer “controle” wilt hebben over de individuele firmware-opties, moet u voor de eerste optie kiezen.

Niettemin wordt de eerste manier in dit artikel beschreven.

Manier twee staat in het artikel ESP8266 – flash .bin-bestanden onder Windows met de “Esptool”. beschreven.


Kopieer de huidige ESPEasy-versie van de GitHub

Om de firmware naar uw ESP8266 te kunnen overbrengen, moet u deze uiteraard eerst downloaden.

Enerzijds staat deze in de GitHub van het oorspronkelijke project, die je hier kunt vinden:
https://github.com/letscontrolit/ESPEasy/tree/mega

Er is ook een gespiegelde versie op het Nerdiy.de GitHub-account, die je hier kunt vinden:
https://github.com/Nerdiyde/ESPEasy

Het voordeel van de Nerdiy.de ESPEasy-versie is dat alle door Nerdiy.de geschreven plug-ins al zijn opgenomen en getest met de gebruikte ESPEasy-versie. Als u een van de Nerdiy-plug-ins wilt gebruiken, hoeft u geen extra plug-inbestanden naar het project te kopiëren. Het nadeel is dat de ESPEasy-versie in de originele Git waarschijnlijk nieuwer is.


Vereiste plugins activeren

Sommige ESPEasy-plug-ins zijn niet standaard geactiveerd. Op deze manier kunt u opslagruimte besparen voor onnodige plug-ins.

Als u deze plug-ins wilt gebruiken, is het belangrijk dat u deze vóór het compileren “activeert”. Om dit te doen, schakelt u over naar de overeenkomstige plug-in in de Arduino IDE.

Daar zul je meestal iets vinden als “//#define USES_PXXX” relatief hoog weergegeven. Als dit onderdeel wordt becommentarieerd (d.w.z. voorafgegaan door twee schuine strepen), wordt de bijbehorende plug-in ook gedeactiveerd. Om de plug-in te activeren hoeft u alleen maar...
...verwijder de twee voorgaande schuine strepen. Het onderdeel zou er dan uit moeten zien zoals afgebeeld.

Flash-firmware

Om de firmware uiteindelijk met de gewenste instellingen te compileren en naar de aangesloten ESP over te dragen, moet je eerst de configuratie van je bord opgeven.

Om dit te doen, klikt u op “Extra” en past u de instellingen aan volgens uw ESP. Voor een Wemos D1 MIni of vergelijkbare ESP8266 versies kunt u de getoonde instellingen gebruiken.
Om vervolgens de firmware naar de ESP over te dragen, klikt u eenvoudig op de gemarkeerde pijl.

WLAN-toegangsgegevens configureren

Nadat u de ESPEasy-firmware naar uw ESP8266 hebt overgebracht, moet u deze nu verbinden met uw WLAN.

De ESPEasy-firmware biedt hiervoor een praktische functie. Als er op de betreffende ESP8266 geen geldige WLAN-toegang is opgeslagen waarmee de firmware zich op een WLAN kan aanmelden, wordt automatisch een afzonderlijk WLAN geopend. Vervolgens kunt u verbinding maken met dit WLAN en de ESPEasy-firmware voorzien van de inloggegevens voor uw “echte” WLAN.

Deze methode wordt hieronder beschreven met een Android-mobiele telefoon. Dit werkt in principe ook met elk ander WLAN-apparaat dat ook internetaansluiting heeft. Het proces moet identiek zijn aan een iOS-apparaat of een normale laptop.

Ga eerst naar het venster waarin u uw WLAN-toegang kunt configureren. Het nog niet geconfigureerde ESPEasy-apparaat zou al ingeschakeld moeten zijn. Dan zie je ook een WLAN genaamd “ESP_Easy-0”. Dit is de WiFi die door uw ESPEasy-apparaat is gemaakt.
Maak nu verbinding met dit WLAN en gebruik de toegangssleutel “configesp”.
Het verbindingsproces duurt dan enkele seconden.
Als u verbonden bent, ontvangt u mogelijk de foutmelding “Internet is mogelijk niet beschikbaar”. Dit is ook logisch omdat de ESP8266 (via wiens WLAN je daadwerkelijk toegang zou krijgen tot internet) niet met internet is verbonden. In het huidige geval is dit geen probleem en kunt u deze foutmelding negeren.
Schakel nu over naar een internetbrowser naar keuze en open de website onder “192.168.4.1”. Dit is het IP-adres van uw ESPEasy-apparaat.
Na enkele seconden wordt u doorgestuurd naar de getoonde website. Hier worden alle radionetwerken bij u in de buurt vermeld die het ESPEasy-apparaat ook ontvangt.
Selecteer nu het gewenste radionetwerk (bij voorkeur je eigen. 🙂) met behulp van de – helaas slecht zichtbare – keuzerondjes aan de linkerkant van het betreffende radionetwerk. Voer vervolgens het wachtwoord voor het geselecteerde draadloze netwerk in het onderste tekstveld naast “Wachtwoord” in. Nadat u de juiste instellingen heeft geselecteerd, bevestigt u het geheel door op de knop “Verbinden” te klikken.

Uw ESPEasy-apparaat wordt dan opnieuw opgestart en moet na het opnieuw opstarten verbinding maken met het geselecteerde WLAN.

Dit herken je bijvoorbeeld doordat er nu een nieuw apparaat in je netwerk zit. Hoe u de apparaten in uw netwerk kunt weergeven en ook hun IP-adres kunt achterhalen, staat in het artikel Toon/ontdek het IP-adres van de apparaten in het netwerk beschreven.

Als u de verkeerde WLAN-toegangsgegevens heeft ingevoerd, kunt u uw ESPEasy-apparaat eenvoudig resetten (=terugzetten naar fabrieksinstellingen). Hierdoor worden alle instellingen verwijderd - ook eventuele onjuiste - en kunt u op dezelfde manier als hierboven beschreven nieuwe, correcte toegangsgegevens configureren.
Om uw ESPEasy-apparaat terug te zetten naar de fabrieksinstellingen, voert u eenvoudigweg de opdracht “reset” uit. Hoe u opdrachten op een ESPEasy-apparaat kunt uitvoeren, staat in het artikel ESPEasy – voer opdrachten en acties uit via HTTP, MQTT, UDP en rechtstreeks beschreven. Omdat u alleen via de seriële interface toegang heeft tot uw ESPEasy-apparaat, heeft u helaas alleen de mogelijkheid om er op deze manier opdrachten op uit te voeren.


Configureer WLAN-toegangsgegevens via de seriële interface

Persoonlijk vind ik het eenvoudiger om de WLAN-toegangsgegevens via de seriële interface te configureren. Meestal heb je de ESP toch al vooraf geflashed en is de seriële verbinding nog steeds actief.

In dit geval kunt u het commando gebruiken

Instellingen

geeft de momenteel opgeslagen instellingen weer en (indien al verbonden met een WLAN) ook het toegewezen IP-adres van de ESP.

U kunt nu het commando “WifiSSID” gebruiken om de SSID van uw WiFi-toegangspunt in te stellen. U verzendt eerst het commando en vervolgens de naam van uw WLAN-toegangspunt, gescheiden door een spatie. Als uw WiFi bijvoorbeeld “myTollesWLAN” heet, ziet het er zo uit

WifiSSID myGreatWLAN

Voor het wachtwoord heb je het commando “WifiKey” nodig. Als uw wachtwoord bijvoorbeeld “myGreatPassword” is, ziet de opdracht om het in te stellen er als volgt uit

WifiKey mijn geweldige wachtwoord

Het is belangrijk dat u de geschreven instellingen achteraf opslaat. Dit gebeurt met de opdracht

Redden

Vervolgens kunt u de ESP opnieuw opstarten door het volgende commando in te voeren, waarna deze verbinding moet maken met het geconfigureerde WiFi-toegangspunt:

herstarten

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. Hallo,
    Hartelijk dank voor de vele gedetailleerde instructies!
    Helaas is niet alles helemaal duidelijk voor de beginner, dus stel alsjeblieft een paar vragen over de bovenstaande instructies:

    1. Is het uploaden van een *.ino-bestand met behulp van de Arduino IDE identiek aan het flashen van een van de aangeboden kant-en-klare binaire bestanden? Wat zou dan het ESPeasy-firmwarebestand zijn dat moet worden geüpload om de ESPeasy-firmware bijvoorbeeld op de D1 mini te krijgen? Waar is dit *.ino-bestand precies te vinden in de repository?

    2. Waar kun je precies de plugins vinden als je de hele gekoppelde map van Github hebt gedownload, die je vervolgens kunt deactiveren/activeren?

    3. Waar in het ESPeasys-firmwarebestand moeten extra plug-ins worden gekopieerd?

    Heel erg bedankt voor je inzet!
    Hartelijke groeten

    1. hoi christen,
      Hartelijk dank voor uw goede advies. Soms word je een beetje ‘operationeel blind’ voor de belangrijke vragen. 🙂
      Ik zal de tips toevoegen aan het artikel. 🙂
      Hartelijke groeten
      Fab

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.