Veelzijdig knutselbordje

Redactie
0

c’t 10/2013 p.128

Raspberry Pi: computer op creditcardformaat

Met de Raspberry Pi mini-computer en Linux kun je een complete desktop-pc, mediacenter of servertoepassing maken. Maar de Pi is ook prima te gebruiken als een goedkoop maar krachtig embedded systeem voor meet- en regeltaken. En dat voor een basisbedrag vanaf 30 euro.

Raspberry Pi: computer op creditcardformaat

Zelden heeft een stukje hardware zo’n hype veroorzaakt als de mini-pc Raspberry Pi. Het idee ontstond een aantal jaren geleden bij medewerkers van de informaticafaculteit aan de universiteit van Cambridge, die merkten dat hun studenten veel minder basiskennis van computertechniek hadden dan in de jaren negentig, toen veel kinderen programmeren als hobby hadden. Het uitgangspunt was dan ook om de jeugd van nu net zo’n spannende ontdekkingsreis in de computertechniek te bieden als in de jaren tachtig de BBC Micro- en de Commodore 64-computer dat deden. Overzichtelijke, uniforme en makkelijk toegankelijke hardware met een grote community erachter – en dat alles voor een paar tientjes.

Uit dit idee werd de Britse Raspberry Pi Foundation geboren, die een moederbordje niet groter dan een creditcard ontwierp met ARM-processor, grafische processor, geluid, diverse interfaces en programmeerbare digitale in- en uitgangen. De productie startte in het begin van 2012 in China. Voor de eerste batch van het destijds enige beschikbare model B werd een aantal van slechts 10.000 stuks begroot. Die waren bij de start eind februari binnen enkele uren al gereserveerd. Daarna bleef de Raspberry Pi een tijdlang schaars totdat de productiecapaciteit uitgebreid werd. De stichting had oorspronkelijk verwacht niet meer dan een paar duizend exemplaren van hun minicomputertje te verkopen, met als voornaamste doelgroep de jeugd met belangstelling voor informatica, ook al hielden ze er rekening mee dat er ook andere geïnteresseerden konden zijn. Om een lang succesverhaal kort te maken: de verkoop explodeerde, zodat Raspberry Pi het snelst groeiende computerbedrijf ter wereld werd. Sinds vorig jaar september wordt de productie steeds meer verplaatst van China naar Zuid-Wales, waardoor er nu twee soorten Pi’s op de markt zijn: ‘made in China’ en ‘made in UK’. In januari 2013 werd de miljoenste Pi verkocht. Vanaf begin dit jaar is de Pi ook bij ons ruim voorradig bij zowel webshops als elektronicahobbywinkels.

De Raspberry Pi – kortweg Pi of Raspi – wordt als afgesoldeerde printplaat zonder behuizing geleverd. Net als de BBC Micro van meer dan dertig jaar geleden, is de Pi ook in twee varianten te verkrijgen: model A en model B. In tegenstelling tot model A heeft model B een ethernetaansluiting, twee usb-poorten in plaats van één en 512 MB RAM in plaats van 256 MB. Model A kost 25 dollar (30 euro), model B kost 35 dollar (40 euro).

Pagina 1 van de snelstartgids voor de Raspberry Pi.

Dat lijkt heel goedkoop, maar je moet de eventuele extra kosten niet over het hoofd zien. Je hebt minimaal een SD-kaart nodig, een voeding en kabels. Als je de Pi als mini- pc wilt gebruiken, komen daar nog een behuizing, een muis en toetsenbord en een monitor bij. Wellicht zul je de meeste van die spullen wel ergens overcompleet en ongebruikt thuis hebben liggen. Een oude afgedankte monitor met VGA-aansluiting kun je op de Pi helaas niet aansluiten. Hij heeft alleen een HDMI-uitgang en is dus geschikt is voor moderne televisies en monitoren. In elk geval kun je de Pi met een adapter van een tientje wel op een oudere lcd-monitor met DVI-ingang aansluiten. Daarnaast heeft de Raspberry voor videosignalen ook nog een composite-out, zodat je hem via een SCART-adapter op iedere televisie kunt aansluiten – net als indertijd met de Commodore 64.

