Begripvorming programmeren ESP8266

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Rene2322
  • Registratie: April 2007
  • Nu online
Mijn vraag:
Ik heb recentelijk enkele ESP8266's en een ESP32 gekocht. Hiermee heb ik wat binnenklimaat-gerelateerde projectjes op het oog, waarover ik hier niet verder zal uitweiden.
Ik probeer te begrijpen hoe het werkt met programmeren, firmware en (flash)geheugen. Ik ben bang dat ik de definities wat door elkaar haal en de essentie niet helemaal doorheb.
Misschien dat iemand mij een en ander kan uitleggen zonder al te diep op de materie in te gaan.

Normaliter maak ik mijn kleine applicaties in VB.NET (EXE of DLL) voor gebruik onder Windows. Tot zover mijn kennisniveau...

Relevante software en hardware die ik gebruik / ga gebruiken:
NodeMCU ESP8266 ESP-12F
Arduino Uno
USB-SERIAL programmer
Arduino IDE
Microsoft Visual Studio / Microsoft Visual Code

Wat ik al gevonden of geprobeerd heb:
Als ik het goed heb dan creëer je je programma in een IDE (ofwel Integrated Development Environment). Dit gooi je door een Compiler en vervolgens kopieer, of flash je dit via een Programmer naar een stukje ROM op de chip.

Maar wat gebeurd hier nu eigenlijk? Is dit stukje programma in aanvulling op een, op de chip aanwezige software? Of komt dit in de plaats van? En bij het flashen van nieuwe firmware, wordt de software dan in zijn geheel overschreven, of is het zelf gecreëerde stukje software in feite ook firmware?

Ik vraag dit omdat ik gelezen heb dat het raadzaam is om qua programmeren een event-driven stijl te gebruiken, waarbij het gebruik van delays uit den boze is omdat de WatchDog dan ingrijpt door een time-out te geven. Ook wordt gesuggereerd dat "jouw" software niet het enige is dat op de chip draait, omdat er immers ook nog o.a. WiFi-functionaliteit op zit.

Eerder was ik in de veronderstelling dat de software allesomvattend moest zijn en dat mede middels toevoegen van bibliotheken de functionaliteit van de gehele chip en randapparatuur kon worden benut. Schijnbaar een misvatting.

Wie kan mij op het juiste spoor zetten?

Beste antwoord (via Rene2322 op 07-01-2021 20:13)


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 09:41

Septillion

Moderator Wonen & Mobiliteit
Rene2322 schreef op dinsdag 5 januari 2021 @ 12:49:
Maar wat gebeurd hier nu eigenlijk? Is dit stukje programma in aanvulling op een, op de chip aanwezige software? Of komt dit in de plaats van?
Je programma komt in plaats van. Op zicht draait er helemaal niets op de chip van zichzelf.

Enige uitzondering kan zijn een bootloader. Dit maakt het mogelijk dat de chip zichzelf programmeert, in geval van de Uno bijvoorbeeld zodat je kunt programmeren met USB/serieel ipv met een programmer. Maar dit stukje software draait alleen even na een reset (of moet je instellen via een jumper), daarna heeft het 0 invloed.
En bij het flashen van nieuwe firmware, wordt de software dan in zijn geheel overschreven, of is het zelf gecreëerde stukje software in feite ook firmware?
Je programma = de firmware.
Ik vraag dit omdat ik gelezen heb dat het raadzaam is om qua programmeren een event-driven stijl te gebruiken, waarbij het gebruik van delays uit den boze is omdat de WatchDog dan ingrijpt door een time-out te geven.
Zeker, van zichzelf draait er niets op de chip. En een chip kan maar één ding tegelijk, zelfs als dat wachten in een delay() is :+ Er is niet, zoals onder een OS, een schedular.
Ook wordt gesuggereerd dat "jouw" software niet het enige is dat op de chip draait, omdat er immers ook nog o.a. WiFi-functionaliteit op zit.
Grootste deel daarvan draait wel in hardware maar ja, dat moet ook draaien. Zodra je het gebruikt zal dat een bouwblok zijn dat de IDE mee-compiled met je programma.
Eerder was ik in de veronderstelling dat de software allesomvattend moest zijn en dat mede middels toevoegen van bibliotheken de functionaliteit van de gehele chip en randapparatuur kon worden benut. Schijnbaar een misvatting.
Eigenlijk geen misvatting. Alleen omvat het Arduino framework al wel wat bouwblokken die altijd mee-gecompiled worden.

