De Raspberry Pi is binnen en nu gaan we hem aan de praat krijgen. Het begint met een harde schijf.
Henk Siewert |
In PC-Active 309 kondigde ik al aan dat ik meer zou vertellen over, onder andere, het aansluiten van een harde schijf. Dat ga ik dan nu ook doen. Houd hierbij wel in gedachten dat ik pas ben begonnen met de Raspberry Pi en Linux. Het is dus best mogelijk dat ik dingen doe die een doorgewinterde Linux-gebruiker anders en misschien simpeler op zou lossen. Maar ik doe het op mijn manier, omdat ik het dan zelf ook nog kan begrijpen. Weet je betere manieren, dan hoor ik dat graag en kom ik daar in volgende afleveringen op terug.
Rechtzetten
Eerst wil ik echter even iets rechtzetten. In PC-Active 309 wordt er gesproken over microcontrollerbordjes met daarbij de Raspberry Pi. Voor alle duidelijkheid: de Pi is géén microcontroller. Een microcontroller is opgebouwd volgens het Harvard-principe. Een microprocessor is opgebouwd volgens het Von Neumann-principe. Grofweg kun je zeggen dat bij een microcontroller alles, inclusief het geheugen, op één chip is ondergebracht. Bij een microprocessor is vrijwel alles op aparte chips ondergebracht. Volgens deze kwalificatie is een Pi dan een microprocessor. Misschien nog wel aardig om op te merken dat Von Neumann het principe weer gejat had van Turing. Maar dat is een weer een verhaal apart.
Je kunt de Pi beter een mini-moederbord noemen. Om de Pi een beetje fatsoenlijk te kunnen gebruiken, moeten er nogal wat extra dingen aan worden aangehangen.
De Raspberry Pi behoorlijk opgetuigd. Het geheel is nogal omvangrijk geworden en schreeuwt eigenlijk om een flinke kast om het allemaal in te bouwen. |
De marketingafdeling van de Raspberry Pi Foundation is er goed in geslaagd om de Pi als een minicomputer in de markt te zetten. Maar eigenlijk is dat verlakkerij. Kijk maar eens op de foto wat er allemaal nodig is om hem te laten werken. Hoezo, creditcardcomputer?
Bovendien zijn de aansluitingen vanwege de veel te kleine plugjes heel kwetsbaar. Het heeft mij al een HDMI-verloopkabel gekost. Er is best wel het nodige aan te merken op het ontwerp. Zelfs de toeleveranciers van Pi-uitbreidingen zijn behoorlijk kritisch. Maar er valt wel mee te werken hoor, dus we gaan vrolijk verder.
Bootable harddisk
Hoewel ik niet van plan was om de Pi als een op zichzelf staande computer uit te proberen, was ik toch wel nieuwsgierig geworden naar hoe ver je kunt gaan met het ding uit te breiden. Een van de eerste dingen waar je dan aan denkt, is het aansluiten van een harde schijf. Nu heb ik, net als vele andere computersleutelaars waarschijnlijk, een aardige verzameling nog goede harde schijven liggen. Ik heb er een geformatteerd op het Windows NTFS-format en dat bleek prima te werken. De harde schijf zit ingebouwd in een behuizing met een usb-interface. Had ik daar zomaar 80GB extra opslag. Linux bezit wel een eigen format, dat heet geloof ik ext4, maar dat kun je niet zomaar aanmaken. Bovendien wilde ik de schijf ook nog voor Windows kunnen gebruiken, mocht dat nodig zijn.
Omdat ik de Pi niet alleen gebruik voor mijn artikelen in PC-Active, wilde ik verschillende systemen kunnen draaien. Dus kocht ik extra sd-kaartjes en zette daar NOOBS (New Out Of the Box Software) op om met verschillende configuraties te kunnen werken. Toen ik een van die kaartjes in de Pi had gezet om hem voor de eerste keer te laten booten, viel me iets op: voordat het systeem opstartte om voor de eerste keer geconfigureerd te worden, hoorde ik uit de harde schijf een hele serie ‘plok’- en ‘tokgeluiden’ komen. Het is nog zo’n lekker dikke, oude IDE-schijf waarvan je de koppen nog hoort verplaatsen, net zoals vroeger bij de oude 8- en 5¼-inch-floppen. Bij de 8-inch-floppen kon je het trouwens gerust ‘bonken’ noemen. Je kon toen nog horen of iets werkte of niet… Heel langzaam begon bij mij het idee te dagen dat de Pi misschien wel probeerde te booten vanaf de harddisk!
Uit verhalen op internet had ik begrepen dat je de Pi sinds 2017 vanaf een harde schijf kunt booten door hem op ‘USB boot OTP bit’ te zetten. Maar dat is een eenmalige actie, een zogenaamde write once gebeurtenis die je later niet meer terug kunt draaien. Ook had ik ergens meegekregen dat gewerkt werd aan een versie van Buster, de huidige versie van de besturingssoftware, waarmee je rechtstreeks zou kunnen booten, zonder de USB-boot OTP bit. Zou ik misschien zo’n versie nu gedownload hebben?
Ik zette, in al mijn optimistische opwinding NOOBS op de harde schijf, haalde het sd-kaartje eruit en startte de zaak opnieuw op. En wat dacht je? Niks. Helemaal niks gebeurde er. Dat viel tegen. Totdat ik me realiseerde dat het getok en geplok van de harddisk gebeurde met een sd-kaartje met een nog niet geconfigureerde NOOBS erop. Dus snel die situatie weer hersteld, maar nu met een nog niet geconfigureerde NOOBS op de harde schijf én op een 8GB sd-kaartje.
‘Lo and behold!’ De harddisk maakte nu echt geluiden alsof er inderdaad van gelezen werd. En ja hoor, het duurde even, maar daar verscheen het vertrouwde scherm voor het configureren van NOOBS. Compleet met een menu waaruit ik kon kiezen om de configuratie te starten vanaf de sd-kaart óf vanaf de harde schijf.
Het NOOBS-menu. Onderaan zie je dat ik de configuratie wil opstarten vanaf de harde schijf |
Dus koos ik, dat zal je niet verbazen, voor de hd en had ik na enige tijd een bootable harde schijf. Waarom de sd-kaart bij het booten in de Pi moet zitten, is me nog steeds een raadsel. Maar het werkt als een raket!
Even dacht ik dat het misschien wel een toevalstreffer was geweest. Ik heb in het verleden wel eens vaker iets gedaan dat eigenlijk niet kon. Maar soms kon ik dat dan om een of ander duistere reden niet reproduceren. Maar ik heb deze handeling nu al meerdere keren uitgevoerd en elke keer is het weer gelukt. Het is bij het maken van een opstartbare harde schijf voor de Pi dus belangrijk dat er op de sd-kaart én op de harde schijf een nog niet-geconfigureerde NOOBS staat. En het sd-kaartje moet bij het opstarten in de Pi blijven zitten. Het blijkt dat het systeem ook het nodige verandert aan de sd-kaart. Waarschijnlijk staat het /boot-deel op de sd-kaart. Heb tijdens de hele procedure wel geduld. Soms lijkt het of er niets gebeurt, maar dan is het systeem gewoon hard aan het werk.
Handige monitor
Nu we een harde schijf aan de Pi hebben hangen, wordt het ook interessant om bestanden waar we mee willen gaan werken van de Windows-pc waar ze op staan over te zetten naar de Pi. Je kunt natuurlijk steeds de harde schijf wisselen tussen de Pi en de Windows-machine. Maar dat lijkt me op den duur niet vol te houden.
De Pi en de Windows-computer, in mijn netwerk bekend onder de naam ‘Turing’, maken gebruik van dezelfde monitor. Voor het Pi-project heb ik de beschikking gekregen over een AOC-2490W1 24inch-monitor, een heel leuke monitor waar goed mee te werken is. Net als vele andere monitoren die tegenwoordig worden gemaakt, is hij vooral sterk in het weergeven van afbeeldingen. Voor het goed weergeven van - vooral kleine - tekst bij het werken met Windows moet de monitor wel met een ClearType-wizard goed worden ingesteld. Maar dat is waarschijnlijk een probleem van Windows. Bij het gebruik van de Pi doet zich dat verschijnsel niet voor.
AOC-monitor met Windows-systeem. Op deze monitor is ook de Pi aangesloten. |
Met het ‘mini- |
Het mooie, en vooral handige, van deze monitor is dat er drie verschillende aansluitingen op zitten: HDMI, VGA en een DisplayPort. Maar, en nu komt het, je kunt heel makkelijk schakelen tussen die verschillende ingangen. Dat kan met een soort ‘mini-stuurknuppeltje’ op de achterkant van de monitor. Wat mij betreft mogen ze die mogelijkheid volgende keer ook op de voorkant zetten. Een stukje software waarmee je via het toetsenbord om kunt schakelen zou ook handig zijn. Maar goed, er valt zo prima mee te werken.
Bestanden overbrengen
Een van de projecten die ik op de Pi wil gaan uitproberen, is of ik daar mijn meteo-programma’s op kan draaien. Ik ontwerp en bouw zowel de hardware als de software voor meteorologische meetinstrumenten. Dat doe ik onder andere met gebruikmaking van Arduino’s, Texas Instruments LaunchPads en Processing. Het zou mooi zijn als dat ook op de Pi zou kunnen. Het programmeerwerk hiervoor doe ik op ‘Engelbart’, mijn hoofdcomputer, uitgerust met een tekstvriendelijke Acer-monitor.
Engelbart, mijn hoofdcomputer |
Als programmeer-editor werk ik met NotePad++. De bestanden worden opgeslagen op ‘Turing’, mijn Windows-pc, waarop ook de code naar de verschillende bordjes wordt gestuurd. Ik zocht dus een manier om de programmacode van mijn Processing-programma’s rechtstreeks naar de Pi te kunnen kopiëren.
Na enig gezoek kwam ik uit bij het programma WinSCP. WinSCP is qua gebruik en uiterlijk bijna hetzelfde als de Windows File Explorer. Je kunt dan ook heel eenvoudig bestanden van de ene computer naar de andere verslepen.
WinSCP (boven) en Windows Explorer |
Het netwerkicoon op de werkbalk geeft het IP-adres weer |
Voor de uitwisseling van de bestanden wordt gebruikgemaakt van het SFTP-protocol. Voor het inloggen van de Pi moet je weten welk IP-adres deze heeft op het netwerk. Dit kun je vinden door met de muiscursor op het netwerkicoon op de werkbalk te gaan staan.
Je ziet daar eth0: 192.168.1.100/24 staan. Bij jouw systeem kan dat een ander nummer zijn. Trek je van de /24 niets aan, dat kun je vergeten. Bij het aanmaken van een inlogbestand voor WinSCP heb je dit IP-nummer nodig.
Met WinSCP wissel je veilig bestanden uit tussen de lokale en de externe computer. |
Hierboven zie je hoe je de gegevens moet invullen. Let er vooral op om het SFTP-protocol te kiezen en voor Poortnummer 22. De standaard-gebruikersnaam is pi en het wachtwoord is het wachtwoord dat je bij het configureren van de Pi hebt ingevoerd.
Volgende keer gaan we werken met Processing en Arduino-IDE. We gaan ook een Arduino aan de Pi hangen en programmeren en we gaan bluetooth in gebruik nemen. Als er dan nog ruimte over is, sluiten we ook nog een usb-microscoop aan. Vragen zijn ondertussen welkom via de website www.swtobservatory.nl