Spiegazione: avvia facilmente il tuo Raspberry Pi Headless (su Linux)

Feb 10 2023
Il punto di partenza nel fantastico mondo di Raspberry Pis. Vuoi finalmente prepararti con il tuo Raspberry Pi? Ma non hai monitor o tastiera a portata di mano (ovvero sei senza testa)? Nessun problema, la mia guida ti mostra in semplici passaggi come configurare facilmente il tuo Pi e come abilitare automaticamente il WIFI.

Il punto di partenza nel fantastico mondo di Raspberry Pis.

Vuoi finalmente prepararti con il tuo Raspberry Pi? Ma non hai monitor o tastiera a portata di mano (ovvero sei senza testa)?

Nessun problema, la mia guida ti mostra in semplici passaggi come configurare facilmente il tuo Pi e come abilitare automaticamente il WIFI. Per seguire i comandi del terminale, è meglio se lavori su un sistema operativo Linux.

Oltre a elencare i semplici passaggi che devi seguire, spiego ogni configurazione in modo più approfondito in un modo adatto ai principianti. Credo che se capisci cosa stai facendo, puoi aiutarti meglio nel caso qualcosa vada storto. Perché anche con la migliore guida, possono sempre verificarsi problemi.

Suona bene? Lo penso anch'io.

Quindi iniziamo.

Se sei interessato solo a un breve riassunto, vai alla fine.

Requisiti

  • Raspberry Pi (ovviamente)
  • Alimentatore Raspberry Pi
  • Scheda MicroSD con sistema operativo Raspberry Pi installato ( video How-To )
  • Requisiti per l'avvio

Per il sistema operativo, consiglio Pi OS Lite perché quello standard viene fornito con elementi aggiuntivi che non ti servono per una configurazione headless (come un ambiente desktop).

Necessario per connettersi: SSH

SSH è il tuo migliore amico se vuoi lavorare senza testa con il tuo Pi.

SSH sta per Secure Shell ed è un protocollo di rete che consente l'accesso remoto e connessioni sicure ad altri dispositivi. Di solito è abilitato sulla porta 22 di un dispositivo.

Tramite SSH, possiamo connetterci al nostro Pi dal nostro vero PC: è come avere un terminale aperto sul Pi ma questo terminale viene visualizzato sul nostro monitor. Ciò ci consente di eseguire comandi come se stessimo lavorando direttamente sul Pi. Tutto ciò di cui abbiamo bisogno è l'IP del dispositivo a cui vogliamo connetterci, un utente e una password (mostrati alla fine della mia guida).

Per abilitare il servizio SSH è sufficiente creare un file chiamato ' ssh ' nella cartella di avvio della scheda sd. Per fare ciò, vai alla partizione di avvio della tua scheda SD (/boot) ed esegui il seguente comando:

$ touch ssh

Se il tuo file ha un'estensione, non funzionerà. Questo perché lo script SSH del sistema operativo Pi cerca semplicemente un file chiamato "ssh" e, se esiste, SSH è abilitato e il file viene rimosso. Nessun altro modo.

Quello a cui connettersi: un utente

Per motivi di sicurezza, non esiste più un utente predefinito su Pis. Ma per fortuna, crearne uno noi stessi è facile.

Abbiamo semplicemente bisogno di creare un file chiamato ' userconf.txt ', contenente un nome utente e una password crittografata nel formato YoUrUsErName:YoUrPaSsWoRd.

Vai di nuovo nella partizione di avvio della tua scheda SD (se non ci sei più per qualsiasi motivo) e crea il file con il seguente comando ( replace placeholders ):

$ echo "YoUrUsErNaMe:$(echo 'YoUrPaSsPhRaSe' | openssl passwd -6 -stdin)" > userconf.txt

Spiegazione dei comandi utilizzati

Se apri 'userconf.txt', vedrai il tuo nome utente e la tua password cifrata separati da due punti. Grazie a Linux per averlo fatto con una sola riga di comandi!

Se vuoi approfondire la magia di questo comando, clicca qui .

Ultimo ma non meno importante: configura il WIFI

L'ultimo file che dobbiamo creare è ' wpa_supplicant.conf ' — il file in cui dobbiamo specificare di più.

