ID.nl logo
Huis

Arduino IDE: Ondersteuning voor ESP8266 en ESP32

Standaard ondersteunt Arduino IDE de meest voorkomende Arduino-bordjes. Maar net zoals je extra bibliotheken kunt installeren om functionaliteit toe te voegen, kun je ook ondersteuning voor extra bordjes toevoegen, zoals de populaire modules ESP8266 en ESP32. Lees hier hoe dat moet.

Arduino IDE en de standaardbibliotheken van Arduino zijn zo’n populair softwareplatform geworden, dat heel wat andere microcontrollerbordjes op het succes willen meeliften. Zo vind je op Wikipedia een uitgebreide lijst van Arduino-bordjes en compatibele systemen.

Sommige van deze bordjes zijn 100% compatibel met een officieel Arduino-bordje en kun je dan ook zonder extra benodigde stappen in Arduino IDE gebruiken. Voor andere bordjes moet je eerst extra ondersteuning aan Arduino IDE toevoegen.

Er zijn zelfs bordjes die origineel ontworpen zijn om te programmeren met een andere ontwikkelomgeving, maar waarvan de makers of de community later Arduino-ondersteuning hebben toegevoegd, omdat Arduino IDE zo populair is. De ESP8266 en ESP32 zijn voorbeelden van zulke bordjes die in de praktijk heel vaak geprogrammeerd worden in Arduino IDE in plaats van in de ESP-IDF van de maker Espressif.

Arduino Board Beheer

Standaard ondersteunt Arduino IDE alle officiële Arduino-bordjes met Atmel AVR-microcontroller en de bordjes van andere producenten die daar 100% compatibel mee zijn. Daardoor kun je met de meest voorkomende Arduino-bordjes onmiddellijk aan de slag in Arduino IDE.

Die ondersteuning voor (een familie van) bordjes zit in een afzonderlijk pakket, een Arduino-kern (‘core’). De beschikbare kernen krijg je te zien in het bordbeheer van Arduino IDE, dat je opent in het menu Hulpmiddelen / Board / Board Beheer (sic). Je ziet daar dat de eerste kern geïnstalleerd is, Arduino AVR Boards, en in de omschrijving krijg je een uitgebreide lijst van alle ondersteunde bordjes.

Gebruik je het Arduino-platform voor toepassingen die wat meer processorkracht of aansluitingsmogelijkheden nodig hebben, dan zet je waarschijnlijk de Arduino Due of een van de bordjes uit de MKR-familie in. Deze hebben geen AVR-microcontroller van 8 bits, maar zijn uitgerust met een ARM Cortex-processor van 32 bits, die niet in de standaard geïnstalleerde Arduino-kern ondersteund is.

©PXimport

In het bordbeheer voeg je die ondersteuning eenvoudig toe, te vergelijken met hoe je een bibliotheek installeert in het bibliotheekbeheer. Je zoekt eerst in de lijst welke kern je Arduino-bordje ondersteunt. Voor de Arduino Due is dat bijvoorbeeld Arduino SAM Boards (32-bits ARM Cortex-M3). Klik (na eventueel eerst een versie te kiezen) met rechts op Installeren en wacht even tot Arduino IDE de kern geïnstalleerd heeft.

Daarna kun je het bordbeheer sluiten en is je bordje beschikbaar in de lijst in het menu Hulpmiddelen / Board. Als je je bordje gekozen hebt, bekijk je de pagina Getting Started with Arduino and Genuino products op de website van Arduino hoe je met dit bordje werkt en welke instellingen je het best gebruikt in het menu Hulpmiddelen. Zo dien je bij de Arduino Due te kiezen of je de schetsen via de programmeerpoort of de ‘native’ usb-poort uploadt. Maar daarna werkt alles exact hetzelfde als bij de standaard ondersteunde bordjes.

Extra kernen in het bordbeheer

De kernen die je standaard in het bordbeheer vindt, zijn niet de enige mogelijke. De Arduino IDE biedt ook een eenvoudige manier om dit lijstje uit te breiden. Klik je in het menu Bestand op Voorkeuren, dan zie je onderaan een tekstveld Additionele Board Beheer URLs. Hier kun je een url voor extra bordondersteuning invullen. Als je meerdere url’s nodig hebt, scheid ze dan door een komma of klik op het icoontje naast het tekstveld en vul de url’s in het grotere tekstveld dat dan verschijnt, elk op een nieuwe regel.

Maar waar vind je welke url’s je hier dient in te vullen? Meestal vermeldt de documentatie van het bordje waarvoor je ondersteuning wilt toevoegen de juiste url. Indien dat niet het geval is, kijk dan of je je bordje vindt op de pagina met thirdparty-url’s voor extra bordondersteuning op de GitHub-website van Arduino.

Ondersteuning voor ESP8266 en ESP32

Op die pagina met url’s voor extra bordondersteuning vind je de url’s om ondersteuning voor de ESP8266 en ESP32 toe te voegen, respectievelijk. Voeg beide url’s toe in de voorkeuren van Arduino IDE als je deze bordjes vaak in je Arduino-projecten gebruikt. Bevestig daarna je wijzigingen in de instellingen met OK.

