Verschillen tussen ESP8266, Arduino (Mini) en RPi (Zero [W])

Pagina: 1
Acties:

Vraag


Acties:
  • +1 Henk 'm!

  • timmiej93
  • Registratie: Oktober 2010
  • Laatst online: 31-08 13:42
Ik ben de laatste tijd wat meer in de wereld van kleine, goedkope controllers terechtgekomen, vooral door de briljante QuinLED modules (link - Niet gesponsord o.i.d., gewoon groot fan van de modules, en het open delen van alles), welke ESP8266 modules gebruiken voor een 2-kanaals PWM dimmer.

Ik hou wel van een beetje knutselen, dus het valt te verwachten dat ik meer en meer zelf kleine dingetjes zal (willen) gaan maken. Ik heb al vele videos gezien van 'connected' of 'slimme' projecten, maar meestal wordt hiervoor dan een Arduino voor gebruikt. Nu zijn deze bordjes ook niet duur, maar gezien dat de kleinste toch €15 kost, t.o.v. nog geen €5 voor een ESP8266, vraag ik me af wat dan de voordelen zijn van de Arduino, en ook waarom de RPi Zero zo weinig gebruikt lijkt te worden.

Ik heb zelf nog niet veel ervaring met dit soort bordjes, maar ik kan zo als noob eigenlijk geen grote verschillen vinden. Natuurlijk, de een is net wat sneller, zuiniger, uitgebreider, of heeft wat meer GPIO pinnen, maar wat maakt dat je het ene bord boven het ander verkiest voor je project? Is dat puur een persoonlijke voorkeur, of een combinatie van die kleine verschillen?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 03-10 13:31
Een Arduino(-kloon) uit China heb je al voor 1 of 2 euro.

Met Arduino zit je het dichtst bij de hardware en het is het makkelijkst te programmeren. Bij een RPi heb je een heel Linux-OS nodig (en ook nog een extra SD-card) en is het lastiger om (realtime) met de GPIO's te werken, de ESP8266 is vrij lastig te programmeren en het is makkelijk om fouten te maken waardoor hij at random crasht. Ook heeft de ESP8266 veel minder GPIO dan een Arduino (bijvoorbeeld maar 1 ADC pin ipv 8 ) en werkt op 3.3V ipv. 5V (wat soms handig is en soms niet).

Acties:
  • +1 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Arduino en ESP8266 zijn het best met elkaar te vergelijken. De Raspberry Pi is een 'volledige' computer, met Display, audio, Wifi, etc. En de Pi draait een volledig OS (Linux meestal) terwijl de Arduino en ESP8266 microcontrollers zijn. Deze draaien geen OS maar directe code, zeg maar.

Het verschil tussen de Arduino en ESP8266 is vooral (wellicht oversimplified) dat er op de ESP al een aantal componenten ingebakken zit, zoals WiFi en Flash storage. Voor de Arduino heb je dan al snel shields nodig. Zie voor discussie over alle verschillende ESP-modules Het grote ESP topic :)

Blog.quindorian.org is overigens de site van Tweaker @Quindor, dus daarnaar linken is wel ok :)

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • timmiej93
  • Registratie: Oktober 2010
  • Laatst online: 31-08 13:42
