Wat is Raspberry Pi?
Waarom is de Raspberry Pi ontstaan?
In minder dan 10 jaar is de Raspberry Pi overgegaan in de lingua franca van zowel hobbyisten als professionele elektronica-ontwikkelaars. Deze computer ter grootte van een creditcard, aangedreven door een Arm-processor, heeft verschillende gedaantes gehad die ook een miniatuurversie hebben voortgebracht. Nu meer dan 40 miljoen exemplaren zijn verkocht [1] (2021), werd het in 2015 de best verkochte computer in het VK [2]. Het record dat het brak, was in handen van de Sinclair ZX Spectrum [3], een zwarte doos met rubberen toetsen die heeft bijgedragen aan de revolutie van thuiscomputers in de jaren tachtig. En om te begrijpen waarom het überhaupt zo ver kwam, is het noodzakelijk om terug te blikken op dat decennium van de kindertijd van de ontwikkelaar, Eben Upton.De industrie klaagde regelmatig over een gebrek aan STEM-rekruten (Science, Technology, Engineering, Mathematics), mensen zoals Eben Upton [4] vroegen wat had geleid tot het gebrek aan programmeercompetente, technisch geïnteresseerde studenten (Figuur 1). Zoals veel kinderen die in de jaren zeventig zijn geboren, groeide Eben op tijdens de hausse van thuiscomputers in de jaren tachtig. 8-bits processors, zoals de Z80 en 6502, werden gebruikt om computers te bouwen die goedkoop genoeg waren voor privé aankopen. Misschien wel het meest kritische element was dat de gebruiker bij het inschakelen werd geconfronteerd met een knipperende cursor: geen windows, geen muis, geen opstartgeluid. De verantwoordelijkheid lag bij de gebruiker om te beslissen wat hij vervolgens moest doen. Velen laadden een spel van een cassettebandje, waarvoor minimaal het LOAD-commando moest worden ingetoetst. Maar op een gegeven moment besloten velen om zich te richten op het programmeren van deze apparaten met behulp van de programmeertaal die ze allemaal ondersteunden: BASIC.
Dit moment in de computergeschiedenis was van cruciaal belang bij het tot stand komen van de carrières van veel van de hedendaagse ontwikkelaars. Tegen de jaren negentig richtten gameconsoles van Nintendo en Sega zich tot degenen die alleen maar wilden gamen. Vanwege hun bedrijfsmodel zijn hun consoles zo ontworpen dat ze niet door de gebruiker kunnen worden geprogrammeerd. Als je een game wilt schrijven, heb je speciaal gereedschap nodig van de fabrikant van de console [5]. Met de opkomst van pc's en het Windows-besturingssysteem, gleed de noodzaak om te programmeren en dus om de computer te laten doen wat je wilde ook naar de achtergrond, wat resulteerde in een generatie gebruikers en geen programmeurs.
Om dit aan te pakken, zouden de kinderen van vandaag toegang moeten hebben tot het soort toegankelijke, programmeerbare computers die Eben in zijn jeugd had meegemaakt.
De Raspberry Pi is geboren
Aanvankelijk speelde Eben met een Atmel ATmega644, vergelijkbaar met hoe de Arduino begon [6]. De uitdaging met microcontrollers is echter dat gebruikers een computer nodig hebben om ze te programmeren, en C / C++ is niet de meest eenvoudige programmeertaal voor complete beginners om te leren of voor leraren om les te geven. Het doel was om een computer te introduceren die op scholen kan worden gebruikt, vergelijkbaar met de BBC Micro waarmee leerlingen op Britse scholen in de jaren tachtig waren opgegroeid [7]. Deze waren in het curriculum opgenomen om programmeer- en IT-vaardigheden aan te leren. De Raspberry Pi zou hetzelfde moeten kunnen.Bovendien hadden programmeren en computers een lange weg afgelegd sinds de jaren tachtig. Terwijl BBC Micros via Econet [8] met elkaar verbonden zijn, zouden de toekomstige programmeurs van vandaag een internetverbinding nodig hebben. En programmeertalen hoeven niet per se te worden geschreven; grafische programmeertools, zoals Scratch, bieden de vereiste principes voor jonge leerlingen zonder de uitdaging om de grammatica van de programmeertaal te corrigeren.
Misschien wel het belangrijkste is de prijs die zo rond de $ 35 [9] moet zijn. Het doel was om de mensen voor die prijs een redelijk krachtige hoeveelheid rekenkracht te geven, zodat het verlies draaglijk zou zijn als het kapot zou gaan. Eben, destijds in dienst van Broadcom, zag potentieel in een nieuwe compacte, krachtige op de Arm gebaseerde systeem-op-chip (SoC), de BCM2835. Het leek het ideal startpunt die een geïntegreerde grafische verwerkingseenheid (GPU) had en standaard randapparatuur gebruikt zoals in pc's (USB). Het ontwerp van de eerste alfaversie kwam echter uit op ongeveer $ 110, ver verwijderd van de richtprijs. Verdere optimalisatierondes, zoals het implementeren van audio met behulp van een pulsbreedte-gemoduleerde (PWM) output in plaats van een speciale audiochip, brachten de totale kosten omlaag. Misschien de beste functie van de Raspberry Pi, de GPIO-header, werd op dit punt daadwerkelijk toegevoegd, waardoor het plotseling in staat is motoren te besturen en te communiceren met randapparatuur.
Wat kan een Raspberry Pi doen?
Sinds de oprichting heeft de Raspberry Pi, ter grootte van een creditcard, weinig van de gebruiker gevraagd wat iedere pc- en smartphonebezitter nog niet heeft. Het board kan worden aangesloten op een smartphone-lader (hoewel de stroomvoorziening van de meest recente versies een iets zwaarder model vereist). De muis en het toetsenbord zijn verbonden via USB, terwijl een monitor op de HDMI-interface kan worden aangesloten. De versies van de eerste generatie ondersteunden ook een composiet video-uitgang, maar dit werd afgeschaft met de komst van het ontwerp van de tweede generatie.Er is een reeks Linux-gebaseerde besturingssystemen (OS) beschikbaar die eerst naar een SD-kaart moeten worden geschreven, hoewel voorgeprogrammeerde SD-kaarten ook beschikbaar zijn. Het oorspronkelijke besturingssysteem was Raspian (nu Raspberry Pi OS genoemd), een op Debian gebaseerde distributie, waaraan Ubuntu recentelijk is toegevoegd. Microsoft biedt ook Windows IoT Core, een afgeslanke Windows versie die zich richt op Internet-of-Things-toepassingen. Er is ook ondersteuning voor RISC OS, oorspronkelijk gemaakt voor de Arm-gebaseerde Archimedes-computers die de BBC Micro volgden, en mediacenter-systeemdistributies zoals LibreELEC.
Het volledige portfolio van Raspberry Pi OS bevat een reeks softwaretoepassingen die gebruikers van elke leeftijd in staat stelt te beginnen. Jongere gebruikers die het programmeren willen leren, kunnen de visuele Scratch-omgeving gebruiken. Net als LOGO [10] uit het BBC Micro-tijdperk, kunnen eenvoudige procedures worden beschreven en in loops worden geplaatst, terwijl reacties op eenvoudige invoer ook kunnen worden geïmplementeerd. Voor wie op zoek is naar een programmeertaal, is Python ook beschikbaar. Een opwindend maar misschien vaak over het hoofd gezien programma is de synthesizer Sonic Pi [11], zijn eenvoudige programmeertaal maakt het mogelijk om polyfone muziek te creëren. Ten slotte bieden Wolfram en Mathematica krachtige tools om wetenschappelijke en technische problemen met wiskunde aan te pakken.
Het besturingssysteem bevat ook een webbrowser en een winkel waar extra programma's en apps kunnen worden gedownload. Voor degenen die geïnteresseerd zijn in het spelen van games, is er ook een versie van Minecraft inbegrepen. Python kan ook worden gebruikt om het spel te programmeren, waardoor objecten kunnen worden ingevoegd en gemanipuleerd in de blokkerige 3D-wereld.
Welke Raspberry Pi is het beste voor mij?
In de afgelopen 10 jaar zijn er vier verschillende generaties van de Raspberry Pi geïntroduceerd in het creditcard formaat. Gedurende die tijd zijn de hoeveelheid geheugen en de prestaties van de processor in de SoC gestaag verbeterd. Als je net aan je reis begint, is het verstandig om te investeren in de meest recente Raspberry Pi 4-modellen [12,13] (Figuur 2). De gebruikerservaring is beter dankzij de snellere processor, vooral bij gebruik van de webbrowser en browsergebaseerde applicaties, zoals Node-RED [14]. Het ondersteunt ook twee 4k HDMI-monitoren, beschikt over gigabit Ethernet en dual-band WLAN en biedt zowel USB 2.0 als 3.0. Met een breed scala aan beschikbare behuizingen kan het bord eenvoudig en veilig worden geïntegreerd met ieder extern circuit waarmee u een interface mee wilt hebben.
Als je je meer concentreert op het gebruik van de Raspberry Pi als alternatief voor een klassieke computer, dan is de nieuwe Raspberry Pi 400 [15] is een uitstekende keuze (Figuur 3). De computer is geïntegreerd in een QWERTY-toetsenbordbehuizing, zodat u alleen een muis en monitor hoeft aan te sluiten om aan de slag te gaan. De complete pakketten bevatten ook een stroomvoorziening en een handleiding om aan de slag te gaan.
Niet iedereen heeft een monitor nodig voor zijn geplande applicatie, vooral als je een op Linux gebaseerde machine wilt integreren in zoiets als een industriële machine of robot. Voor dergelijke gevallen is de Raspberry Pi Zero, voor het eerst geïntroduceerd in 2015, het overwegen waard. Deze compacte versie, ook verkrijgbaar met WLAN [16], behoudt de 40-pins GPIO-interface voor het besturen van motoren of voor communicatie met I2C- en SPI-randapparatuur.
Raspberry Pi Pico werd ook geïntroduceerd in 2021, maar wijkt af van de door Linux aangedreven platforms van zijn voorouders (Figuur 4). De Pico is voorzien van een RP2040-microcontroller die twee Arm Cortex-M0 + -processors integreert, deze kernen zijn niet geschikt om Linux te draaien. In plaats daarvan kan de Pico worden beschouwd als een alternatief voor Arduino-kaarten, hoewel de prestaties goed genoeg zijn voor low-end machine learning (ML) met behulp van TensorFlow Lite [17].
Hoe kunnen de mogelijkheden worden uitgebreid?
Dankzij de gestandaardiseerde GPIO-header zijn er verschillende HAT's en andere uitbreidingskaarten beschikbaar om de mogelijkheden van uw Raspberry Pi uit te breiden. Ze zijn vergelijkbaar met Shields for Arduino-producten en variëren van eenvoudig tot complex. Prototyping wordt vereenvoudigd met de JOY-iT ProtoShield + [18] die soldeerbare verbindingen, schroefklemmen en 0,1” headers biedt. Het bedienen van de Raspberry Pi vanaf een batterij wordt vereenvoudigd met de JOY-iT StromPi3 [19], waardoor een breder ingangsspanningsbereik dan slechts 5 V wordt ondersteund. Hij informeert u niet alleen wanneer de batterij moet worden opgeladen, maar bevat ook een real-time klok (RTC), waardoor de Raspberry Pi de juiste tijd kan behouden zonder internettoegang.Er zijn ook opties voor diegenen die de kwaliteit van de audio-uitvoer willen verbeteren. De HiFiBerry [20] maakt gebruik van hoogwaardige Burr-Brown digitaal-naar-analoog converters (DAC) en kan worden geïntegreerd met de ALSA-mixerbesturingen die in Linux worden gebruikt. Andere HAT's zijn relais voor domotica en besturing, CAN- en RS-485-interfaces en I2C-breakout-boards [21].
Raspberry Pi-kaarten bevatten ook twee flexible printed circuit (FPC) interfaces. Een van deze ondersteunt DSI, een digitale video-outputinterface die wordt gebruikt met LCD-panelen. Een reeks displays van minder dan tien inch maakt de constructie van stand-alone toepassingen mogelijk, zoals weerstations of mediacentra, in combinatie met een touchscreen-interface. De andere interface is een video-ingang, waarvoor ook een reeks camera's beschikbaar is (Figuur 5). De Raspberry Pi-cameramodule V2 [22] kan worden gebruikt om videostreaming, time-lapse-fotografie of zelfs beeldherkenning samen met ML-tools te implementeren. Voor degenen die willen vastleggen wat er 's nachts in hun tuin gebeurt, zijn er ook infraroodcamera's beschikbaar [23].
Wat is het volgende?
Omdat de Raspberry Pi Foundation geen duidelijke routekaart heeft, kunnen we niet zeggen hoe de volgende generatie boards eruit zal zien. Als SoC-provider blijft Broadcom hun technologie ontwikkelen, dus hoogstwaarschijnlijk zullen hogere prestaties door middel van meer kernen beschikbaar komen. De kans is ook groot dat de grafische mogelijkheid ook een upgrade krijgt. Geheugentechnologie is ook vooruitgegaan, dus misschien komt er ook een overstap naar LPDDR5 SRAM. Bij het lezen van blogs, forums en online artikelen lijkt de overstap naar micro-HDMI veel mensen te verontwaardigen, maar het is moeilijk in te zien hoe het vervangen ervan door full-size HDMI-connectoren kan worden ondergebracht in de kleine vormfactor.Een goede upgrade zou het vervangen van de SD-kaart voor UFS-opslag zijn. Smartphones en, tot op zekere hoogte, de auto-industrie neigen al in die richting dus het zou een verrassing zijn als Broadcom het niet zou ondersteunen. Als alternatief zou geïntegreerde ondersteuning voor een M.2 NVMe SSD als module of gesoldeerde versie honderden gigabytes aan opslag beschikbaar kunnen maken. Andere upgrademogelijkheden liggen bij Wi-Fi 6, maar het valt te betwijfelen of een dergelijke optie de gebruikers enig zinvol voordeel zou opleveren.
Naast het onderwijs en de hobby-scene hebben industriële gebruikers zich in grote getale tot de Raspberry Pi gewend. Met de groei in machine learning-algoritmen die in vision-systemen worden gebruikt, zou een board met een of andere AI-accelerator logisch zijn.
Iedereen was met stomheid geslagen bij de release van een nieuwe halfgeleider chip bij de recente Raspberry Pi Pico. Misschien moet dit worden opgevat als een teken dat een Raspberry Pi 5 ook met een interessante verrassing zal komen.
Vertaling: Hans Adams