Ook voor het geluid zijn er twee uitgangen: digitaal via de HDMI-poort en analoog via een 3,5mm-jackplug. Die zijn om te schakelen via de software. De voeding met een opgegeven minimum van 5 V / 700 mA betrekt de Pi via een micro-USB-poort. Je kunt daar bijvoorbeeld de oplader van een smartphone of tablet voor gebruiken. Het hart van de Pi is een System-on-a-Chip (SoC) van Broadcom met een ARM-processor (ARM1176JZF-S, 700 MHz) en een grafische kern (VideoCore IV gpu). Met die laatste is de Raspberry Pi zelfs in staat HDvideo’s af te spelen (1080p).

Besturingssysteem

Aangezien de Raspberry Pi in principe zonder software wordt geleverd, heb je als eerste een compatibel besturingssysteem nodig. Op de downloadpagina van de projectsite Raspberrypi.org staat het officiële aanbod. Als eerste is er NOOBS, New Out Of Box Software. Deze image van circa 4 GB wordt aangeraden voor beginners (‘noobs’ dus). In wezen is het een recovery-systeem. Het biedt bij de eerste keer booten een aantal besturingssystemen aan waaruit je er een kunt kiezen om te installeren: Archlinux, OpenELEC, Pidora, RISC OS, Raspbmc en Raspbian. Daarnaast zijn er de ‘raw images’ van dezelfde besturingssystemen. OpenELEC en Raspbmc zijn mediacenters gebaseerd op XBMC, Raspbian ‘wheezy’ is op de Linux-distributie Debian gebaseerd en Pidora op Fedora Remix. RISC OS gaat terug tot het Engelse computerbedrijf Acorn en de ontwerpers van de ARM microprocessor. Er zijn nog een paar andere initiatieven voor besturingssystemen op de Pi. Ook een Android- implementatie (Android 2.3) is in ontwikkeling zijn, maar wanneer die klaar zal zijn is onduidelijk. We raden je aan Raspbian te gebruiken. De systemen van NOOBS kun je ieder apart ook als ‘raw’-image downloaden, maar dan heb je iets meer werk. Een overzicht van besturingssystemen voor de Pi staat in het online magazine voor de Raspberry, ‘The MagPi’, nr. 12, p.12 (zie link onderaan dit artikel).

Bij de eerste keer opstarten vanaf de NOOBS-image krijg je de keuze uit 6 verschillende systemen om te installeren.

De Quick Start Guide laat de precieze stappen zien om de Pi gebruiksklaar te maken. Om te beginnen heb je een SDkaart nodig van minimaal 4 GB met een snelheidsspecificatie van class 4 of hoger. Download en installeer op je Windows-pc of Mac eerst de formatting tool (SD Formatter) van de SD Association om de SD-kaart te prepareren (zie link). Zet in het Optionsmenu ‘Format Size Adjustment’ op ‘On’ en klik op ‘Format’. Daarna kun je het gedownloade zipbestand met Raspbian uitpakken en de bestanden naar de kaart kopiëren. Dat is alles. Steek de kaart vervolgens in de Pi, sluit de netwerkkabel, monitor/tv en toetsenbord en muis aan en start de boel op door het aansluiten van de voeding op de micro-USB-poort. Na het booten krijg je meteen de lijst met de besturingssystemen te zien, selecteer ‘Raspbian ‘ en druk op Enter. Het systeem wordt dan geïnstalleerd. Wanneer het venster ‘Klaar met herstellen’ meldt dat de image met succes is teruggezet, kun je op ‘OK’ klikken. Het systeem start nu opnieuw op met Raspbian .

Voor het installeren van een raw-image heb je een tool nodig als Win32 Disk Imager voor Windows, die het hele proces van het prepareren van de kaart en het overzetten van de image voor zijn rekening neemt, zie het tekstkader ‘Raw-image op SD-kaart zetten’. In dat geval heb je al genoeg aan een SD-kaart van 2 GB.

De eerste keer

