Networking: Pin La coda sul Raspberry Pi

desideroso di diventare più profondo in robotica dopo aver immergendo il piede in acqua con il mio droid BB-8, ho acquistato un modello Raspberry PI 3 B. Il primo passo è stato quello di connettersi ad esso. Ma mentre è integrata 802.11n wireless, all’inizio non avevo un punto di accesso wireless, anche se alla fine ne ho capito uno. Ciò ha indicato che ho attraversato diversi modi per trovarlo e collegarlo con il mio computer desktop. Sicuramente ci sono altri che cercano di fare lo stesso quindi diamo un’occhiata alle incantazioni segrete utilizzate per collegare un PI a un computer direttamente e indirettamente.

Perché connettersi al PI dal mio computer desktop? Dopotutto, ci sono piccoli monitor e tastiere che gli hacker usano spesso per creare laptop PI e tablet PI. Dato che avrei incorporato il PI in vari robot, non ho visto alcuna necessità di acquistare un monitor separato e una tastiera per questo, ma ho sembrato un po ‘di farlo.

Il monitor del mio desktop utilizza un connettore VGA ma l’adattatore VGA-to-HDMI ottenuto con il PI non ha funzionato. Inoltre, la tastiera portachiavi dell’antica del desktop utilizza un connettore PS / 2 in modo che neanche sia utilizzabile. Sebbene gli adattatori PS / 2-to-USB esistano, la mia ricerca ha mostrato che avrei bisogno di quello che ha un USB intelligente in esso, poiché la mia tastiera preda la USB e non ha tale elettronica. (Ma ha chiavi tattili dolci e profonde!) Il mio PI rimarrebbe senza testa, e lo programerei collegandolo dal mio computer desktop.

Connessione direttamente tramite cavo Ethernet

Anche il mio modem di casa era antico, senza wireless. Aveva anche un solo porto Ethernet. Ciò ha indicato che potrei collegare il mio computer desktop sia al modem o al Raspberry PI ma non sia allo stesso tempo. Quindi su Unboxing il PI, l’unico modo per collegarlo al mio computer è stato quello di scollegare il cavo Ethernet dal modem e collegarlo al PI. Ciò non ha indicato alcun accesso a Internet mentre si lavora con il PI, difficilmente ideale, ma abbastanza buono da vedere se il PI ha funzionato affatto.

Ma per il mio computer parlare con il PI, avevo bisogno dell’indirizzo IP di PI. Per coloro che non hanno familiarità con gli indirizzi IP, consistono in 4 numeri che vanno da 0 a 255 separati da punti. Per esempio:

169.254.95.208.

È davvero un numero a 32 bit, ma è scritto così per la leggibilità.

Centro di rete e condivisione in Windows
Indirizzo IP e subnet mask

Andando al pannello di controllo di Windows sul mio desktop e poi il centro di rete e condivisione, ho potuto vedere che una rete ora esisteva.

Cliccando sullo stato della vista e andando più a fondo ho trovato alcune informazioni benefiche. Il primo era l’indirizzo IP del computer desktop, 169.254.95.208. L’IPv4 mi dice che sta utilizzando la versione del protocollo Internet 4. Gli indirizzi IP in IPv6 differiscono almeno in quanto sono quattro volte a lungo.

Inoltre, la presenza della subnet mask IPv4, 255.255.0.0 mi ha detto che una sottorete o una sottorete, era stata formata tra le due macchine. Una sottorete è un gruppo di macchine che costituiscono una rete più piccola che può o non può essere parte di una più grande. I loro indirizzi IP iniziano tutti con gli stessi valori binari, anche se solo come molti bit all’inizio hanno in comune varia. Come fai a sapere quali bit sono comuni?

Usando la subnet mask
Ecco dove arriva la maschera di sottorete. Per scoprire quali bit, prendere la maschera di sottorete e fare un bit e con l’indirizzo IP di un produttore su quella sottorete. Come mostra il diagramma, il risultato nel mio caso era 169.254.0.0, indicando che l’indirizzo IP dei PI deve iniziare con 169.254. Un altro modo di scrivere la subnet mask è nella notazione CIDR. Nella notazione CIDR L’indirizzo IP è seguito da A / e quindi il numero di bit condivisi. In questo caso sarebbe 169.254.0.0/16. Gli ultimi due numeri sono zeri ma non hanno bisogno di non considerare che i 16 ti dicono cosa tenere. Questa notazione CIDR verrà disponibile a breve.

Sebbene il 169.254 sia stato condiviso, che ha ancora lasciato 65.536 (256 × 256) possibili combinazioni per i due numeri rimanenti. Per eseguire la scansione della rete, passare attraverso ogni possibile combinazione di numeri, ho usato NMAP, scaricabile da nmap.org.

Risultati della scansione ‘nmap -sn’
Come mostrato nell’istantanea, l’ho eseguito in una finestra Cygwin anche se ci sono anche le versioni GUI disponibili. Ho usato la seguente riga di comando.

nmap -sn 169.254.0.0/16.

Si noti che la subnet mask viene data utilizzando la notazione CIDR. La sezione sul Raspberry PI che vedi nell’istantanea è apparsa dopo circa 10 minuti, indicando che ci è voluta così tanto tempo da scansione da 169,254,0,0 al 169.254.37.77, l’indirizzo IP del PI. Anche se questo era quello che stavo cercando, l’ho lasciato andare comunque e la scansione completa ha preso poco oltre quarantaquattro minuti. Durante quel tempo ha anche trovato il mio computer desktop, l’host da cui stava facendo la scansione. L’indirizzo IP del PI è stato l’indirizzo IP del PI 169.254.255.255, quindi avrebbe preso i quarantaquattro minuti completi prima di trovarlo.