Ik was inderdaad helemaal vergeten dat RPi's een OS draaien, misschien dat ik door de kleine formfactor had verwacht dat het bij de Zero anders zou zijn.
Tom-Z schreef op woensdag 2 mei 2018 @ 16:22:
Met Arduino zit je het dichtst bij de hardware en het is het makkelijkst te programmeren ... de ESP8266 is vrij lastig te programmeren en het is makkelijk om fouten te maken waardoor hij at random crasht. Ook heeft de ESP8266 veel minder GPIO dan een Arduino (bijvoorbeeld maar 1 ADC pin ipv 8 ) en werkt op 3.3V ipv. 5V
Kan je een specifiek voorbeeld geven wat er lastig is aan het programmeren van een ESP? Ik heb zelf alleen nog maar NodeMCU geflashed, en daar een pre-made lua script op gezet (naderhand wel dat script aangepast, maar niks fundamenteels), en dat werkte prima. Dat hij at random crasht heb ik inderdaad ook gemerkt, maar dat kan je ook als positief zien: Als je een error hebt die niet afgevangen wordt, kan je maar beter schreeuwend crashen, zodat de user het merkt en kan verhelpen.
Ik weet niet zeker in hoeverre de ESP modules hetzelfde zijn, maar ik zie dat er ook een aantal zijn met meer GPIO pins, tot een stuk of 10 als ik naar de pinouts kijk. De ESP826-01, die volgens mij het populairst is, heeft inderdaad maar een paar GPIO pins.
Room42 schreef op woensdag 2 mei 2018 @ 16:37:
Het verschil tussen de Arduino en ESP8266 is vooral (wellicht oversimplified) dat er op de ESP al een aantal componenten ingebakken zit, zoals WiFi en Flash storage. Voor de Arduino heb je dan al snel shields nodig.
Dat is inderdaad één van mijn problemen met Arduinos: Wat zit er precies op? Op hun website geeft Arduino wel wat specs, maar je kan nergens op zoeken. Voeg daar aan toe dat ze dingen beschrijven als "Combineert de functionaliteit van de Arduino A, B en C, en voegt daar X aan toe", maakt het een langgerekte zoektocht naar wat die chip nu precies wel en niet kan.
Ik ben dan ook wel totaal niet bekend met Arduinos, en misschien is het wel een kwestie van één goede tutorial tegenkomen die de basisbeginselen duidelijk maakt, van waaruit ik verder kan bouwen.

Acties:
  • +1 Henk 'm!

  • Sepio
  • Registratie: Oktober 2007
  • Laatst online: 18:45
Misschien staan hier een aantal leuke projecten en handleidingen tussen zodat je een wat beter beeld hebt van de verschillen.
https://www.mysensors.org

Raspberry Pi als controller.
Esp8286 als WiFi gateway
Arduino als sensors. (De Arduino pro mini wordt vaak gebruikt en kost op eBay iets van 2 euro per stuk).

[ Voor 6% gewijzigd door Sepio op 02-05-2018 18:13 ]


Acties:
  • +1 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
De Arduino Uno is het populairste Arduino board. Dit komt omdat dit één van de oudere boarden is. Deze is het langst op de markt en voldoet zijn doel perfect om in de wereld van de elektronica te geraken.

De Arduino Leonardo is de opvolger van de Uno. Het verschil is dat deze sneller is, 3.3v ipv 5v. en nog een paar kleine veranderingen. Deze is nooit zo populair geworden als de Arduino Uno.

De Arduino Mega is het best vergelijkbaar met een grote Arduino Uno. Beide zijn 5v, veel meer IO pins, 3 serial ports en daardoor geschikter voor grotere projecten.

Een aantal jaar geleden kwam de ESP8266 op de markt. Dit was een grotere doorbraak omdat voor het eerst een goedkope wifi chip op de markt kwam. Eerst werd deze gebruikt in combinatie met bijvoorbeeld een Arduino Uno, maar later kwam men er achter dat deze ook standalone te gebruiken is.

Het Arduino framework, wat een Arduino zo fantastisch maakt, werd geport naar de ESP8266 en hierdoor werd een Arduino Uno eigenlijk overbodig. Inmiddels is er ook alweer een opvolger van de ESP8266 een ESP32. Meer IO en sneller. Beide ondersteunen tegenwoordig ook micropython, wat ook echt fantastisch is om te gebruiken.

De reden dat voor de meeste dingen een Arduino wordt gebruikt heeft twee redenen. Enerzijds omdat waarschijnlijk die tutorial al ouder is en anderzijds omdat er ook gesproken kan worden over het Arduino Framework en niet perse over een microcontroller.

Een Raspberry Pi Zero is zware overkill als je deze gebruikt om alleen ledjes te schakelen. Ik snap ook de opmerkingen van hierboven niet dat een esp8266 lastig te programmeren en dat er een grote kans is op crashes. Deze informatie is volgens mij echt outdated.