En tuurlijk zijn er op bovenstaande punten altijd weer uitzonderingen te bedenken :+ Maar in grote lijnen zit je dus al erg warm.

Ik kan het alleen maar eens zijn met bovenstaande, ga eerst even een avondje spelen en draai wat examples. Daarna is het vooral belangrijk dat je als eerste project niet gelijk gaat proberen KITT te bouwen of met het halve internet probeert te werken. Enige waar ik me minder in kan vinden is een simulator. Leuk om een ledje mee te laten knipperen maar daarna is het snel gedaan naar mijn idee. Te vaak problemen langs zien komen dat "code niet werkt in de simulator" of "dat het is de simulator prima werkte". Een Uno clone (of zou zelf zeggen, pak een Nano) en een ESP zijn goedkoop genoeg, zelfs om een reserve achter de hand te hebben. Mocht je de smaak te pakken hebben kan je daarna altijd nog een donatie doen om je clone te compenseren.

Alle reacties


Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 09:39

memphis

48k was toen meer dan genoeg.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Rene2322
  • Registratie: April 2007
  • Nu online
Daar ben ik al tijden doorheen aan het spitten, echter zijn de posts in dat topic van mensen welke ogenschijnlijk veel meer op de hoogte zijn van de materie dan ik.

Ik tracht wat kennis op te doen van een en ander alvorens met mijn eerste fysieke poging mijn PCB'tjes te veranderen in een nutteloos stukje afval.

Ik denk te begrijpen dat de ESP8266 is voorzien van een ROM met bootloader en diverse basisfunctionaliteit. Eigen software zou dan door deze bootloader worden geladen vanaf de flash chip (of RAM).
Zolang ik elektronisch gezien geen fouten maak lijk ik zonder problemen andere (of mijn eigen) firmware te kunnen uploaden.

Acties:
  • +1 Henk 'm!

  • Magnatic
  • Registratie: Juli 2003
  • Laatst online: 09:41

Magnatic

5x A1 Mini, 2x Mini+, X1C, XL

Als je vanuit de Arduino IDE wilt programmeren, volg dan de instructies op deze pagina:
https://arduino-esp8266.r...en/latest/installing.html

Mijn webshop voor 3D-geprinte objecten


Acties:
  • +1 Henk 'm!

  • pennywiser
  • Registratie: November 2002
  • Laatst online: 22:39

Acties:
  • +1 Henk 'm!

  • CyberThijs
  • Registratie: Maart 2004
  • Laatst online: 10:25
Begin eerst met de Arduino Uno, en maak daar een paar eenvoudige programma's mee (vb. een led laten knipperen). Eenmaal je dat onder de knie hebt kan je proberen om dat programma ook te laten lopen op een ESP8266/ESP32. Pas daarna kan je beginnen denken aan het gebruik van andere functies van je ESP (WiFi, etc)

Op die manier ontkoppel je de verschillende concepten die je onder de knie moet zien te krijgen, en zal je vlotter gestart raken.

Acties:
  • +2 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 18-04 15:31
Als aanvulling op @CyberThijs , als het voorlopig alleen gaat om training van omgaan met de Arduino IDE en een beetje programmeren dan kun je die op Simulide oefenen. Hoef je niet extra een heel nieuwe Arduino erbij te gaan kopen. Arduino IDE downloaden, Simulide downloaden en je kunt je programma's daarop afdraaien.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 09:41

Septillion

Moderator Wonen & Mobiliteit
Rene2322 schreef op dinsdag 5 januari 2021 @ 12:49:
Maar wat gebeurd hier nu eigenlijk? Is dit stukje programma in aanvulling op een, op de chip aanwezige software? Of komt dit in de plaats van?
Je programma komt in plaats van. Op zicht draait er helemaal niets op de chip van zichzelf.