Un supplicant è un'applicazione hardware o software che richiede l'autenticazione da un punto di accesso (come un server o un router) per stabilire una connessione sicura a una rete.

Nel nostro caso, wpa_supplicant è un supplicant software che invia il contenuto del file 'wpa_supplicant.conf' al router all'avvio del Pi. Il contenuto del file include il nome Wi-Fi e la password. Le credenziali vengono autenticate e, se sono corrette, il router concede al Raspberry Pi l'accesso alla nostra rete locale.

Quindi creiamo il file (sempre nella partizione di avvio) aprendo un editor. Scelgo vim come editor:

$ vim wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
network={
          ssid="YoUrWiFiNaMe"
          psk="YoUrWiFiPaSsWoRd"
          key_mgmt=WPA-PSK
}

Spiegazione delle impostazioni di configurazione

Per ulteriori informazioni su wpa_supplicant e le impostazioni di rete, controlla la documentazione ufficiale di Raspberry e wpa_supplicant.conf.examples in /usr/share/doc/wpa_supplicant nel tuo Linux.

Tatataa, è tutto ciò di cui abbiamo bisogno per l'installazione!

Controllo WIFI e connessione tramite SSH

Dopo aver creato i 3 file nella partizione di avvio della tua scheda SD, collega la scheda al tuo Pi e vediamo se il Pi si connette al tuo WIFI.

Finalmente pronto per l'avvio

Concedi al Pi alcuni secondi per l'avvio e poi scansioniamo la nostra rete per vedere se tutto ha funzionato come previsto. Per la scansione, utilizziamo un toolkit molto potente chiamato nmap . Nmap offre tonnellate di diverse scansioni di rete e useremo la scansione del ping per ottenere un elenco di tutti i dispositivi nella rete.

Ma prima di tutto, devi conoscere il tuo indirizzo IP perché nmap ha bisogno dell'intervallo di subnet che dovrebbe scansionare. Digita il seguente comando per ottenere il tuo IP (solo il primo è rilevante):

$ hostname -I

Esegui nmap con il seguente comando ( sostituisci il tuo IP ):

$ sudo nmap -sn YoUrIp/24

Uuuh allora!

Ora puoi accedere al tuo Pi con SSH (sostituisci nome utente e IP) :

$ ssh YoUrUsErNaMe@IPofPi

Puoi trovare maggiori informazioni sull'accesso remoto nella documentazione ufficiale .

Riepilogo per persone impegnate

In /boot della tua scheda SD, crea i seguenti 3 file:

1. ssh

È un file vuoto senza estensione di file, in realtà chiamalo semplicemente "ssh".

2. userconf.txt

Contiene il nome utente e la password crittografata nel formato 'YoUrUsErName:YoUrPaSsPhRaSe' . Crittografia possibile con il comando:
echo 'YoUrPaSsPhRaSe' | openssl passwd -6 -stdin

3. wpa_supplicant.conf

Metti questo in wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
network={
          ssid="YoUrWiFiNaMe"
          psk="YoUrWiFiPaSsWoRd"
          key_mgmt=WPA-PSK
}

Ottieni il tuo IP con hostname -I . Scansiona la tua rete con nmap -sn YOURIP/24.

Se il tuo Pi è elencato, accedi tramite SSH con YoUrUsErName @IP ofPi .

Conclusione

Foto di Jainath Ponnala Unsplash

Come vedi, configurare il Pi senza testa non è difficile. Tuttavia, puoi incontrare molti problemi e senza un monitor il debug è come tuffarsi nel blu.

Non mollare se non funziona la prima volta, non ha funzionato anche per me la prima volta. Ho semplicemente inserito i file nella cartella di avvio sbagliata (in /rootfs/boot/ …… aaargh ….. ) e ho avuto bisogno di almeno un'ora per risolvere il mio errore. Ma l'ho fatto - e lo farai anche tu, prima o poi.

Con le mie spiegazioni, spero di fornirti una base migliore per il debug e aiutarti a capire perché hai fatto quello che hai fatto per avviare il tuo Pi.

Cerchi un compito facile per familiarizzare con i pin Pis e la loro codifica di base? Scopri come far lampeggiare un LED nel mio prossimo tutorial .

Fammi sapere se riscontri problemi così posso aiutarti!