Als je Raspbian voor de eerste keer opstart, krijg je automatisch de Software Confi- guration Tool (raspi-config) te zien. Daar staan diverse nuttige opties bij waarvan je meteen de belangrijkste kunt toepassen. Je kunt met de pijltjestoetsen door de lijst scrollen en met Enter een optie selecteren. De eerste (en belangrijkste) is Expand Filesystem. Daarmee zorg je dat Raspbian de image-partitie uitbreidt over de hele beschikbare capaciteit van je SD-kaart. Anders kun je bij kaarten die groter zijn dan de grootte van de image de overgebleven ruimte niet gebruiken. Bij een installatie met Noobs wordt het bestandssysteem automatisch uitgebreid, bij een installatie met Raspbian Wheezy moet je dat zelf doen met deze tool. Druk op Enter of <Select> om de optie te activeren. De volgende is: Change User Password, erg belangrijk als je de Pi aan het internet gaat hangen, want user ‘pi’ heeft standaard administratorrechten. Wil je dat de Pi standaard met de grafische userinterface opstart? Dan kun je optie 3 activeren: ‘Enable Boot to Desktop’. Een ander belangrijk punt zijn de ‘Internationalisation Options’ voor het instellen van de taal, tijdzone en toetsenbordlay-out. Vooral die laatste is nuttig, zodat je niet iedere keer blind hoeft te zoeken naar bijvoorbeeld de tekens ‘@ ‘en ‘/’. Klik in de Internationalisation Options op ‘Keyboard layout’. Het systeem probeert zelf je toetsenbord te herkennen, bijvoorbeeld ‘Generic 105-key (Intl) PC’, kies daarna zelf de lay-out, bijvoorbeeld ‘English (UK, international with dead keys)’ en accepteer in de navolgende opties tweemaal de standaardoptie met een druk op Enter. Kies tenslotte de optie ‘Use Control + Alt + Backspace to terminate the X-Server’. De wijzigingen worden meteen toegepast.

Wanneer Raspbian voor de eerste keer opstart, verschijnt de simpele configuratie-wizard 'raspi-config'. Die kun je achteraf via de Terminal opnieuw starten.

In het submenu 'Internationalisation Options' vind je de opties voor het instellen van de taal, tijdzone en toetsenbordlay-out.

De andere opties in raspi-config kunnen zonodig later nog aangepast worden. Je kunt de Configuration Tool altijd oproepen in het tekstscherm/Terminal met sudo raspiconfig. Als je klaar bent, druk je op <Finish> om Raspi-config te verlaten en naar de prompt te gaan. Indien nodig vraagt de tool je om te herstarten. Doe dat met een druk op Enter, of herstart de pi later met sudo shutdown -r now Log na het rebooten in met de standaard gebruikersnaam ‘pi’ en wachtwoord ‘raspberry’ of het nieuwe wachtwoord, als je dat hebt veranderd.

Grafische interface

Raspbian gebruikt als desktopomgeving de summiere Lightweight X11 Desktop Environment (LXDE). Als Raspian niet is ingesteld om automatisch de grafische desktop te starten, start je hem na het inloggen met de commandline-opdracht startx. Deze eenvoudige grafische interface ziet er niet zo gelikt uit als we tegenwoordig gewend zijn van bijvoorbeeld Ubuntu. Er zijn alleen een handjevol pictogrammen en onderaan een traditionele menubalk. Hij werkt in het gebruik wat ‘stroperig’, maar dat kun je iets verbeteren door de processor wat te overklokken via de raspi-config-tool. Standaard heeft de distributie weinig programma’s en tools. Hij heeft de simpel gehouden browser Midori (Japans voor ‘groen’), die geen Flash en geen HTML5 ondersteunt, een mediaplayer, editors, de ontwikkelomgeving Scratch, een terminal en een bestandsbeheerder. Daarnaast zijn Python, Perl en GCC voorgeïnstalleerd. Grafische games, officesuites en multimediasoftware heeft men omwille van de ruimte en de performance weggelaten. Via de pakketmanager Aptitude (apt-get) kun je een heleboel extra toepassingen uit de Debian-repository’s na-installeren. Daardoor zijn er veel toepassingsgebieden voor de Pi: goedkope NAS, webserver, mediacenter, internetradio of normale desktop-pc.