Open nu het bordbeheer opnieuw. Arduino IDE laadt dan de url’s in die je zojuist hebt toegevoegd en vindt daarin informatie over de extra Arduino-kernen die het beschikbaar moet stellen. Onderaan de lijst verschijnen nu de kernen esp32 van Espressif Systems en esp8266 van ESP8266 Community. Installeer je deze kernen, dan zijn de ondersteunde bordjes daarna beschikbaar in de lijst in het menu Hulpmiddelen / Board. Kies je bordje, kies de instellingen zoals de poort en uploadsnelheid en je kunt je schets naar je bordje uploaden.

©PXimport

Let op: het is niet zo dat elk bordje dat een ESP8266- of ESP32-microcontroller bevat door deze Arduino-kernen ondersteund wordt. Enkel de in de beschrijving van de kern vermelde bordjes en 100% daarmee compatibele bordjes zijn ondersteund. Zo dien je voor de M5Stack met ESP32 de url https://m5stack.com/download/package_m5stack_index.json te gebruiken en daarna ook nog enkele andere installatie-instructies te volgen.

Als je een Arduino-kern voor je bordje geïnstalleerd hebt, dan werkt de standaard Arduino-code op je bordje en meestal ook de standaardbibliotheken van Arduino en de bestaande voorbeeldschetsen. Een kern voegt vaak ook extra voorbeeldschetsen en bibliotheken toe die specifieke functionaliteit van het bordje gebruiken. Bekijk die voorbeeldschetsen (in het menu Bestand / Voorbeelden) zeker om je vertrouwd te maken met hoe je je bordje met Arduino-code programmeert.

Third-party Arduino-bibliotheken ondersteunen niet altijd alternatieve bordjes. Soms gaan ze immers uit van de pin-out op een officieel Arduino-bordje. Kijk daarom in de beschrijving van een Arduino-bibliotheek altijd na of ze jouw ESP8266- of ESP32-module ondersteunt.

Daarnaast vind je in het bibliotheekbeheer ook een heleboel bibliotheken die specifiek voor de ESP8266 of ESP32 geschreven zijn. Zo vind je er ESP32 BLE Arduino om je toegang te geven tot de Bluetooth Low Energy-functionaliteit van de ESP32.

▼ Volgende artikel
Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)
© DC Studio
Huis

Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)

Je hebt net een klein fortuin uitgegeven aan een gloednieuwe 4K- of zelfs 8K-televisie. Je installeert hem, start je favoriete filmklassieker en zakt onderuit op de bank. Maar in plaats van een bioscoopervaring bekruipt je het gevoel dat je naar een goedkope soapserie of een homevideo zit te kijken. De acteurs bewegen vreemd soepel, de actiescènes lijken versneld en de magie is ver te zoeken. Geen zorgen, je televisie is niet stuk. Hij doet eigenlijk iets te goed zijn best.

Dit fenomeen is zo wijdverspreid dat er een officiële term voor is: het 'soap opera effect'. In technische kringen wordt dit ook wel bewegingsinterpolatie of 'motion smoothing' genoemd. Hoewel fabrikanten deze functie met de beste bedoelingen in hun televisies bouwen, is het voor filmfanaten vaak een doorn in het oog. Gelukkig is het eenvoudig op te lossen... als je tenminste weet waar je moet zoeken.

Nooit meer te veel betalen? Check
Kieskeurig.nl/prijsdalers!

Wat is het 'soap opera effect' precies?

Om te begrijpen wat er misgaat, moeten we kijken naar hoe films worden gemaakt. De meeste bioscoopfilms en veel dramaseries worden opgenomen met 24 beelden per seconde. Die snelheid geeft films hun karakteristieke, dromerige uitstraling. Een beetje bewegingsonscherpte hoort daarbij; dat is wat onze hersenen associëren met 'cinema'. Moderne televisies verversen hun beeld echter veel vaker: meestal 60 of zelfs 120 keer per seconde.

Om dat verschil te overbruggen, verzint je slimme televisie er zelf beelden bij. De software kijkt naar beeld A en beeld B, en berekent vervolgens hoe een tussenliggend beeld eruit zou moeten zien. Dit voegt de tv toe aan de stroom. Het resultaat is een supervloeiend beeld waarin elke hapering is gladgestreken.

Voor een voetbalwedstrijd of een live-uitzending is dat geweldig, omdat je de bal en spelers scherper kunt volgen. Maar bij een film zorgt die kunstmatige soepelheid ervoor dat het lijkt alsof je naar een achter de schermen-video zit te kijken, of dus naar een soapserie zoals Goede Tijden, Slechte Tijden, die traditioneel met een hogere beeldsnelheid werd opgenomen. De filmische illusie wordt hierdoor verbroken.

©ER | ID.nl

De winkelmodus is ook een boosdoener

