Raspberry Pi versus Arduino: welke moet je kopen?
Hoewel de Raspberry Pi en Arduino soms in één adem genoemd worden en beide producten gerekend kunnen worden tot dezelfde elektronicahobby-producten, gaat het echt om twee verschillende producten met hun eigen toepassingen. Raspberry Pi versus Arduino: wat zijn de verschillen en wat gebruik je waarvoor?
Wanneer je interesse hebt in (programmeerbare) elektronicahobby-producten, dan kom je al snel de Raspberry Pi én Arduino tegen. Beide producten zijn uitgevoerd als printplaat waarop diverse chips geplaatst zijn en de afmetingen van bijvoorbeeld een Raspberry Pi 3 (8,5 × 5,6 cm) en de populaire Arduino Uno R3 (6,9 × 5,3 cm) zijn behoorlijk vergelijkbaar. Toch gaat het om twee heel verschillende producten met ieder hun sterke en zwakke punten. Wij gaan in dit artikel in op de verschillen tussen beide platformen.
Computer versus microcontroller
In de basis is het verschil simpel uit te leggen: een Arduino is een microcontroller, terwijl de Raspberry Pi een volwaardige computer is. Op een microcontroller draait geen besturingssysteem en er kan slechts één programma tegelijkertijd worden uitgevoerd. Een computer is voorzien van een besturingssysteem en kan meerdere programma’s tegelijkertijd uitvoeren.
Je kunt in een Raspberry Pi en alternatieve singleboardcomputers als de Orange Pi dan ook alle onderdelen van een volwaardige computer herkennen. Zo is de Raspberry Pi 3 Model B+ voorzien van usb-poorten, een netwerkaansluiting, een hdmi-aansluiting en geluidsuitgang. Zelfs wifi en bluetooth zijn aanwezig. Dankzij al deze aansluitingen kun je, zoals op iedere computer, een beeldscherm en invoerapparatuur aansluiten, waarna je in combinatie met een geschikt besturingssysteem de Pi kunt inzetten als desktop-pc om te browsen of te tekstverwerken. Vergelijk dat met de doorsnee Arduino of vergelijkbaar microcontrollerbordje: die bordjes bieden in de basis enkel pinnetjes die dienen als digitale en analoge in- en uitgangen die direct op de microcontroller zijn aangesloten waar je dingen mee kunt schakelen.
©PXimport
Een Arduino is een microcontroller, terwijl de Raspberry Pi een volwaardige computer is.
-
Wat is een Raspberry Pi?
De Raspberry Pi is oorspronkelijk ontwikkeld door de Brit Eben Upton als goedkope computer (van 35 dollar) om kinderen de beginselen van computers, elektronica en programmeren bij te brengen. Computerhobbyisten zagen echter ook genoeg toepassingen voor de goedkope Raspberry Pi. De basis van een Raspberry Pi is in alle gevallen een SoC van Broadcom die een ARM-processor combineert met de VideoCore IV-gpu en ook alle aansluitingen verzorgt als de usb-poorten en de hdmi-uitgang. De chip voor de netwerkaansluiting is vervolgens via usb 2.0 aangesloten. Dit is ook de reden dat de gigabit-netwerkaansluiting op de nieuwste Raspberry Pi 3 Model B+ een snelheid tussen de 200 en 300 Mbit/s haalt in plaats van een volledige gigabitsnelheid.
Een Raspberry Pi heeft geen opslag, je hebt een sd-kaart nodig waarop het gewenste besturingssysteem geïnstalleerd wordt. De Raspberry Pi Foundation raadt minimaal een Class4-kaartje aan, maar uit onze ervaring blijkt een sneller kaartje met Class 10 of zelfs UHS Class 1 van een goed merk een beter idee. Koop in ieder geval geen merkloos kaartje, je hebt dan een grote kans dat het kaartje tijdens het gebruik corrupt raakt.
©PXimport
Veelzijdige besturingssystemen
Op het sd-kaartje kun je zelf een besturingssysteem installeren. Het standaardbesturingssysteem is het op Debian gebaseerde Raspbian, een Linux-distributie waarmee je de Raspberry Pi inzet als desktop-computer. Daarnaast zijn er ook gespecialiseerdere op Linux gebaseerde distributies waarmee je de Pi inzet als spelcomputer (zoals RetroPie) of mediaspeler (zoals OpenELEC).
De meeste besturingssystemen voor de Pi zijn gebaseerd op Linux, maar in de vorm van bijvoorbeeld Windows IOT Core of RISC OS zijn er ook andere soorten besturingssystemen. De flexibele Linux-besturingssystemen maken veel geavanceerde toepassingen mogelijk. Zo kun je de Raspberry Pi inzetten als een slimme luidspreker met Google Home, kun je hem gebruiken als downloadserver of zelfs als centrale adblocker in je thuisnetwerk.
Ook als mediaspeler voor video of streaming audio is de Pi zoals gezegd uitstekend geschikt. Het minicomputertje is zelfs zo krachtig dat je hem vanaf de Raspberry Pi 2 in combinatie met bijvoorbeeld RetroPie ook kunt inzetten als retro-spelcomputer. Hij emuleert dan moeiteloos spelcomputers als de NES, SNES, MegaDive en Commodore 64.
©PXimport
Hoge compatibiliteit
Nadat in 2012 de eerste Raspberry Pi op de markt kwam, zijn er inmiddels zijn er inmiddels allerlei verschillende uitvoeringen verschenen met snellere processors. Waar de eerste Raspberry Pi een singlecore-processor met een kloksnelheid van 700 MHz had, is de nieuwste 3+ voorzien van een 1,4 GHz quadcore-processor. Eén ding is in al die Raspberry Pi’s echter hetzelfde gebleven, de SoC wordt geleverd door Broadcom. Tussen de gebruikte ARM-cores zit wat verschil, maar de VideoCore IV-gpu is in alle gebruikte SoC’s hetzelfde. Volgens de Raspberry Pi Foundation is de VideoCore de enige openbaar gedocumenteerde gpu voor ARM-SoC’s en hiermee belangrijk voor het Pi-project. Daar zit wat in, want een belangrijk nadeel van andere SoC’s op alternatieve bordjes is dat de grafische mogelijkheden doorgaans slecht ondersteund worden. De Raspberry Pi Foundation legt sterk de nadruk op compatibiliteit tussen de verschillende generaties Pi’s. Het eigen besturingssysteem Raspbian is dan ook nog altijd volledig compatibel met alle varianten van de Pi.
©PXimport
Raspberry Pi versus alternatieven
De Raspberry Pi is niet de enige singleboardcomputer op de markt. In navolging van het succes van de Pi brengen ook andere, veelal Chinese, fabrikanten ‘klonen’ van de Raspberry Pi op de markt. Soms hebben deze bordjes een naam van een ander stuk fruit gecombineerd met het woord Pi zoals de Banana Pi of Orange Pi. We schreven eerder in deze alinea bewust ‘klonen’, want anders dan de meeste klonen van een Arduino gaat het niet om exacte kopieën. De Raspberry Pi gebruikt een SoC van Broadcom, terwijl alternatieve bordjes een SoC van een andere fabrikant als Allwinner, Rockchip of MediaTek hebben. Net als de in de Raspberry Pi gebruikte Broadcom-SoC zijn deze SoC’s gebaseerd op een ARM-processor, maar daar houdt de overeenkomst eigenlijk wel op. Andere elementen van de SoC’s (zoals de gpu) zijn bijvoorbeeld anders. In de praktijk betekent dit dat een besturingssysteem dat speciaal is gemaakt voor de Raspberry Pi zoals Raspbian of RetroPie niet direct werkt op één van de alternatieve bordjes.
Fabrikanten van alternatieve bordjes leveren doorgaans een eigen Linux-distributie (soms een aangepaste versie van Raspbian), maar je kunt vaak ook kiezen voor Armbian. Dit is een speciale Linux-distributie die speciaal gemaakt is voor singleboardcomputers. Overigens ondersteunt Armbian de Raspberry Pi dan weer niet. Hoewel alternatieve singleboardcomputers krachtiger of goedkoper zijn dan de Raspberry Pi en dus zeker bestaansrecht hebben, zijn ze voor beginners meestal niet zo’n goed idee. Vanuit de (Chinese) fabrikanten is de documentatie doorgaans gering. Een ander probleem is dat alle mogelijkheden doorgaans niet volledig ondersteund wordt door de Linux-distributies die geschikt zijn voor de bordjes. Zo kun je soms niet alle resoluties kiezen, lastig als je net een beeldscherm hebt met een niet ondersteunde resolutie. Een ander probleem is dat het aantal gebruikers per alternatief bordje relatief laag is, dus bij problemen kun je niet terugvallen op een actieve community. Het grote aantal gebruikers en de goede ondersteuning vanuit de Pi-community is zeker voor beginners een heel groot pluspunt.
©PXimport
Het grote aantal gebruikers en de goede ondersteuning vanuit de Pi-community is zeker voor beginners een heel groot pluspunt.
-
Accessoires
Er is nog een argument om voor de Raspberry Pi te kiezen en niet voor één van de andere singleboardcomputers. Voor de Raspberry Pi zijn namelijk erg veel accessoires te koop. Zo heb je een ruime keuze in behuizingen in alle kleuren en vormen. Wil je je Pi inbouwen in een behuizing die eruit ziet als een retro-spelcomputer? Geen probleem, er zijn behuizingen die die er uitzien als een Nintendo NES of SNES. Daarnaast zijn er voor de Raspberry Pi ook allerlei uitbreidingen te koop. Hiermee kun je bijvoorbeeld een goede (digitale) geluidsuitgang, een aanraakscherm, klein schermpje of led-matrix toevoegen. De uitbereidingsmodules worden ook wel HAT genoemd, wat staat voor Hardware Attached on Top. De uitbreidingsmodules worden aangesloten op de GPIO, de reeks pinnen op de Raspberry Pi. Die pinnen kunnen trouwens ook gebruikt worden om sensoren en andere componenten op aan te sluiten.
©PXimport
Wat is een Arduino?
De Arduino is een voorbeeld van een microcontroller: een heel simpele computer die één programma tegelijkertijd kan uitvoeren. Er draait dus geen besturingssysteem op een microcontroller. Je programmeert de microcontroller met het door jou gewenste programma waarna dit programma wordt uitgevoerd. Een microcontroller is hiermee uitermate geschikt voor kleinere repeterende taakjes zoals het automatisch openen van een deur of aan laten springen van een lamp bij beweging. Maar ook wat meer geavanceerde dingen zijn mogelijk, zoals een zelfrijdende robot die zijn beweging bepaalt op basis van sensoren.
Wanneer we het hebben over een Arduino, dan hebben we het wel over meer dan alleen de microcontroller. Een Arduino-bordje bevat namelijk alle componenten die je nodig hebt om de aanwezige microcontroller (doorgaans een variant van Atmel, maar er worden ook andere merken gebruikt) op een eenvoudige manier te gebruiken. De meeste Arduino-bordjes zijn bijvoorbeeld voorzien van een usb-aansluiting. Deze wordt gebruikt om een programma via een pc op de microcontroller te zetten. Daarnaast bevatten de Arduino-bordjes pinnen waarop je componenten als sensoren en motortjes kunt aansluiten.
Een voorbeeld van een project dat je kunt bouwen, is een lampje dat reageert op beweging of het invallen van de schemering, zoals we laten zien hier. Maar in combinatie met een Arduino voorzien van wifi kun je ook een weeralarm. Of je bouwt een papieren paraplu die vanzelf opengaat als het gaat regenen.
©PXimport
Robuust
Een voordeel van een microcontroller als een Arduino is dat er na het programmeren softwarematig weinig fout kan gaan. Zodra je de voeding aansluit, wordt de in de microcontroller geprogrammeerde code uitgevoerd. Het maakt niet uit als je de voeding zomaar loskoppelt, na het opnieuw aansluiten wordt het programma gewoon weer uitgevoerd. Bij een singleboardcomputer als de Raspberry Pi is dat nadrukkelijk niet het geval. Wanneer je zomaar de voeding uit een Raspberry Pi trekt, dan heb je een grote kans dat de bestanden van het besturingssysteem corrupt raken en je Pi niet meer opstart. Net als bijvoorbeeld een Windows-pc dien je een Pi netjes af te sluiten om hem uit te zetten.
©PXimport
Arduino versus alternatieven
Waar we het bij de alternatieve singleboardcomputers over ‘klonen’ hadden, durven we bij de alternatieve Arduino’s wat stelliger te spreken over klonen. Het ontwerp van de originele Arduino-bordjes is open source en de ontwerpen zijn te downloaden van de Arduino-website. Andere fabrikanten kunnen die ontwerpen downloaden en vervolgens namaken. Er zijn dan ook vele klonen van de originele Arduino-bordjes te koop die er vrijwel hetzelfde uitzien en doorgaans prima werken. Het grote voordeel van de klonen is dat ze vele malen goedkoper zijn. Een originele Arduino Uno kost bijvoorbeeld 24 euro, terwijl je een kloon al voor 5 euro in huis hebt. Alternatieve fabrikanten mogen die klonen officieel geen Arduino noemen, maar de typenummers worden dan wel weer gewoon gebruikt en in omschrijvingen op bijvoorbeeld eBay of AliExpress zal de term Arduino doorgaans wel gebruikt worden.
©PXimport
Compatibel met
Naast de directe kopieën van de officiële bordjes van Arduino, zijn er ook bordjes en producten als robots te koop die gebruikmaken van een microcontroller die ook in een officiële Arduino gebruikt wordt. Deze bordjes en producten zijn daardoor te programmeren met de Arduino-ontwikkelomgeving. De bekende elektronicafabrikant Adafruit maakt bijvoorbeeld eigen ontwerpen van bordjes die gebruikmaken van dezelfde microcontrollers als een echte Arduino.
Naast de ‘echte’ Arduino’s zijn er ook alternatieve microcontrollers die niet gebruikt worden door het echte Arduino, maar die door ontwikkelaars wel compatibel zijn gemaakt met de Arduino-ontwikkelomgeving. Hierdoor kun je deze microcontrollers net als een Arduino programmeren op dezelfde manier als een echte Arduino. Een voorbeeld van een dergelijke microcontroller is de ESP8266 die op diverse bordjes gebruikt wordt, zoals de NodeMCU waar we in Computer!Totaal al eerder aandacht aan hebben besteed. Een interessant product, want voor vier euro krijg je een bordje voorzien van wifi.
©PXimport
Shields
Voor de populaire typen Arduino’s kun je ook zogenoemde shields kopen. Dit zijn bordjes waar componenten als sensoren, aansluitingen, beeldschermpjes of leds al op geplaatst zijn, die je zo op de Arduino kunt klikken. De shields zijn vergelijkbaar met de HAT-modules voor een Raspberry Pi.
Een plus een is drie
Eigenlijk wordt het pas echt leuk als je een Raspberry Pi en Arduino(-achtige) laat samenwerken. Beide platformen hebben hun sterke punten en die kun je prima combineren. Een interessant praktijkvoorbeeld is een smarthome- of domoticasysteem. De Raspberry Pi is als volwaardige computer uitstekend geschikt om software te draaien waarmee het apparaat inzetbaar is als smarthomecontroller. Een voorbeeld van dergelijke software is Domoticz dat je eenvoudig binnen een Linux-besturingssysteem zoals Raspbian kunt installeren. De Raspberry Pi functioneert na installatie van Domoticz als controller voor een domoticasysteem waarop je regels kunt programmeren om bijvoorbeeld verlichting te schakelen. Omdat de Raspberry Pi behoorlijk wat kracht heeft, kun je dit systeem via een webinterface benaderen. De benodigde software geeft nog maar eens het grote verschil tussen een volwaardige computer als de Raspberry Pi en een microcontroller als de Arduino aan. Zowel de Raspberry Pi Foundation als Domoticz raden een sd-kaartje met een minimale capaciteit van 4 GB aan. Vergelijk dat met de specificatie van een populaire microcontrollerbordje met wifi als de NodeMCU, een dergelijk bordje bevat slechts 4 megabyte opslag.
©PXimport
NodeMCU
Ondanks de lage prijs kan een microcontroller als de NodeMCU een waardevolle rol spelen in een smarthomesysteem. Een microcontroller is bijvoorbeeld uitermate geschikt om sensoren aan te sturen. De microcontroller houdt bijvoorbeeld de status van een bewegingssensor bij en geeft bij beweging een seintje aan de Raspberry Pi die vervolgens zijn kracht gebruikt om deze eenvoudige statusverandering te verwerken. Je kunt het benodigde programma zelf programmeren met Arduino-code, maar er zijn voor de NodeMCU eenvoudigere oplossingen om hem te koppelen aan een domoticasysteem zoals de ESP Easy-firmware die een simpele webinterface biedt om eenvoudig de koppeling met een domiticasysteem als Domoticz te maken. Je leest meer over ESPEasy in dit artikel.
©PXimport
Wat kies je?
We hebben je in dit artikel uitgelegd wat de verschillen zijn tussen de Raspberry Pi en Arduino en je hopelijk duidelijk gemaakt dat het om twee totaal verschillende producten gaat met ieder hun sterke punten. Maar welk platform heb je uiteindelijk nodig? Elektronicatijdschrift Make bedacht een simpele vuistregel die je helpt te kiezen tussen een Arduino of Raspberry Pi: kun je het project omschrijven met minder dan twee keer het woord ‘en’, dan kies je een Arduino. Heb je meer dan twee keer het woord ‘en’ nodig, dan ga je voor de Raspberry Pi. Wil je bijvoorbeeld de potgrond van je plant in de gaten houden en een berichtje krijgen als er water gegeven wordt, dan kies je voor een Arduino (met wifi). Wil je in hetzelfde scenario ook nog dat er automatisch water gegeven wordt afhankelijk van de regenvoorspelling, dan is een Raspberry Pi een geschiktere basis.
Uiteindelijk is ons advies om te beginnen met Arduino als je aan de slag wilt met elektronica en projecten wilt maken op basis van sensoren. Terwijl de Raspberry Pi geschikter is voor ‘softwarematige’ projecten als een spelcomputer, mediaspeler, muziekstreamer of nas. Je kunt natuurlijk ook eens googelen als je een idee hebt. Omdat zowel de Raspberry Pi als Arduino erg populair zijn, is de kans groot at iemand al een soortgelijk project heeft gebouwd.