De desktop van Raspbian is bewust sober gehouden.

Een van de standaard pictogrammen op het bureaublad is dat van de Pi Store. Hij bevat een zeer bescheiden aantal van 68 applicaties, waaronder 24 apps (o.a. LibreOffice) en 21 games (o.a. OpenArena, een multiplayer fps gebaseerd op Quake III). Helemaal linksonder op de menubalk zit de menuknop, helemaal rechts naast het klokje de uitknop. Je kunt hier via rechtsklikken nog meer panels op de menubalk toevoegen, bijvoorbeeld om de cpu-belasting en -temperatuur of de netwerkactiviteit in de gaten te houden.

Op afstand

In de meeste gevallen zul je de Pi op afstand willen bedienen. Hij heeft in dat geval dan ook geen monitor, toetsenbord en muis nodig, alleen voeding en een netwerkaansluiting (ethernet of wifi). Standaard is SSH actief. Bij de laatste systeemmelding na het opstarten kun je het aan de Pi toegewezen IP-adres lezen dat je daarbij nodig hebt. Na het installeren en opstarten van het besturingssysteem kun je dan ook meteen remote aan de slag. Er bestaan diverse gratis SSH-clients voor op de pc/Mac of smartphone en tablet, zoals de app ServerAuditor voor de iPad. Wil je de grafische userinterface ook op afstand gebruiken, dan kun je TightVNC op de Pi installeren ( sudo apt-get install tightvnc ) waar je dan UltraVNC of de app Mocha VNC bij kunt gebruiken. Er zijn ook diverse servertoepassingen voor de Pi waar een webapplicatie of app bij hoort (iOS en Android) om hem op afstand te bedienen, bijvoorbeeld als ftp-server of NAS.

Behuizing

Je zult waarschijnlijk vrij snel op zoek gaan naar een leuk kastje voor je Pi omdat dat handiger is in het gebruik en je Pi minder risico loopt op beschadiging of kortsluiting. Er zijn in principe drie mogelijkheden: je bouwt helemaal zelf een kastje (met Lego schijnt dat goed te gaan), je gebruikt een bestaand kastje van bijvoorbeeld een afgedankte router en past dat zelf aan, of je koopt een kant-en-klare behuizing. Er is online een enorme keuze aan kastjes, die in twee categorieën uiteenvallen: gesloten kastjes van plastic of metaal, met alle gaten op de juiste plekken en behuizingen die aan de zijkanten open zijn en geschikt zijn om allerlei uitbreidingen aan je Pi te hangen. Ze zijn al verkrijgbaar voor minder dan een tientje, meestal bij webshops. Het belangrijkste is om vooraf rekening te houden met eventuele uitbreidingen aan je Raspberry Pi. Er is bijvoorbeeld een cameramodule voor de Pi, maar die moet wel met een lintkabel op de camera-interface op het moederbordje bevestigd worden. Hetzelfde geldt voor de GIO-aansluitingen (General I/O). In de behuizing moeten daar dan wel de nodige openingen op de juiste plekken voor zitten.

Wanneer Raspbian voor de eerste keer opstart, verschijnt de simpele configuratie-wizard 'raspi-config'. Die kun je achteraf via de Terminal opnieuw starten.

In het submenu 'Internationalisation Options' vind je de opties voor het instellen van de taal, tijdzone en toetsenbordlay-out.

Je kunt natuurlijk beginnen met een simpele en goedkope behuizing en eventueel later een duurder kastje met meer mogelijkheden aanschaffen. Een en ander hangt niet alleen af van je toepassing, maar ook van je smaak, want er zijn een heleboel designkastjes in diverse kleuren en smaken te krijgen. Zorg in elk geval wel voor een kastje met genoeg luchtgaatjes, vooral als je de cpu overgeklokt hebt. Er zijn trouwens ook aparte heatsinks te koop voor op de cpu en de ethernetcontroller.