Een ESP8266 is wat je denk ik zoekt. Een Wemos of een Nodemcu. Laat de ESP8266-01 maar gewoon links liggen en ga voor kant en klare varianten. Kijk ook eens naar apps zoals Blynk en Cayenne die goed werken met de ESP8266.

[ Voor 7% gewijzigd door Lennyz op 03-05-2018 19:28 ]


Acties:
  • 0 Henk 'm!

  • timmiej93
  • Registratie: Oktober 2010
  • Laatst online: 31-08 13:42
Dit maakt het voor mij wel heel duidelijk, erg mooie reactie.
Lennyz schreef op donderdag 3 mei 2018 @ 19:18:
Ik snap ook de opmerkingen van hierboven niet dat een esp8266 lastig te programmeren en dat er een grote kans is op crashes. Deze informatie is volgens mij echt outdated.

Een ESP8266 is wat je denk ik zoekt. Een Wemos of een Nodemcu. Laat de ESP8266-01 maar gewoon links liggen en ga voor kant en klare varianten. Kijk ook eens naar apps zoals Blynk en Cayenne die goed werken met de ESP8266.
Het zomaar crashen herken ik wel, als je bij NodeMCU een niet afgevangen foutje hebt in je code dan crasht de ESP direct. Het mooie aan de ESP is echter dat ie ook gewoon meteen weer opnieuw opstart, dus dat je een paar seconden weer verder kan, dus zo'n probleem lijkt het me niet. Het lastig programmeren valt volgens mij ook wel mee inderdaad.

Wat bedoel je precies met 'kant en klare varianten'? Ik ben met de 01 eigenlijk ook alleen bekend door de tutorial van Quindor, waar het meer een onderdeel is van een groter geheel, dus ik ken de specifieke voor- of nadelen van het ding niet echt. Ik heb op wikipedia al een paar keer rondgekeken naar de andere varianten van de ESP, maar dat is voor mij bijna net zo'n doolhof als welke Arduino nou het beste zou zijn. Is er - behalve voor elk type specifieke usecases op te zoeken en te vergelijken - een manier om iets makkelijker te bepalen welke ESP het best toepasbaar is voor een bepaalde situatie?
Als vervolg daarop: Als de ESP32 sneller is en meer IO heeft, waarom dan verder gaan met de ESP8266?

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
timmiej93 schreef op donderdag 3 mei 2018 @ 21:36:
Dit maakt het voor mij wel heel duidelijk, erg mooie reactie.


[...]


Het zomaar crashen herken ik wel, als je bij NodeMCU een niet afgevangen foutje hebt in je code dan crasht de ESP direct. Het mooie aan de ESP is echter dat ie ook gewoon meteen weer opnieuw opstart, dus dat je een paar seconden weer verder kan, dus zo'n probleem lijkt het me niet. Het lastig programmeren valt volgens mij ook wel mee inderdaad.

Wat bedoel je precies met 'kant en klare varianten'? Ik ben met de 01 eigenlijk ook alleen bekend door de tutorial van Quindor, waar het meer een onderdeel is van een groter geheel, dus ik ken de specifieke voor- of nadelen van het ding niet echt. Ik heb op wikipedia al een paar keer rondgekeken naar de andere varianten van de ESP, maar dat is voor mij bijna net zo'n doolhof als welke Arduino nou het beste zou zijn. Is er - behalve voor elk type specifieke usecases op te zoeken en te vergelijken - een manier om iets makkelijker te bepalen welke ESP het best toepasbaar is voor een bepaalde situatie?
Als vervolg daarop: Als de ESP32 sneller is en meer IO heeft, waarom dan verder gaan met de ESP8266?
Met kant en klaar varianten bedoel ik bijvoorbeeld de Wemos D1 en de Wemos D1 Mini. Nodemcu valt daar ook onder.

https://duckduckgo.com/?q...ages&iax=images&ia=images

https://duckduckgo.com/?q...ages&iax=images&ia=images

Deze kun je gewoon programmeren middels usb wegens de onboard usb chip. Voor een ESP8266-01 bijvoorbeeld heb je een serial-to-usb nodig om deze te kunnen programmeren.