Enige uitzondering kan zijn een bootloader. Dit maakt het mogelijk dat de chip zichzelf programmeert, in geval van de Uno bijvoorbeeld zodat je kunt programmeren met USB/serieel ipv met een programmer. Maar dit stukje software draait alleen even na een reset (of moet je instellen via een jumper), daarna heeft het 0 invloed.
En bij het flashen van nieuwe firmware, wordt de software dan in zijn geheel overschreven, of is het zelf gecreëerde stukje software in feite ook firmware?
Je programma = de firmware.
Ik vraag dit omdat ik gelezen heb dat het raadzaam is om qua programmeren een event-driven stijl te gebruiken, waarbij het gebruik van delays uit den boze is omdat de WatchDog dan ingrijpt door een time-out te geven.
Zeker, van zichzelf draait er niets op de chip. En een chip kan maar één ding tegelijk, zelfs als dat wachten in een delay() is :+ Er is niet, zoals onder een OS, een schedular.
Ook wordt gesuggereerd dat "jouw" software niet het enige is dat op de chip draait, omdat er immers ook nog o.a. WiFi-functionaliteit op zit.
Grootste deel daarvan draait wel in hardware maar ja, dat moet ook draaien. Zodra je het gebruikt zal dat een bouwblok zijn dat de IDE mee-compiled met je programma.
Eerder was ik in de veronderstelling dat de software allesomvattend moest zijn en dat mede middels toevoegen van bibliotheken de functionaliteit van de gehele chip en randapparatuur kon worden benut. Schijnbaar een misvatting.
Eigenlijk geen misvatting. Alleen omvat het Arduino framework al wel wat bouwblokken die altijd mee-gecompiled worden.

En tuurlijk zijn er op bovenstaande punten altijd weer uitzonderingen te bedenken :+ Maar in grote lijnen zit je dus al erg warm.

Ik kan het alleen maar eens zijn met bovenstaande, ga eerst even een avondje spelen en draai wat examples. Daarna is het vooral belangrijk dat je als eerste project niet gelijk gaat proberen KITT te bouwen of met het halve internet probeert te werken. Enige waar ik me minder in kan vinden is een simulator. Leuk om een ledje mee te laten knipperen maar daarna is het snel gedaan naar mijn idee. Te vaak problemen langs zien komen dat "code niet werkt in de simulator" of "dat het is de simulator prima werkte". Een Uno clone (of zou zelf zeggen, pak een Nano) en een ESP zijn goedkoop genoeg, zelfs om een reserve achter de hand te hebben. Mocht je de smaak te pakken hebben kan je daarna altijd nog een donatie doen om je clone te compenseren.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 18-04 15:31
@Septillion
Prima uitleg heb je gegeven voor TS. Ook voor mij trouwens, tnx. Ben het trouwens volkomen met je eens dat het veel beter is om meteen echte componenten te gaan gebruiken in plaats als van met een sim. Dat een sim niet veel meer doet als een ledje branden valt trouwens wel mee. Ben in 2019 vrij intensief bezig geweest met Simulide en voordat je echt tegen de grens aanloopt van wat daarmee mogelijk is duurt wel even en is men het beginnersnivo van de inleiding van een arduino of een andere uC al overstegen.

Heb hier nog een plaatje van toen ik samen met een andere tweaker een led-kubus aan het maken was.

Afbeeldingslocatie: https://tweakers.net/i/LoClfSLMzvMKQAENmhWOETSNUqc=/x800/filters:strip_icc():strip_exif()/f/image/mn0jQY7sZKNJNcW81f4j3QuY.jpg?f=fotoalbum_large


Anyway, mocht je toevallig net dat weerstandje of transistortje niet hebben en zit je 6 weken te wachten totdat het uit China arriveert, dan kan er met zo'n sim toch alvast iets opgebouwd worden. En Simulide heeft nog wel eens de neiging om te crashen (versie 4 zelfs een stuk meer als versie drie) dus regelmatig saven is aan te raden maar tenminste kun je daar wel saven en bij veel andere niet. Niet gratis althans. Bij de Proteus demo gaat dat bijvoorbeeld niet en heb je ook helemaal geen toegang tot uC's of programmeerbare IC's. Crashen doet die echter niet of zeer zeldzaam.

Ps, wie zo'n programma kent waar dat wel kan, laat het svp even weten :)

En het ligt ook aan iemands budget. Wie wat meer geld heeft kan in 1x een Uno, een Mega, een Nano, een Duemilanov en een Leonardo aankopen. Wie dat niet kan heeft alvast de mogelijkheid die dingen op Simulide te bekijken en te testen.

[ Voor 3% gewijzigd door kitao op 07-01-2021 12:00 . Reden: Plaatje verkleind ]


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 09:41

Septillion

Moderator Wonen & Mobiliteit
@kitao Mja, toch zag ik mensen in rap tempo tegen de limieten lopen. En vooral dat het dan gepaard gaan met raar gedrag ipv een foutmelding maakt het zo vervelend. Vandaar dat ik er niets mee heb :)

Wat betreft boards:
Uno en Nano zijn dezelfde boarden in andere form factor. Dus reden om ze beide te hebben in klein. Wegens kleinere formfactor en het feit dat hij breadboard friendly is zou ik eerder voor een Nano gaan. Alleen als je shields wil gebruiken heeft de Uno meerwaarde.