Toepassingen

Nadat de Raspberry Pi voor de eerste keer in gebruik genomen is en het besturingssysteem naar behoren functioneert, zowel met toetsenbord en muis als op afstand via internet, ga je je misschien afvragen waarvoor je de kleine Pi nuttig kunt gebruiken. Gelukkig zijn veel Pi-bezitters je al voorgegaan en is er een aantal leuke projecten waarvan je de kant-en-klare vruchten kunt plukken en die ook steeds bijgewerkt worden. Gezien de beperkingen van de Pi-hardware moet je je verwachtingen niet te hoog stellen. De Pi is bijvoorbeeld helemaal niet geschikt als serieuze kantoorcomputer voor tekstverwerking, spreadsheets, fotobewerking en teken- of ontwerpprogramma’s, om maar een paar resourceverslindende toepassingen te noemen. Verder dan een simpele teksteditor moet je eigenlijk niet willen gaan, ook niet in noodgevallen. Ook als internetmachine blinkt de Pi niet uit, websites worden maar traag gerenderd. Dat is te wijten aan de combinatie van de redelijk zwakke ARM11-cpu van de Pi en het feit dat de X-server niet profiteert van hardwareversnelling door de gpu. De toch al niet zo snelle cpu moet dus al het werk doen.

Mediacenter

Het eerste doel waarvoor de Pi uitermate geschikt is, is als mediacenter voor bij je televisie. De computer heeft niet voor niets een dualcore gpu, die perfect is uitgerust voor het afspelen van foto’s en video’s in Full HD (1080p), en een HDMI-aansluiting die ook geluid doorgeeft. Je kunt een van de twee speciale images installeren (Raspbmc of OpenELEC). Raspbmc is gebaseerd op de bekende opensource mediaplayer XBMC. Hij werkt erg vloeiend en makkelijk. Met de XBMC Remote-app op je smartphone kun je je mediacenter op afstand bedienen. Raspbmc speelt alle belangrijke formaten voor audio en video af, heeft standaard een weer-app, een fotoviewer, een videospeler en een muziekspeler. Bij elke mediumcategorie kun je kiezen uit een groot aantal add-ons om te installeren, bijvoorbeeld om Youtube-filmpjes te bekijken, foto’s van Flickr te bekijken of muziek van Soundcloud of podcasts te beluisteren, Via de categorie Programma’s kun je software installeren om bijvoorbeeld je mail te lezen of om spelletjes te spelen. Bovendien kun je op je lokale netwerk naar mediabronnen zoeken. Net als XBMC ondersteunt Raspbmc ook AirPlay, om muziek, foto’s en films vanaf je smartphone of tablet op je tv af te spelen. Dat werkt allemaal, alleen het synchroniseren van het display van je smartphone of tablet zoals bij de Apple tv kan hier niet. Raspbmc zoekt en installeert updates bij het opstarten automatisch.

Raspbmc maakt van de Raspberry Pi een mediacenter met veel meer mogelijkheden dan welk kant-en-klaar product dan ook. En de software wordt regelmatig bijgewerkt.

Game console

Van de Pi kun je met een beetje moeite ook een kleine gameconsole maken die geschikt is voor ‘retrogaming’. Op Raspbian kun je een groot aantal emulators draaien voor ondermeer Nintendo (NES), MSX, Atari, Apple II en MSDOS. Daar zijn ook complete images voor te downloaden die diverse emulators al aan boord hebben, zodat je alleen nog de betreffende gameroms hoeft toe te voegen. Een voorbeeld van zo’n image is The RetroPie Project (zie link). De roms zijn in online verzamelingen op te zoeken.

Oude 8-bit consolegames zijn met de juiste emulator en game-roms prima te spelen op de Raspberry Pi, als je tenminste een gamecontroller aansluit.

Als gameconsole maakt de Pi gebruik van zijn snelle grafische chip, wat je goed kunt zien bij de Quake III Arena-kloon, die volstrekt vloeiend draait. Voor het spelen kun je op de usb-poort onder andere een bedrade Xbox-controller aansluiten.

