De ESP8266 is verkrijgbaar in allerlei uitvoeringen. De makkelijkste manier is een usb-versie zoals de Wemos D1 mini. Die kost ongeveer vijf euro en heeft zowel de signaalconverters als de usb-TTL-adapter die nodig zijn voor het programmeren, samen met de ESP op één printplaat.
Je hoeft daar verder niet voor te solderen. Eenmaal geprogrammeerd, kan de Wemos D1 mini rechtstreeks op een usb-voeding worden aangesloten. Hij verbruikt niet veel energie, dus je kunt daar een voeding voor gebruiken die anders toch maar niets ligt te doen in een bureaula vanwege te weinig vermogen.
In de zendmodus heeft het apparaat niet meer dan 0,6 watt nodig. Een usb-voeding van 200 milliampère is dus genoeg. Voor het installeren is een computer nodig met een usb-poort en een apparaat met wifi en een browser.
Ontvang gratis meer informatie over microcontrollers, schrijf je in voor de nieuwsbrief:
Download eerst de twee firmwarebestanden 0x00000.bin en 0x02000.bin van de GitHub-repository en zet die in een map. Om de firmware naar de microcontroller te schrijven, heb je esptool nodig, een stukje software dat firmwarebestanden naar de ESP schrijft.
Bij macOS en Linux installeer je het via de Python-pakketmanager pip met het commando: sudo pip install esptool. Als het commando mislukt, probeer je het met pip3. Als dat ook mislukt, lees dan in de documentatie van je besturingssysteem hoe je pip of pip3 op je computer kunt installeren.
Nadat je esptool met succes geïnstalleerd hebt, sluit je de ESP via usb aan op je computer en bepaal je eerst het adres van de virtuele seriële poort via de commandline. Bij Linux kun je dat doen met sudo ls /dev/ttyUSB*, bij macOS met ls /dev/tty.*.
Als er geen andere seriële adapter aangesloten is, wordt de interface bij Linux gewoonlijk /dev/ttyUSB0 genoemd. Zoek in macOS naar ‘usbserial’ of iets dergelijks en noteer de volledige naam. Ga daarna naar de firmwaremap en voer het installatiecommando uit.
Vervang <port> door het eerder bepaalde poortadres. Pas de flashgrootte aan als je een andere ESP-hardwarebasis gebruikt. Hier gebruiken we 4MB voor de 4 MB van de Wemos D1 mini: esptool –port <port> write_flash -fs 4MB -ff 80m -fm dio 0x00000 0x00000.bin 0x02000 0x02000.bin
Nadat de firmware erop is gezet, kun je de Wemos D1 aan bijna elke usb-voeding hangen. Het energieverbruik is minder dan een halve watt.
Als je het Windows Subsystem for Linux (WSL) geïnstalleerd hebt, kun je onder Windows op bijna dezelfde manier te werk gaan. Je downloadt de bestanden met wget rechtstreeks naar je gebruikersmap (kopieer de downloadlink, wget <link>) of je navigeert met cd /mnt/c/… naar de betreffende Windows-map.
Windows geeft seriële poorten door aan /dev/ttyS<X>, waarbij <X> wordt vervangen door het COM-poortnummer dat bij Apparaatbeheer te zien is. Daarna kun je esptool starten met de aangepaste parameters.
Als alternatief kun je onder Windows de Flash Download Tools van Espressif gebruiken met een grafische gebruikersinterface. Pak het gedownloade zipbestand uit en start de toepassing in de map. Selecteer de Developer Mode en bij het volgende venster ESP8266 DownloadTool.
Klik op de drie puntjes in de eerste regel en selecteer 0x00000.bin voor het eerste flashbestand. Voer in het veld rechts het geheugengebied in dat moet worden geschreven: 0x00000. Doe hetzelfde op de tweede regel met 0x02000.bin en 0x02000. Selecteer vervolgens de optie 32Mbit bij FLASH SIZE – wat overeenkomt met 4 MB – en de juiste poort bij COM.
Toevallig bereikte mij gisteren een mailing via de website op Facebook ESP8266 ESP32 for Beginners een link die verwees naar een heel handig overzicht wat er aan ESP32 familie ondertussen was uitgekomen, voor bijvoorbeeld LoRa toepassingen.
De ESP8266 is intussen al behoorlijk verouderd, men moet externe tools aanschaffen welke de ESP32 in zich heeft zoals WiFi, de ESP32 heeft 2 onafhankele kernen die men onafhankellijk van elkaar programmeert, en veel meer voordelen die de ESP8266 gewoon niet in zich heeft.
Voor het zeer complete excel gelijke overzicht zie de onderstaande link.
https://docs.google.com/spreadsheets/d/1Mu-bNwpnkiNUiM7f2dx8-gPnIAFMibsC2hMlWhIHbPQ/edit#gid=0