Duemilanov en Leonardo zou ik alleen kopen als je er specifiek iets mee wilt. Anders vind ik ze overpriced. Pak dan een ESP8266 of zijn grote broer (en daarmee absoluut niet de vervanger van) de ESP32. Of als je echt hele zware taken wilt doen, een Teensy.

Maar aan de andere kant, als je er echt projecten mee gaat doen kan je er nooit genoeg hebben. Voorraadje van 50 bordjes kom ik hier wel aan O-)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 18-04 15:31
Het ligt er een beetje aan hoe hoog de verwachtingen zijn. Het vorige schema bijvoorbeeld krijg je de led-matrixen echt niet op volle snelheid te zien zoals bij een werkelijke. Maar het programma wat ervoor nodig is, de gebruikte IC's e.d. zijn volgens hetzelfde principe zoals je bijvoorbeeld op Adafruit tegenkomt of uit het Arduino Cookbook. Ik kijk gewoon hoe ver ik er mee kom en ja, als je denkt van wat is dit voor trage stroop uitvoering dan kun je het beter niet gaan gebruiken. Aansturen van RC-auto's die vervolgens over het beeldscherm gaan rollen is evenmin haalbaar. Delays daarentegen kunnen wel ruimer worden gezet en dan heb je een slow-motion versie om tenminste toch iets te zien knipperen.

Acties:
  • +1 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 05-05 08:52
@Rene2322 Ik heb het idee dat je het veel ingewikkelder maakt dan het is.
Wat ik al gevonden of geprobeerd heb:
Als ik het goed heb dan creëer je je programma in een IDE (ofwel Integrated Development Environment). Dit gooi je door een Compiler en vervolgens kopieer, of flash je dit via een Programmer naar een stukje ROM op de chip.

Maar wat gebeurd hier nu eigenlijk? Is dit stukje programma in aanvulling op een, op de chip aanwezige software? Of komt dit in de plaats van? En bij het flashen van nieuwe firmware, wordt de software dan in zijn geheel overschreven, of is het zelf gecreëerde stukje software in feite ook firmware?

Ik vraag dit omdat ik gelezen heb dat het raadzaam is om qua programmeren een event-driven stijl te gebruiken, waarbij het gebruik van delays uit den boze is omdat de WatchDog dan ingrijpt door een time-out te geven. Ook wordt gesuggereerd dat "jouw" software niet het enige is dat op de chip draait, omdat er immers ook nog o.a. WiFi-functionaliteit op zit.

Eerder was ik in de veronderstelling dat de software allesomvattend moest zijn en dat mede middels toevoegen van bibliotheken de functionaliteit van de gehele chip en randapparatuur kon worden benut. Schijnbaar een misvatting.
Vergeet even dit hele stuk. Hier hoef jij je helemaal niet druk over te maken. Een deel klopt niet en een deel krijg jij nog lang niet mee te maken.
Relevante software en hardware die ik gebruik / ga gebruiken:
NodeMCU ESP8266 ESP-12F
Arduino Uno
USB-SERIAL programmer (Deze heb je niet nodig)
Arduino IDE
Microsoft Visual Studio / Microsoft Visual Code (Deze IDE ook nog niet gebruiken)
Stap 1.

Installeer de Arduino IDE. Koppel je bord aan de pc. Selecteer het goede board in de Arduino IDE. Gebruik het example Blynk vanuit de Arduino IDE. Druk op uploaden.

Dat is alles.

PS je hoeft je echt geen zorgen te maken dat je je board omzeep helpt door het flashen van software. Dat gaat niet gebeuren.

[ Voor 3% gewijzigd door Lennyz op 07-01-2021 14:30 ]


Acties:
  • 0 Henk 'm!

  • Rene2322
  • Registratie: April 2007
  • Nu online
Heel erg bedankt iedereen voor alle reacties.
De UNO heb ik al jaren in bezit. Ik heb al diverse Sketches gemaakt met de UNO i.c.m. de Arduino IDE en een breadboard vol ledjes. En dan komen de ideeën vanzelf...
De Blynk-library heb ik overigens nooit gebruikt.

Mijn volgende stap was om wat te gaan spelen met één van de ESP's, echter had ik wat angst dat ik hier de boel eenvoudig mee om zeep kon helpen. Ze zijn niet heel prijzig, maar om het nu zonder meer kapot te maken...