Servers

Een Linux-platform als de Raspberry Pi biedt een ongelofelijke hoeveelheid mogelijkheden voor het opzetten van allerhande servertoepassingen. Die zijn online makkelijk te vinden, compleet met software en instructies. Je hoeft alleen maar te googelen op Raspberry Pi en iets als NAS of webserver.

Het opzetten van een goedkope printserver gaat bijvoorbeeld met de Raspberry Pi heel gemakkelijk, zoals je kunt lezen in de vorige uitgave van c’t [1]. Je hoeft alleen de printersoftware cups te installeren en te configureren. Dat programma ondersteunt ook nog AirPrint, zodat je direct vanuit de applicaties op je iPhone/ iPad teksten en foto’s naar de printer kunt sturen.

De Pi als FTP-server is ook al geen moeite. Hij is dan perfect te bedienen met elke FTP-client, bijvoorbeeld Filezilla op de pc of FTPManager voor iOS en AndFTP voor Android. Je moet dan wel een flinke usbstick of nog beter een externe harde schijf aan de USB-poort hangen, anders heb je nauwelijks opslagruimte. Een flinke uploadsnelheid heb je dan ook wel nodig, als je bestanden tenminste via internet wilt benaderen. Het opzetten van een eigen webserver is met Linux plus Apache, MySQL en Python (LAMP) ook makkelijk te doen. Het artikel op pagina 135 in deze c’t beschrijft hoe je met de Pi je eigen mailserver kunt bouwen.

Met een of twee usb-schijven eraan maak je van de Pi een zeer energiezuinige NAS (Network Attached Storage). Je moet er wel aan denken dat externe harde schijven een eigen voeding moeten hebben, of je moet ze aansluiten op een actieve usb- hub en niet rechtstreeks op de Pi. De usb-poorten van de kleine Pi kunnen niet genoeg stroom leveren om een harde schijf te laten draaien. In het verlengde hiervan kun je met de Pi ook een eigen cloudoplossing maken voor het synchroon houden van je documenten op al je computerapparaten. De app ownCloud komt daarbij goed van pas.

Domotica en robotica

Dankzij zijn vrij te gebruiken General Purpose I/O-aansluitingen (GPIO) is de Raspberry Pi ook prima geschikt voor elektronica-experimenten. Enkele van de GPIO’s hebben standaard al een functie meegekregen: I2C, SPI, UART en een PWM-uitgang. Alle GPIO’s werken met een signaalsterkte van 3,3 V. Als je elektronica wilt aansturen die met 5 V werkt, heb je een omvormer nodig. De GPIO’s zijn via de software afzonderlijk aan te sturen. In het simpelste geval doe je dat met bash-commando’s, om via het bestandssysteem de toestanden van de pins te zetten of uit te lezen. Zo activeer je met de commando’s

sudo su –

echo “17” > /sys/class/gpio/export

echo “out” > /sys/class/gpio/gpio17/direction

echo “1” > /sys/class/gpio/gpio17/value

GPIO-pin 17 als uitgang en geef je hem de logische toestand 1, dus 3,3 V. Om bijvoorbeeld GPIO 7 als ingang te schakelen en uit te lezen, gebruik je de volgende commando’s (als root):

echo “7” > /sys/class/gpio/export

echo “in” > /sys/class/gpio/gpio7/direction

cat /sys/class/gpio/gpio17/value

Daarnaast is er het gratis beschikbare Python-pakket RPi.GPIO waarmee je de in- en uitgangen makkelijk kunt aansturen. Als je al ervaring hebt met het programmeren van de Arduino, dan zul je de WiringPibibliotheek weten te waarderen. Daarmee kun je zelfs de enige PWM-uitgang (Pulse- Width Modulation) van de Raspberry aansturen, waarbij je wel moet bedenken dat de in de bibliotheek genoemde pins niet overeenkomen met die van de Raspberry. Pin 1 is eigenlijk GPIO 18. Details staan op de site van Wiring Pi.

Sommige van de GPIO's kunnen meerdere functies hebben. Bij het programmeren moet je er dus op letten dat de verschillende functies elkaar niet dwarsbomen.