L’indirizzo IP dei PI ha continuato a essere 169.254.37,77 attraverso gli arresti e quindi la scansione di nuovo non era necessaria.

Avvio di un terminale e desktop VNCPutty per il terminale SSH
Desktop VNC.

Ora che l’ho collegato, avevo bisogno di un terminale che esegue un guscio sicuro (SSH) nel PI sul computer desktop. La creazione del terminale è stata semplicemente una questione di scaricare il programma di mastice popolare e farlo funzionare. Nella sezione Sessione, ho riempito l’indirizzo IP di PI, la porta 22 e assicurato che SSH sia stato selezionato. Che ha aperto una finestra di terminale con un prompt di accesso. Il nome utente predefinito è PI e la password è lampone. Ovviamente la prima cosa che ho fatto è stato eseguito l’utilità Passwd per cambiare la password.

In alternativa è possibile ottenere un terminale grafico invece usando VNC. Questo è un desktop grafico che funziona in una finestra sul tuo desktop computer, ma è davvero un terminale nel PI.

Collegamento tramite Ethernet utilizzando un router wireless

Non è stato molto tempo dopo aver ottenuto il mio PI che ho preso una decisione di passare a un combo del router wireless / modem fibra. Come bonus, questo aggiornamento include anche più porte Ethernet. Ho configurato il mio computer desktop per usare il wireless, ma non potevo ancora fare lo stesso per il PI. Ho dovuto fare una configurazione sul PI per configurare il wireless e quindi dovevo connettermi prima usando Ethernet.

Informazioni sulla rete del router in un browser
La connessione al router con Ethernet è stata molto più semplice del metodo di connessione diretta coperta sopra considerando che non è stata coinvolta alcuna scansione. Una volta collegata la PI utilizzando un cavo Ethernet, ho semplicemente portato un browser sul mio computer desktop e ha digitato l’indirizzo IP del router nella barra dell’URL del browser in alto. Questo è un indirizzo come 192.168.1.1 o 192.168.2.1, ma con http: // di fronte ad esso, anche se alcuni browser non hanno bisogno di http: //. Controlla il tuo manuale del router / modem.

Quello che vedi dipende dal tuo modem, ma il mio ha mostrato un grafico di rete in basso con l’indirizzo IP del PI, 192.168.2.14. Con ciò sono stato in grado di aprire un terminale usando il mastice come descritto sopra.

Se vuoi rimanere usando Ethernet tra il tuo PI e il modem, allora hai finito. Ma volevo andare wireless in modo che i miei robot potessero vagare senza un cavo Ethernet finale. Ora che ho avuto un terminale nel PI, potrei passare al prossimo passo.

Collegamento in modalità wireless.

Il modello Raspberry PI 3 B ha il wireless integrato, ma se si dispone di una versione senza wireless, è anche possibile ottenere un dongle wireless che si inserisce in una delle porte USB PI. Prima di connettersi a PI headless in modalità wireless, è comunque necessario connettersi ad esso utilizzando prima uno dei metodi sopra riportati e fare una certa configurazione sul PI.

Ho sollevato un terminale e ho effettuato l’accesso come descritto sopra. Avevo bisogno di mettere il mio nome della rete wireless e la password di rete nel file di configurazione /etc/wpa_supplicant/wpa_supplicant.conf. Ma per motivi di sicurezza, non volevo che la password sia in testo semplice.

Utilizzando WPA_PassFrase e modifica WPA_Supplicant.conf
Modifica WPA_Supplicant.Conf.
Quindi ho corso wpa_passphrase “bobsnetname” “BobsNetPassword” e ho evidenziato l’uscita, che in questo terminale, copia il testo evidenziato negli Appunti. “Bobsnetname” e “BobsNetPassword” sono ovviamente fittizi.

Ho quindi modificato /etc/wpa_supplicant/wpa_supplicant.conf e incollato dagli Appunti con il tasto destro del mouse. Il testo incollato ha incluso ancora una linea con la password in testo chiaro. È stato commentato ma nondimeno, visibile, quindi l’ho cancellato.

Dopo aver salvato, ed uscendo l’editor ho scollegato il cavo Ethernet. Un programma di esecuzione chiamato WPA-supplicant dovrebbe aver preso solo pochi secondi dopo che il file è stato modificato per notarlo e ottenere il wireless in corso. E così dopo aver atteso alcuni secondi, ho corso Ping Google.com. Ha funzionato. Il PI è stato collegato in modalità wireless.

Se non fosse stato allora potrei averlo riavviato manualmente eseguendo il sudo wpa_cli riconfigurare. Questo segnala anche il nome dell’interfaccia, WLAN0 nel mio caso.

Esecuzione ‘IFCONFIG WLAN0’
Per testarlo ulteriormente, e per ottenere l’indirizzo IP PI, ho corso IFCONFIG WLAN0 e ho cercato l’indirizzo IP accanto all’Inet Addr. Era lì e con esso potrei connettermi al PI e iniziare a programmare i robot.

Those were my experiences in connecting to my Raspberry Pi, but we know that there are lots of Raspberry Pi users on Hackaday. Quali metodi hai usato, quali trappole hai trovato e quali idee hai per uscirne? let us know in the comments so that others don’t fall into them too.

Leave a Reply

Your email address will not be published. Required fields are marked *