De reden dat een ESP32 minder gebruikt wordt is simpelweg omdat deze nieuwer is en het enige tijd duurde voordat het Arduino Framework geport was (en nog steeds deels wordt). Ook niet alle projecten zijn zomaar te porten van een Arduino/ESP8266 naar een ESP32.

En laatste tip: Maak het makkelijk voor jezelf en programmeer in Arduino of Micropython en laat LUA maar links liggen. LUA werd vooral gebruikt voordat Arduino geport was naar de ESP8266.

[ Voor 4% gewijzigd door Lennyz op 04-05-2018 08:45 ]


Acties:
  • 0 Henk 'm!

  • ffha
  • Registratie: Februari 2011
  • Laatst online: 01-10 11:40
De arduino starter kit kan ik aanraden voor de startende maker. Hier zitten genoeg onderdelen en projecten in om bekend te geraken met de hele reutemeteut.
Het is wel prijzig, maar zie het als een investering in jezelf :P

De esp8266 is leuk omdat ie veel krachtiger is + WiFi aan boord heeft, maar zoals voorgaande Tweakers al zeiden, is ie wat moeilijker om te gebruiken. Je wilt er niet mee starten, want het kan best zijn dat je prima arduino code schrijft, maar dat het ding alsnog niet functioneert omdat er wat esp8266-specifieke dingen missen. Zodra je de basis kent, kan je echter al snel overschakelen op deze chips, want veel van de esp8266 functies zijn erg makkelijk te benaderen dankzij de uitstekende libraries van de community.

De esp32 wordt minder gebruikt omdat de codebase nog niet mature is en de bordjes vaak minder zijn qua grootte of prijs. Dat ie veel sterker is, maakt voor veel mensen en projecten niet uit. Of de esp8266 is rap genoeg, of mensen moeten al uitwijken naar iets wat veel sneller is zoals een raspi zero.

Acties:
  • +1 Henk 'm!

  • timmiej93
  • Registratie: Oktober 2010
  • Laatst online: 31-08 13:42
Dat de ESP-32 nog te 'jong' is had ik inderdaad wel verwacht, dat was de enige reden die ik kon bedenken hiervoor. Tried and tested wint in het begin meestal toch van nieuw en beter.
Lennyz schreef op vrijdag 4 mei 2018 @ 08:38:
En laatste tip: Maak het makkelijk voor jezelf en programmeer in Arduino of Micropython en laat LUA maar links liggen. LUA werd vooral gebruikt voordat Arduino geport was naar de ESP8266.
Is er ook een daadwerkelijk nadeel aan het gebruik van Lua t.o.v. C of python, in de zin van gebrek aan functies o.i.d.? Met Lua ben ik bekend en handig, dus voor mij is dat juist de meest logische taal om te gebruiken.
ffha schreef op zondag 6 mei 2018 @ 12:06:
De esp8266 is leuk omdat ie veel krachtiger is + WiFi aan boord heeft, maar zoals voorgaande Tweakers al zeiden, is ie wat moeilijker om te gebruiken. Je wilt er niet mee starten, want het kan best zijn dat je prima arduino code schrijft, maar dat het ding alsnog niet functioneert omdat er wat esp8266-specifieke dingen missen. Zodra je de basis kent, kan je echter al snel overschakelen op deze chips, want veel van de esp8266 functies zijn erg makkelijk te benaderen dankzij de uitstekende libraries van de community.
Ik ben wel redelijk nieuw met dit soort projectjes in het algemeen, maar het frutselen en knutselen - ook met code - ben ik al jaren mee bezig. Ik heb ook Quindor z'n script voor zijn QuinLED aangepast voor persoonlijk gebruik, om het wat robuuster te maken (crasht bij een waarde boven 1023 of onder 0, en timerwaarde die niet uit 4 cijfers bestaat), dus ik denk dat een ESP voor mij de beste keuze zou zijn. Kan altijd nog overstappen natuurlijk :P

Iedereen hartelijk bedankt voor alle informatie en inzichten, ik heb weer een hoop geleerd _/-\o_ . Misschien heb ik over een tijdje wel een mooi projectje om te delen.
Pagina: 1