Raspberry PiBijgewerkt december 2020. Hoewel het verhaal begint in 2012, is de beschrijving van de basis SW installatie bijgewerkt naar de huidige (2020) situatie; zou voor alle Pi's moeten gelden. Tweede helft pagina is nog wat ouder (stuk over X-windows etc nog checken). Binnen (4 juli 2012)... De grote aankondiging in 2012: de Raspberry Pi, een '$25 Linux computer'. OK, de zaak ligt iets genuanceerder, maar toch was dit de doorbraak voor dit type computertjes. Oorspronkelijk is dit project in de UK opgezet om kinderen op scholen weer in aanraking te laten komen met 'echte computers' in plaats van kant-en-klare kastjes. Ondertussen is dit wereldwijd 'de standaard' voor low-cost Linux-gebaseerd hobby-platforms, door velen gekopieerd. Ik heb er destijds vrij vroeg een te pakken gekregen (juli 2012): een van de eerste B-versies van $35 met ethernet-aansluiting, voor krap €41 incl invoerrechten/verzendkosten. Ik had er twee; een als server, en een bijvoorbeeld voor de infrarood camera. Al in augustus 2012 een presentatie voor Raspberry Pi 1B beginners over gehouden bij EmSE: Embedded Systems Eindhoven. Binnen (11 feb 2021)... Half maart 2016 voor de server overgegaan op de Raspberry Pi versie 3, met meer geheugen en rekenkracht; nu voor €42. En in april 2018 de Raspberry 3B+, met 5 GHz WiFi, etc. Deze pagina begint toch nog met mijn Raspberry Pi 1B verhaal, want dat is toch hoe ik begonnen ben. Pas aan het einde van deze pagina de Raspberry Pi 3B. Al lijken ze veel op elkaar, er zijn toch wel belangrijke verschillen... Ondertussen is ook de Raspberry Pi 4 is uit (midden 2019; eindelijk met gigabit Ethernet, en tot 8 GB RAM). Zo veel rekenkracht heb ik niet nodig, en het energie-gebruik is daarmee ook gestegen: voorlopig blijf ik op de 3 serie. En nu ook: de Raspberry Pi Pico!!! Geen Linux, maar een '$4' embedded processor vergelijkbaar met de Arduino Nano (maar dan veel krachtiger). Meer info op de 'embedded' paginas. Bijhorende pagina's:
Wat is de Raspberri Pi: een klein computerprintje (credit-card formaat, behalve de dikte: ongeveer 8½ bij 5½ bij 2 cm) met voldoende kracht om een volledige Linux-omgeving (bijvoorbeeld Debian, Ubuntu of Android) inclusief grafische omgeving te draaien. En met connector waar je je eigen uitbreidingen op kan aansluiten (digitale I/O, I2C, SPI, ...), dus leuk om te hobbyen met bijvoorbeeld home control/domotica. De Raspberry Pi 1 bevat een 700 MHz ARM11 processor en video-coprocessor (Broadcom BCM2835), 256 of 512 MB werkgeheugen, HDMI-poort, SD-card interface, USB, audio etc. Zelf een 5-Volt (micro-USB) voeding toevoegen, plus optioneel een monitor, keyboard etc. Krachtig genoeg voor b.v. Blueray video playback. De Raspberry Pi 3 lijkt er erg op, maar heeeft toch veel krachtiger specificaties. Een Broadcom BCM2837 1.2 GHz Quad-core 64-bit ARM processor (A53), 1 Gbyte geheugen, WiFi/Bluetooth Low Energy en nog wat uitbreidingen. De 3B+ is een kleine uitbreiding daarop, met 5 GHz WiFi, BLE, 1.4 GHz klok, en nog wat verbeteringen. Meer info op de Raspberry Pi FAQ en Forum, en de Raspberry Pi HUB Wiki met tutorials, projecten en meer info. Op Techspot een artikel over de eerste setup en installatie. En hier nog een alternatief forum. Wat doe ik er mee? De belangrijkste toepassing voor mij is mijn home server, ik zag het als een energie-zuinige vervanger voor mijn NSLU2 file server die te krap begon te worden; zie mijn Raspberry server pagina: NAS/file, SSH, VPN, ... Vandaar ook mijn keuze voor Raspbian gebaseerd op Debian Linux als operating systeem; draait ook op de NSLU en ben ik bekend mee (is ook de basis voor het op mijn gewone computers gebruikte Ubuntu). Plus wat I/O experimenten (er zijn ook goedkope prototype-bordjes voor te krijgen maar ik ga zelf aan de slag): zie mijn Raspberry hardware pagina. Andere Raspberry Projecten
AlternatievenOverigens, dit is zeker niet de enige kleine low-cost computer, er zijn heel wat partijen die hun 'Pi' hebben uitgebracht. Banana Pi, Orange Pi, ... Kijk bijvoorbeeld op The 20 Best Raspberry Pi Alternatives Available in 2020, of Top Raspberry Pi alternatives for 2020. De voorbereidingInstallatie was in 2012 nog best wel een probleem (hier nog de oude Raspberry 1 trouble shooting guide). Ondertussen is het hele proces goed gestroomlijnd; is al door zoveel mensen gebruikt. Belangrijk is te weten hoe je de Raspberry gaat gebruiken: met display en toetsenbord/muis, of als 'headless' configuratie: op afstand via Ethernet aangesloten, maar zonder eigen scherm. Dit laatste is hoe ik hem gebruik; staat in de meterkast als server te werken, en ik zie hem alleen op afstand. Heb dus geen volledige desktop met applicaties nodig. Deze keuze bepaald wat je van de de Raspberry downloadpagina nodig hebt. En vast een lege SD-card (8 GB, class 10), de snoertjes (micro-usb en ethernet) en voeding (advies 5V/2A usb) bij elkaar zoeken.Pas (eind 2020) de oude Pi 1 opnieuw geïnstalleerd, hieronder de huidige moderne procedure. Ik ga voor een gestripte configuratie ("Manually install an operating system image"), en niet de standaard installer (zie ook de FAQ). Gekozen voor 'Raspberry Pi OS' (voorheen 'Raspbian') en wel de 'Lite' versie, een voor de Raspberry aangepaste minimale versie van Debian "Buster" (maar destijds begonnen met Debian 7 “wheezy”). De download is een 450 MB zip-archief dat uitgepakt moet worden, en vervolgens (voor uitleg en Windows zie de Wiki) met het Linux-commando dd op een SD-card van minimaal 4GB geplaatst moet worden. In mijn geval, op mijn laatste Raspberry Pi 3B+: sudo dd bs=128M if=2020-12-02-raspios-buster-armhf-lite.img of=/dev/mmcblk0 Maar, dit is niet voldoende... In vorige versies stond SSH automatisch
aan, nu moet het
blijkbaar op een headless Pi handmatig
aangezet worden
(veiligheid, wachtwoord is nog standaard, en zou dan vanaf het netwerk
door iedereen benaderbaar
zijn). Hiervoor moet je de gemaakte SD-card in je computer steken (als'ie
er niet nog in zat), en
handmatig een file ' sudo echo "ssh" >/media/kees/boot/ssh VoedingNetjes stoppen!Als je de RP3 stopt met Stoppen kan beter netjes met Er wordt gezegd dat je een goede voeding van 2.5 Ampere nodig hebt. Maar, hoe veel gebruikt'ie nu echt? Ik meet waardes tussen de 0.23 Ampère (rust) en 0.4 Ampère (SSL benchmark). Die 2.5 Ampèreis dus meer bedoeld als je ook nog bijvoorbeeld een harde schijf via de USB voedt, plus toetsenbord, muis en zo voort; en ook nog zwaar video speelt. Voor mij (geen display, niets op deUSB aangesloten behalve een extern gevoede harde schijf) zal 1 Ampère voldoende zijn, moet ik eens testen. Wel moet de voeding goed stabiel zijn. 0.4 Ampère bij 5 Volt is 2 Watt, een mooie waarde.Kan wat mij betreft gerust 24 uur per dag aan staan. Let wel op de kwaliteit van je USB-kabeltje; veel goedkope kabels hebben
bespaard op koper (dus
hele dunne draadjes, hoge weerstand). Als gevolg verlies je veel van de
spanning; zeker bij
piekbelasting. Na de update naar Raspbian Stretch (waar te lage spanning
nu door de kernel wordt
gemeld) stond de [ 977.606303] Under-voltage detected! (0x00050005) Eerste teken van levenDe eerste test is dus een 'headless' configuratie zoals ik die ook
uiteindelijk als server ga
gebruiken: alleen op voeding en met een Ethernet-kabel aangesloten op mijn
router, géén
display/keyboard. Na aanzetten gaat de rode led aan, en de groene OK-LED
knipperen, zag er dus goed
uit; knippert gedurende de boot van ongeveer 20 seconden. De Raspberry
krijgt automatisch via DHCP
een IP-adres van de router. Welk adres? Ik heb zelf met 'Fing'
op mijn Android
tablet gekeken wat er bij kwam; maar je kan ook in de configuratie-pagina
van je router kijken. Met
het zo gevonden IP address raspberry '.
Yes! Hieronder de output van mijn eerste Raspberry Pi 1B
in 2012. (bij
de 3B+ was dit iets anders): Linux raspberrypi 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31
BST 2012 armv6l StatisticsEven wat statistics voor de Raspberry Pi 1: 2.6x zo snel als mijn NSLU2 (en kan zelfs naar 1 GHz overgeklokt?). Check met BogoMIPS: cat /proc/cpuinfo | grep Bogo Ps: vanaf kernel 3.8 is BogoMIPS: 2.00; zie link... Volgens Daar is'ie dan. OK, niet wereldschokkend, maar de basis is er. Nu eerst
Wat je nu ook moet doen is een nieuw wachtwoord instellen met passwd.
En nu opnieuw
starten... Maar, ik wil sowieso niet via een wachtwoord maar met een ssh
key inloggen; is veiliger. Nu heb ik
al eerder een public/private key paar aangemaakt (ben tenslotte aan het
herinstalleren) en wil
dezelfde key blijven gebruiken; hoef dus alleen maar de oude bewaarde De laatste softwareDe eerste actie is nu zorgen dat de zaak up-to-date is, in ieder geval
(zie ook het uitgebreide
'Raspberry SW bijwerken' verderop de
pagina): Linux Raspberry2 5.4.79+ #1373 Mon Nov 23 13:18:15 GMT 2020 armv6l GNU/Linux BasisconfiguratieBackup!Maak ook eens een back-up van je SD-card. Ik heb meegemaakt dat aan het einde van een update de Raspberry niet meer op kwam... Oops. Gelukkig had ik eerder met dd een backup van de SD-card gemaakt: sudo dd bs=1M if=/dev/sd<x> of=raspbian_backup.bin Afhankelijk van hoe je je SD-card in je systeem stops kan deze opduiken
als bijvoorbeeld
Ps: je kan zelfs zo'n backup image mounten (openen/lezen) op je linux computer. In Wat betreft de swap-ruimte: vroeger moest je zelf ook een 1 GByte
swap-partitie aanmaken. Maar,
de huidige Raspberry OS gebruikt een ander swapmechanisme: een swapfile in
Voor een langere levensduur /dev/mmcblk0p2 / ext4 defaults,noatime,data=writeback,commit=120,errors=remount-ro 0 1 Instellen van de firewall: iptables (en evt ip6tables) configureren, zie mijn firewall pagina. (met gebruik van de module iptables-persistent om automatisch de regels te laden bij boot). Vervolgens extra gebruikers zoals mezelf toevoegen met adduser,
en zorgen dat de 'uid'
etc van de gebruikers
synchroon
lopen met mijn andere systemen (raspberry verplaatst naar uid 1010,
mezelf op 1000). En mezelf
toegevoegd aan de lijst van users die sudo mogen gebruiken, kan
door toe te voegen aan groep
sudo: Tip: kijk ook met dmesg of er geen gekke foutmeldingen in je logs staan... Diversen
Opzetten vast IP adres (zie fixedip,
voorlopig even op
IPv6 heb ik overigens op sommige Pi's uitgezet, wordt bijvoorbeeld in mijn camera-configuratie niet gebruikt. Zie How to disable IPv6 in Raspbian. Schijnt voor de RPi-1 stabieler te zijn. Wat extra programma's geïnstalleerd viasudo
apt-get install , zoals het handige screen.
Handmatig mounten van een externe USB stick of disk kan met het
onderstaande commando (ook nog
een keertje in sudo mount -o noauto,noexec,noatime,errors=remount-ro,uid=1000,gid=100,fmask=113,dmask=002 /dev/sda1 /mnt/stick PerformanceWat benchmark informatie: hoe snel is'ie eigenlijk? Mijn oorspronkelijke standaard 700 MHz Raspberry 1 (met software raspbian build #272, 7 augustus 2012):
De Raspberry Pi kan een stuk sneller door in config.txt te optimaliseren. Zie bijvoorbeeld SD Card performance in R-Pi onboard slot. De core, het geheugen en andere bussen overklokken kan ook via deze file, core tot maximaal iets rond 1 GHz. Nog eens uitproberen, voorlopig eerst andere zaken. Uiteraard gaat het energiegebruik ook omhoog bij overklokken. En de snelheid van de Raspberry Pi 3, inderdaad 10x die
van de Raspberry 1? Een
snelle test met '
X-windows zonder hdmi-TVX starten?De grafische LXDE omgeving start niet automatisch; gebruik startx
hiervoor. X stoppen zou
moeten met: Zoals gezegd, ik had er nog geen display aan hangen, en overigens ook geen toetsenbord en muis (alles gaat via SSH op mijn desktop), ik wil de raspberry voorlopig toch 'headless' gebruiken. Maar, dat wil niet zeggen dat je geen grafische programma's kunt draaien, integendeel. Ik zit nu tenslotte ook achter een beeldscherm: van mijn desktop. En, lang leve het X11 windows systeem: ik kan dus de applicaties op de Raspberry Pi gebruik laten maken van de X-server op mijn Ubuntu PC! Bijvoorbeeld handig als je files wilt bewerken op de Raspberry, met de leafpad editor (stuk makkelijker dan met nano of nog erger vi). Je moet hiervoor wel in Putty de X11 forwarding aanzetten (SSH → X11), of
je normale SSH config
goed zetten, of starten met -X. Ook is het nuttig de kees@DualCore:~$ xauth Alternatieve interfaceLXDE is niet iedereens smaak; lijkt wat bij elkaar geraapt. Gnome en KDE zijn te zwaar voor de Raspberry, maar Xfce is een alternatief. Start met startxfce. leafpad geeft nog wat issues omdat leafpad een Gtk app is:
verwacht een folder
Met TV zonder toetsenbordOndertussen (eind september) heb ik hem toch ook aan de TV gehangen.
Maar, hoe bedien je het dan
vanaf je bank? Je kan uiteraard een draadloos toetsenbord met muis op de
USB-poort aansluiten, maar
een ander alternatief is het gebruik van je Android telefoon/tablet met de
remoteDroid app (werkt ook
voor het bedienen van computers). Op
het scherm van je telefoon of tablet verschijnt er dan een toetsenbord en
mouse pad, om je
Raspberry (of andere computer) te bedienen. Op mijn Ubuntu PC werkt dit
prima, op de Raspberry moet
ik het nog proberen. Moet je wel java op je Raspberry
geïnstalleerd hebben (300 Mbyte...),
Raspberry SW bijwerkenVervanging voor NSLU2Veel van de configuratie gaat lijken op die van mijn NSLU2, dus kijk daar voor verdere stappen... Om de Raspberry Pi te updaten is een aantal stappen nodig. Voor de
regelmatige updates: ik zou
eerst wat ruimte op de SD-kaart vrijmaken (gebruik ' sudo apt-get autoclean; Jessie -> Stretch -> BusterEens in de zoveel jaar is er een nieuwe release van Debian, en dan ook
van Raspbian. Begonnen in
2012 met 'Jessie', nu (via 'Stretch'
naar
'Buster'. Kan zonder volledige herinstallatie, maar is
wat meer werk/risico: Maar, dit werkt niet de onderliggende kernel en bootfiles bij; hiervoor is nog een extra commando nodig. Is overigens niet iets wat je vaak hoeft te doen, hoogstens eens per jaar of zo.: # sudo apt-get install rpi-update; #
install als je hem nog
niet hebt Hiermee heb ik de laatste kernel, zie hieronder het verschil met het
commando ' # Origineel (nog op de Raspberri Pi 1B): En toen Buster -> BullseyeEn na de 2021 upgrade naar Buster nu mid 2022 door naar Bullseye (weer een Toys Story naam) ofwel Debian 11. Ook dat weer als upgrade op de draaiende installatie, zie vooral deze PiMyLife link voor enkele extra stappen. Let wel, zo'n upgrade wordt niet officieel ondersteund, maar toch werkte het bij mij. Redelijk gelukt, maar gaat altijd wel weer wat mis door nieuwe versies
van pakketten. In dit
geval gaf de MQTT server mosquitto
de nodige problemen, doordat 'Client ID's opeens nodig en uniek moeten
zijn... En Overigens heb ik soms het probleem dat niet alle packages worden
bijgewerkt, met de melding
' sudo apt-get --with-new-pkgs upgrade In plaats hiervan wordt wel Je kan zien welke versie van Debian/Raspbian draait (b.v. jessie
of stretch)
met het commando ' OK, tot zo ver... |
op mijn site |