Daarom heb ik gepoogd mij goed in te lezen, echter vielen niet alle puzzelstukjes in elkaar. Dit komt vermoedelijk omdat er veel manieren zien om in meer of mindere mate iets met de ESP te ondernemen. Naast het creëren van eigen firmware via o.a. Arduino IDE of Visual Code lijkt er ook firmware te zijn waarbij je een script met AT-commando's kunt uploaden. Andere firmware doet een soortgelijk iets, maar dan met LUA-script.

Ik heb absoluut niet de illusie dat ik de halve wereld moet gaan programmeren. Sterker nog: de taal C++ heb ik bij lange na niet onder de knie (lees: snap ik geen hout van). Ook daar valt dus nog veel te leren. Daarnaast heb ik inmiddels de ervaring dat het debuggen van iets teveel in één keer getypte code killing is voor de motivatie.

Ik wil dus door met stap 2:
Een soortgelijke blink sketch via Arduino IDE en de UNO uploaden naar de ESP8266. Hiermee leer ik de hardware adressen goed te gebruiken.

Daarna maar wat gaan spelen met WiFi en andere libraries.

Acties:
  • 0 Henk 'm!

  • AlexanderB
  • Registratie: Maart 2007
  • Laatst online: 01-05 22:32

AlexanderB

7800 rpm

Rene2322 schreef op dinsdag 5 januari 2021 @ 12:49:
Ik vraag dit omdat ik gelezen heb dat het raadzaam is om qua programmeren een event-driven stijl te gebruiken, waarbij het gebruik van delays uit den boze is omdat de WatchDog dan ingrijpt door een time-out te geven. Ook wordt gesuggereerd dat "jouw" software niet het enige is dat op de chip draait, omdat er immers ook nog o.a. WiFi-functionaliteit op zit.
Meh, dat is semi-achterhaald, op de attiny en atmega chips waar de arduino grotendeels op is gebaseerd is delay() inderdaad letterlijk een blokkerend wacht-commando, als je compileert voor de ESP dan geeft delay() de cpu vrij voor wifi en andere zaken, en komt terug als de timer interrupt de gewenste wachttijd bereikt, dus zonder dat je het doorhebt heb je dan al een klein stukje event driven. Maar gebruik maken van timers en interrupts is altijd raadzaam, daar wordt je programma een stuk flexibeler van als je zelf ook iets wil multitasken.
Rene2322 schreef op donderdag 7 januari 2021 @ 20:12:
Mijn volgende stap was om wat te gaan spelen met één van de ESP's, echter had ik wat angst dat ik hier de boel eenvoudig mee om zeep kon helpen. Ze zijn niet heel prijzig, maar om het nu zonder meer kapot te maken...
Nah, ze zijn qua programmeren/uploaden eigenlijk precies hetzelfde als arduino. Alleen heeft het soms wat meer voeten in de aarde omdat sommige ESP chips niet op een mooi arduino-style bordje met reset knop en ingebouwde usb-serial zitten.
Blink.ino kan je zo op een ESP uploaden, alleen ff het pin nummer voor de led aanpassen.
Rene2322 schreef op donderdag 7 januari 2021 @ 20:12:
Daarom heb ik gepoogd mij goed in te lezen, echter vielen niet alle puzzelstukjes in elkaar. Dit komt vermoedelijk omdat er veel manieren zien om in meer of mindere mate iets met de ESP te ondernemen. Naast het creëren van eigen firmware via o.a. Arduino IDE of Visual Code lijkt er ook firmware te zijn waarbij je een script met AT-commando's kunt uploaden. Andere firmware doet een soortgelijk iets, maar dan met LUA-script.
Mmja, die met AT commando's is voor als je de ESP8266 gebruikt als 'domme' serial dongle, daar hoef je je niet druk om te maken. LUA is een andere programmeertaal, ook daar hoef je niks mee te doen, en dan blijft C++ (via de Arduino IDE of via de Espressif IDE) over. :)
Rene2322 schreef op donderdag 7 januari 2021 @ 20:12:
Sterker nog: de taal C++ heb ik bij lange na niet onder de knie (lees: snap ik geen hout van).
Wat ontzettend helpt is eerst je programma uitschrijven als pseudocode. Wat moet er gebeuren, in welke volgorde, zijn er keuzes/splitsingen/loops, etc. Als je dat overzicht hebt, kan je het regel voor regel vertalen, en dan maakt het eigenlijk ook weinig meer uit welke programmeertaal je daarvoor gebruikt.

