abonneren

Headless Raspberry Pi via netwerk installeren

Raspberry Pi via netwerk installeren
De eenvoudigste manier om een headless Raspberry Pi op te zetten is via het netwerk. Dan log je via het ssh-protocol op je Pi in, naar keuze via ethernet of wifi. Met de Raspberry Pi Zero en Zero W is het zelfs mogelijk om een netwerkverbinding op te zetten via een usb-kabel.

Als je je Pi opstart vanaf het image van Raspbian dat je in het vorige deel van deze workshop hebt gedownload, draait Raspbian wel, maar heb je een toetsenbord en scherm nodig om erop in te loggen. De ssh-toegang is immers standaard uitgeschakeld om misbruik door onbevoegden te voorkomen.

De oplossing is gelukkig eenvoudig. Steek het micro-sd-kaartje in je pc. Windows herkent daarop de fat32-partitie ‘boot’ en opent die in Windows Verkenner. Krijg je de vraag om een niet-herkende partitie te formatteren, doe dat dan niet!

Vink eerst in het menu Beeld de optie Bestandsnaamextensies aan. Rechtsklik dan op een lege plaats in die partitie en maak een nieuw tekstdocument aan met de naam ssh. Verwijder wel de extensie .txt en wanneer je de vraag krijgt of je dat echt wilt, bevestig je je keuze. Door dit bestand dat je nu hebt aangemaakt, schakelt Raspbian de volgende keer dat het besturingssysteem opstart de OpenSSH-server in, zodat die elke keer bij het opstarten automatisch mee opstart.

Haal de micro-sd-kaart uit je pc, steek hem in je Pi, sluit je Pi via een ethernetkabel op het netwerk aan en start het minicomputertje op.

Inloggen via PuTTY

Het eerste wat je nu te weten dient te komen, is het ip-adres van je Pi op je netwerk. Een eenvoudige manier is om in de ‘dhcp leases’ van je router te kijken. In die lijst vind je voor elk toestel dat een ip-adres heeft gekregen van de dhcp-server op je netwerk het ip-adres, het mac-adres en de naam waarmee het toestel zichzelf identificeert. Raspbian is standaard zo geconfigureerd dat het de naam raspberrypi gebruikt. Een andere aanwijzing is dat het mac-adres van elke Raspberry Pi begint met b8:27:eb.

Heb je het ip-adres gevonden, open dan het programma PuTTY, verzeker je ervan dat in het hoofdvenster SSH aangevinkt staat en vul bij Host Name (or IP address) het ip-adres in. Laat het poortnummer op 22 staan. Klik op Open om de verbinding te starten.

Omdat het de eerste keer is dat je op de Pi inlogt via ssh, krijg je een gevaarlijk ogende waarschuwing (“PuTTY Security Alert”). Dat doet PuTTY omdat het de host key (een unieke beveiligingssleutel) van je Pi nog niet kent. Klik op Ja om de host key in PuTTY op te slaan, zodat je de volgende keren deze waarschuwing niet meer krijgt.

Daarna vraagt PuTTY je achtereenvolgens om een gebruikersnaam en wachtwoord in te voeren. Als gebruikersnaam voer je pi in en als wachtwoord raspberry. Het wachtwoord wordt niet getoond terwijl je typt. Je bent nu ingelogd en kunt opdrachten op je Pi invoeren.

Raspberry Pi via netwerk installeren

Wifi configureren

Tot nu toe gingen we ervan uit dat je Pi via een ethernetkabel met je thuisnetwerk verbonden is. Raspbian haalt dan immers automatisch een ip-adres op van je dhcp-server. Je hoeft dan alleen nog maar in te stellen dat de OpenSSH-server opstart.

Maar wat als je geen ethernetkabel wilt of kunt aansluiten? Of als je headless systeem een Raspberry Pi Zero W is, die geen ethernetconnector heeft? Dan dien je na het inschakelen van ssh ook je wifi-netwerk nog te configureren voor Raspbian. Maak daarvoor een tekstdocument met de naam wpa_supplicant.conf aan in de bootpartitie van Raspbian (bevestig weer dat je de extensie .txt wilt veranderen) en open het in WordPad (of een goede editor als Notepad++). Voer in dit bestand de volgende regels in:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev network={   ssid="SSID"   psk="WACHTWOORD" }

Vul hierin uiteraard in plaats van SSID en WACHTWOORD het ssid en wachtwoord voor je eigen wifi-netwerk in. Sla dit configuratiebestand op, haal de micro-sd-kaart uit je pc en steek hem in je Pi. Zodra je het ip-adres van je Pi hebt gevonden, kun je inloggen via PuTTY.

Inloggen via usb

Op de Raspberry Pi Zero en Zero W is er nog een andere manier: een netwerkverbinding via de usb-on-the-go-poort (let op: dat is de micro-usb-aansluiting waar USB bij staat, niet degene waar PWR bij staat). Deze functionaliteit moet je eerst nog inschakelen.

Open daarom na het inschakelen van ssh het bestand config.txt in WordPad (Kladblok opent het bestand verkeerd) en voeg helemaal onderaan de volgende regel toe:

dtoverlay=dwc2

Open daarna het bestand cmdline.txt met WordPad en voeg tussen rootwait en quiet de optie

modules-load=dwc2,g_ether

toe. Let op dat voor én na deze optie een spatie staat. Sla het bestand op en haal de micro-sd-kaart uit je pc. Download dan de RNDIS-driver voor de Raspberry Pi Zero. Pak het zip-bestand uit. Steek de micro-sd-kaart in je Pi, sluit de Pi via de usb-on-the-go-poort op je computer aan (die geeft je Pi ook stroom) en wacht even.

Windows 10 herkent je Pi Zero standaard als serieel usb-apparaat. Open daarom het Apparaatbeheer, klik op Poorten, klik dan met rechts op Serieel USB-apparaat, kies voor Stuurprogramma bijwerken / Op mijn computer zoeken naar stuurprogrammasoftware en dan Ik wil kiezen uit een lijst met stuurprogramma’s op mijn computer. Klik op Bladeren, navigeer naar de map van de driver die je hebt uitgepakt en selecteer het bestand RNDIS.inf. Klik op Volgende om de driver te installeren.

Raspberry Pi via netwerk installeren

Adres achterhalen met Zeroconf

Dan is de vraag welk ip-adres je Pi via die RNDIS-driver heeft gekregen. Gelukkig draait op Raspbian de avahi-daemon, die Zeroconf ondersteunt (ofwel Zero Configuration Networking). Dan heb je alleen nog op je Windows-computer Zeroconf-ondersteuning nodig.

Als je al Apple-software zoals iTunes hebt geïnstalleerd, draait er al Zeroconf-software op je pc. Indien niet, installeer dan de Apple-software Bonjour Print Services voor Windows. Bonjour is de naam die Apple aan Zeroconf geeft.

Daarna log je via PuTTY op je Pi in door als hostnaam raspberrypi.local in te voeren en je gebruikersnaam en wachtwoord in te voeren. Dat werkt overigens alleen als er geen andere Pi in je netwerk onder dezelfde naam bereikbaar is. Schakel indien nodig even tijdelijk het netwerk van je pc uit.

Geschreven door: Koen Vervloesem op

Category: Workshop, Netwerk

Tags: netwerk, Raspberry Pi, putty