Met zijn GPIO-pins en extra hardware in de vorm van sensors, printboards, controllers, eventueel een Arduino-board et cetera, vormt de Pi een prima basis voor homeautomatisering oftewel domotica. Hetzelfde geldt voor robotprojecten en elektronische kunstprojecten. Het internet staat vol met de meest uiteenlopende elektronicaprojecten met de Pi. Op de site van de elektronicastore Adafruit staan bijvoorbeeld diverse tutorials voor projecten met de Pi, uiteenlopend van een Raspberry Pi Bitcoin miner en een grote thermometer met klok tot een internetradio met Pandora. De benodigde onderdelen kun je natuurlijk via een enkele muisklik in de store bestellen.

Bij domotica kun je ook denken aan beveiliging, en dat kan prima met de door het Pi-team ontwikkelde HD-cameramodule. Daar moet je natuurlijk zelf weer een behuizing bij verzinnen. Overigens bestaat hier ook al een prima project van, zodat je het wiel niet helemaal opnieuw hoeft uit te vinden: PrivateEyePi. Dat is een open alarmsysteem dat je zelf kunt bouwen en programmeren. De maker (bekend als ‘Gadjet Nut’) heeft het hele systeem nauwkeurig gedocumenteerd, inclusief onderdelenlijstjes met prijzen, bedradingsschema’s en de bijbehorende programmeercode. Je kunt bewegingssensors gebruiken of schakelaars die aan deuren en ramen kunnen worden bevestigd. Er wordt ook uitgelegd hoe je camera’s kunt toevoegen en zelfs temperatuurmeters om te zien of je verwarming wel goed werkt. Je kunt alles monitoren via je computer of smartphone (zie de link onderaan dit artikel).

Voor het experimenteren met de I/O-pinnen kun je afgedankte moederbordkabels van usb-slots gebruiken. Je knipt de usbaansluitingen eraf en je soldeert pinnen aan de kabeltjes...

... Die zijn dan makkelijk in een breadboard te steken.

Leren programmeren op de Pi

Terug naar het uitgangspunt: leren programmeren. Raspbian wheezy heeft standaard Python en IDLE, de ‘integrated development environment for Python’ staat dan ook prominent op de desktop. Daarnaast vind je via het menu ook Scratch en Squeak. Scratch is een programmeeromgeving waarmee je animaties en games kunt maken door instructieblokjes aan elkaar te klikken. Zoals de meegeleverde voorbeelden laten zien, zijn er redelijk uitgebreide interactieve programma’s mee te maken, inclusief loops en if-this-than-thatprocedures. Squeak is een opensource implementatie van SmallTalk.

In de programmeeromgeving Scratch bestaat de code uit kant-en-klare blokken die je onder elkaar klikt. Je kunt het resultaat meteen bekijken.

Programmeercursussen voor beginners kun je natuurlijk overal vandaan halen, maar cursussen specifiek met de programmeertools op de Raspberry Pi vind je het makkelijkst in het online magazine The Mag Pi, dat nu in zijn tweede jaargang zit. Alle afleveringen van dit maandelijkse magazine zijn gratis als pdf te downloaden via de site of via de app. Daarin staan de rubrieken ‘The Scratch Patch’ en ‘The Python Pit’, die je stap voor stap de basis van het programmeren in die omgevingen bijbrengen. Maar ook programmeertalen als Ada, Charm, C++ en Java komen aan bod, evenals de simpele assembleertaal Cesil.

Conclusie

Met het enthousiasme waarmee hij is ontvangen en de groeiende schare fans is de Raspberry Pi hard op weg om een plekje te bemachtigen in de memorabele klasse van de Acorn, de Commodore 64 en de MSX. Voor iedereen die niet bang is om te knutselen met Linux en hardware heeft hij wel iets te bieden. De toepassingsmogelijkheden zijn vrijwel onuitputtelijk, afhankelijk van je fantasie. Zoek op Youtube en je vindt de meest fantastische of verschrikkelijke projecten met de Pi, van nuttig tot ‘omdat het kan’. Het succes van de kleine Pi heeft ook andere fabrikanten gestimuleerd om kleine goedkope Linux-computers op basis van de ARM-processor op de markt te brengen, zoals de BeagleBone Black, die nog krachtiger is dan de Pi (45 euro bij Conrad.nl) en de ‘Utilite’ (compleet met behuizing voor 99 dollar). Dus wie weet wat er zich nog allemaal gaat ontwikkelen op het gebied van goedkope minicomputerboards en hun toepassingen. (jmu)