[ Voor 49% gewijzigd door AlexanderB op 07-01-2021 20:28 ]


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 09:41

Septillion

Moderator Wonen & Mobiliteit
Op een ESP gebeurt er inderdaad nog wat in een delay() voor wifi ja. Maar wat betreft je eigen programma zit je volledig vast. Pas als je er weer een (RT)OS tussen plakt en er taken met een (RT)OS-delay tussen plakt ben je vrijer met een delay. Maar dit gemak komt natuurlijk met een tijd (CPU en memory overhead) maar is bijvoorbeeld al wel gangbaar met een ESP32. Dus het is nog steeds een goed advies, delay's zijn leuk voor debuggen of als je 100% zeker weet dat je nooit iets anders wilt doen. Anders gewoon lekker je loop() laten gaan en alles timen. Timers en interrupts zijn voor snelle of tijdkritische zaken en doen de complexiteit alleen maar stijgen.

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 05-05 08:52
Rene2322 schreef op donderdag 7 januari 2021 @ 20:12:
Heel erg bedankt iedereen voor alle reacties.
De UNO heb ik al jaren in bezit. Ik heb al diverse Sketches gemaakt met de UNO i.c.m. de Arduino IDE en een breadboard vol ledjes. En dan komen de ideeën vanzelf...
De Blynk-library heb ik overigens nooit gebruikt.

Mijn volgende stap was om wat te gaan spelen met één van de ESP's, echter had ik wat angst dat ik hier de boel eenvoudig mee om zeep kon helpen. Ze zijn niet heel prijzig, maar om het nu zonder meer kapot te maken...

Daarom heb ik gepoogd mij goed in te lezen, echter vielen niet alle puzzelstukjes in elkaar. Dit komt vermoedelijk omdat er veel manieren zien om in meer of mindere mate iets met de ESP te ondernemen. Naast het creëren van eigen firmware via o.a. Arduino IDE of Visual Code lijkt er ook firmware te zijn waarbij je een script met AT-commando's kunt uploaden. Andere firmware doet een soortgelijk iets, maar dan met LUA-script.

Ik heb absoluut niet de illusie dat ik de halve wereld moet gaan programmeren. Sterker nog: de taal C++ heb ik bij lange na niet onder de knie (lees: snap ik geen hout van). Ook daar valt dus nog veel te leren. Daarnaast heb ik inmiddels de ervaring dat het debuggen van iets teveel in één keer getypte code killing is voor de motivatie.

Ik wil dus door met stap 2:
Een soortgelijke blink sketch via Arduino IDE en de UNO uploaden naar de ESP8266. Hiermee leer ik de hardware adressen goed te gebruiken.

Daarna maar wat gaan spelen met WiFi en andere libraries.
Dat er zoveel wisselende informatie is komt omdat veel informatie outdated is. De ontwikkeling van software voor de ESP8266 is zo snel gegaan.

Eerst was het enige dat gebruikt kon worden de AT-commands. Daarna kwam men er achter dat de chip ook zelf te programmeren was met eigen software. Daarop begon met met het programmeren met Lua. Lua gebruikt echter bijna niemand meer op dit platform.

Vervolgens werd het Arduino Framework geport naar de ESP8266 waardoor het programmeren nog makkelijker werd. Micropython ten slotte is ook beschikbaar op de ESP8266, al kan je daar veel beter de ESP32 voor gebruiken.

Dus resumé: Niet focussen op AT of Lua. Wel focussen op het Arduino framework.
AlexanderB schreef op donderdag 7 januari 2021 @ 20:16:

Nah, ze zijn qua programmeren/uploaden eigenlijk precies hetzelfde als arduino. Alleen heeft het soms wat meer voeten in de aarde omdat sommige ESP chips niet op een mooi arduino-style bordje met reset knop en ingebouwde usb-serial zitten.
Blink.ino kan je zo op een ESP uploaden, alleen ff het pin nummer voor de led aanpassen.
Meestal hoef je het pinnummer niet meer aan te passen als je het goede board selecteerd. Het pinnummer wordt niet meer gebruikt in de code maar LED_BUILTIN of iets dergelijks. Hierdoor wordt automatisch het goede led gebruikt. Handig want anders moest je steeds de ledpin weer opzoeken bij verschillende boards.

Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 10:26
In de esp32 arduino omgeving zit freertos, en jouw arduino sketch zit in een eigen thread.

https://github.com/espres.../cores/esp32/main.cpp#L32

[ Voor 16% gewijzigd door jeroen3 op 08-01-2021 08:25 ]

Pagina: 1