Naast beweging is er nog een reden waarom het beeld er thuis soms onnatuurlijk uitziet: de beeldinstellingen staan nog op standje zonnebank. Veel televisies staan standaard in een modus die 'Levendig' of 'Dynamisch' heet. Deze stand is ontworpen om in een felverlichte winkel de aandacht te trekken met knallende, bijna neon-achtige kleuren en een extreem hoge helderheid. Bovendien is de kleurtemperatuur vaak nogal koel en blauw, omdat dat witter en frisser oogt onder tl-licht. In je sfeervol verlichte woonkamer zorgt dat echter voor een onrustig beeld waarbij huidtinten er onnatuurlijk uitzien en details in felle vlakken verloren gaan.

Hoe krijg je de magie terug?

Het goede nieuws is dat je deze 'verbeteringen' gewoon kunt uitzetten. De snelste manier om van het soap opera effect en de neonkleuren af te komen, is door in het menu van je televisie de beeldmodus te wijzigen. Zoek naar een instelling die Film, Movie, Cinema of Bioscoop heet. In deze modus worden de meeste kunstmatige bewerkingen, zoals bewegingsinterpolatie en overdreven kleurversterking, direct uitgeschakeld of geminimaliseerd. Het beeld wordt misschien iets donkerder en warmer van kleur, maar dat is veel dichter bij wat de regisseur voor ogen had.

Sinds kort hebben veel moderne televisies ook de zogeheten Filmmaker-modus. Dat is de heilige graal voor puristen. Als je deze modus activeert, zet de tv met één druk op de knop alle onnodige nabewerkingen uit en respecteert hij de originele beeldsnelheid, kleuren en beeldverhouding van de film.

Wil je de beeldmodus niet volledig veranderen, maar alleen dat vreemde, soepele effect kwijt? Dan moet je in de geavanceerde instellingen duiken. Elke fabrikant geeft het beestje een andere naam. Bij Samsung zoek je naar Auto Motion Plus of Picture Clarity, bij LG-televisies ga je naar TruMotion, bij Sony naar Motionflow en bij Philips naar Perfect Natural Motion. Door deze functies uit te schakelen of op de laagste stand te zetten, verdwijnt het goedkope video-effect en krijgt je film zijn bioscoopwaardige uitstraling weer terug.

▼ Volgende artikel
Chrome Remote Desktop: ideaal voor ondersteuning op afstand
© ER | ID.nl
Huis

Chrome Remote Desktop: ideaal voor ondersteuning op afstand

Een apparaat op afstand bedienen hoeft geen geld te kosten en is verrassend eenvoudig. Of je nu bestanden wilt openen, technische problemen wilt oplossen of meerdere toestellen wilt beheren: met Chrome Remote Desktop kan het allemaal, gratis en zonder gedoe.

De helper begint

Een groot voordeel van Chrome Remote Desktop is de brede compatibiliteit: het werkt met Windows, macOS, Linux en ChromeOS. Bovendien is het veilig – verbindingen worden versleuteld – en je hebt alleen een Chrome-browser nodig. We beginnen aan de kant van degene die op afstand toegang wilt tot een andere computer, degene die ondersteuning biedt vanaf computer A. Op computer A opent de gebruiker Chrome en surft naar https://remotedesktop.google.com. Daar verschijnen twee opties: Dit scherm delen en Verbinding maken met een andere computer. Omdat computer A support wil geven aan een extern apparaat, kiest de gebruiker voor de tweede optie. In dat scherm verschijnt een veld om een toegangscode in te geven, de code volgt zo meteen.

Degene die support geeft, gebruikt het onderste vak.

Acties voor de hulpvrager

Op computer B, de computer die toegang zal verlenen, moet de gebruiker ook in Chrome surfen naar dezelfde website. Daar kiest hij voor de optie Dit scherm delen. Voordat dat mogelijk is, moet Chrome Remote Desktop eerst worden gedownload en geïnstalleerd. De gebruiker klikt daarvoor op de ronde blauwe knop met het witte downloadpijltje. Hiermee wordt een Chrome-extensie geïnstalleerd. Na de installatie verschijnt in het vak Dit scherm delen een blauwe knop met de tekst Code genereren. Wanneer de gebruiker daarop klikt, wordt een toegangscode van 12 cijfers aangemaakt. Die code geeft hij of zij door aan gebruiker A.

Wie support krijgt, moet de code via een berichtje of telefoontje doorgeven.

Scherm delen

Op computer A geeft de gebruiker de code op in Chrome Remote Desktop. Vervolgens wacht hij tot gebruiker B bevestigt dat A toegang mag krijgen tot zijn scherm. Zodra dat is gebeurd, verschijnt het volledige bureaublad van computer B in een nieuw Chrome-venster op computer A. Door dit venster schermvullend weer te geven, kan A probleemloos handelingen uitvoeren op de pc van B. Voor de veiligheid beschikken beide gebruikers over een knop om de sessie op elk moment te beëindigen. Uiteraard is een stabiele internetverbinding noodzakelijk. Daarnaast krijgen beide partijen de melding dat ze klembordsynchronisatie kunnen inschakelen. Hiermee wordt het mogelijk om eenvoudig tekst of bestanden te kopiëren en te plakken tussen beide apparaten.

Gebruiker A krijgt het volledige scherm van B in een Chrome-venster te zien.