Raspberry Pi: technische specificaties

Literatuur

[1] Ronald Eikenberg, Raspberry Print, Energiezuinige printserver met AirPrint, c’t 9/2013, p.141

[2] De officiële website van de Raspberry Pi Foundation met nieuws, downloads, forum en faq’s: www.raspberrypi.org

www.ct.nl/softlink/1310128

Extra

Troubleshooting for noobs

Wanneer je de image op de SD-kaart hebt gezet en de kaart in de Raspberry Pi gestoken, kun je de computer opstarten door de micro-USB-stekker van de voeding in de Pi te steken. Daarna moeten behalve de rode led ook een of meer groene statusleds op de Pi (in het hoekje naast de usb-poorten) gaan branden. Brandt alleen de rode powerled en start het systeem helemaal niet op, dan zit de SD-kaart niet goed in het slot of is er bij het overzetten van de image naar de SD-kaart iets misgegaan of is de gebruikte SD-kaart niet compatibel met de Pi. In de laatste gevallen is het het beste om het hele proces te herhalen en/of een andere SD-kaart te gebruiken. Niet ieder merk/type SD-kaart is namelijk compatibel met de Pi.

Raw-image op SD-kaart zetten

Wanneer je het NOOBS-pakket niet wilt gebruiken, kun je elk systeem ook als een aparte image in een ziparchief downloaden. Dat zipbestand moet je nog uitpakken, zodat je een IMG-bestand overhoudt. Dat bestand kun je met een imagingprogramma op de SD-kaart zetten.

Onder Windows kun je daar Win32 Disk Imager voor gebruiken (zie de link onderaan dit artikel). Het programma wijst zich vanzelf: de plaats van het imagebestand opgeven en de stationsletter van de SDkaart, daarna verloopt alles vanzelf.

Onder Linux gebruik je de commandline tool dd. Steek de SD-kaart in de computer en open een terminalvenster. Typ daarin df -H om een lijst van alle drives inclusief hun grootte te krijgen. Daarmee kun je de juiste aanduiding voor je SD-kaart ontdekken. Vaak wordt de geheugenkaart onder /media gemount. Je SD-kaartlezer kan bijvoorbeeld aangeduid zijn met /dev/mmcblk0. Typ in dat geval het volgende commando in:

sudo dd if=/home/Username/downloads/2013-05-25-wheezy-raspbian.img of =/dev/mmcblk0

Achter if= staat het pad naar het IMG-bestand dat je gedownload en uitgepakt hebt. Na of= volgt de apparaataanduiding van de kaartlezer waar de SD-kaart inzit. Als dat bijvoorbeeld /dev/mmcblk0p1 was, moet je de p1 aan het eind weglaten. Was het /dev/sdc1, laat dan het cijfer aan het eind weg.

Vergeet niet dat bij deze acties alle bestaande gegevens op de SD-kaart onherroepelijk gewist worden. Als je de verkeerde stationsaanduiding gebruikt, verdwijnen bijvoorbeeld alle bestanden op je harde schijf!

Deel dit artikel

Lees ook

Dit kun je verwachten als je ChatGPT als hacking-tool wilt gebruiken

Kun je ChatGPT gebruiken als hacking-tool? We neigden naar de duistere kant en onderzochten of de assistentie van een AI van elke scriptkiddie een eli...

Raspberry Pi GPIO pinnen: een overzicht van de aansluitingen

Een kleine Raspberry Pi board is zo volgepakt met alle componenten dat er geen ruimte meer over was om de 40 GPIO pinnen van informatie te voorzien. O...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er