Alcuni tutorial che ho trovato sono obsoleti, ma la seguente risposta contiene una raccolta di note che ho usato per configurare connessioni wireless domestiche, scolastiche (aziendali) e ad hoc sul mio Raspberry Pi 3.
Alcuni tutorial che ho trovato sono obsoleti, ma la seguente risposta contiene una raccolta di note che ho usato per configurare connessioni wireless domestiche, scolastiche (aziendali) e ad hoc sul mio Raspberry Pi 3.
Risposte:
Raspberry Pi 3 (kernel 4.14.30-v7 +)
Questo post è una raccolta di note ed esercitazioni che ho usato per impostare connessioni wireless a Raspberry Pi.
Per favore fatemi sapere se si verificano problemi.
Raspbian attualmente cerca nella partizione di avvio un paio di file per consentire una configurazione senza testa o connettere un Raspberry Pi a una rete e stabilire una connessione ssh da una macchina esterna senza monitor, schermo o mouse.
Dopo aver caricato Raspbian OS su una scheda micro SD, Ubuntu command
:
unzip -p 2018-03-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress
Aggiungi due file alla partizione di avvio prima di spostare la scheda SD sul Pi.
Esempio "wpa_supplicant.conf" per la connessione domestica:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
ssid="NETWORK_NAME"
psk="password"
}
Ora qual è l'indirizzo IP del Pi? Cerca l'indirizzo MAC, tutti gli RPi 3 hanno lo stesso inizio per il loro indirizzo MAC. (Non funzionerà sulla rete aziendale, chiedi all'amministratore dei privilegi)
Ubuntu command
:
sudo nmap -sn 192.168.1.0/24 | grep -B 2 B8:27:EB
Disabilitato automaticamente durante l'avvio iniziale.
Abilita con
sudo raspi-config
Quindi selezionare Interfacing Options
→ SSH
→Enable
sudo raspi-config
Seleziona Network Options
→ Wi-fi
quindi segui le istruzioni sullo schermo.
Modifica wpa_suplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Aggiungi quanto segue:
network={
ssid="NETWORK_NAME"
psk="password"
}
Quindi salva il file
Ecco come mi collego al mio wifi universitario
Per prima cosa crea l'hash della password e salva su file (mantieni le virgolette singole intorno alla tua password):
echo -n 'YOUR_REAL_PASSWORD' | iconv -t utf16le | openssl md4 > hash.txt
Quindi modificare wpa_supplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Aggiungi quanto segue:
network={
ssid="NETWORK_NAME"
proto=RSN
key_mgmt=WPA-EAP
group=CCMP TKIP
identity="YOUR_USERNAME"
password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Per aggiungere l'hash della password:
ctrl
+ r
quindi inserisci il file hash.txt
Cancella la tua cronologia bash
history -c
Rimuovi hash.txt
rm hash.txt
Aggiungi flag di priorità a ciascuna rete in wpa_supplicant.conf
priorità predefinita = 0 (la priorità massima viene prima)
Il mio wpa_supplicant.conf prioritario:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
priority=1
ssid="NETWORK_A"
psk="password"
}
network={
priority=2
ssid="NETWORK_B"
proto=RSN
key_mgmt=WPA-EAP
group=CCMP TKIP
identity="YOUR_USERNAME"
password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Esistono molte altre opzioni di configurazione, eseguite man wpa_supplicant.conf
per informazioni.
Si desidera connettersi in modalità wireless al pi ma non ci sono reti wireless disponibili. Crea il tuo!
Raspberry Pi può essere configurato per trasmettere una rete wireless. Questa rete ti consente di connettere il pi, ma non si collegherà a Internet.
Su ogni Rpi
Copia il file corrente per il backup
cp /etc/network/interfaces /etc/network/interfaces.old
Apri il file da modificare
sudo nano /etc/network/interfaces
L'unica riga che dovrebbe essere diversa nel seguente file è che address
tutto il resto dovrebbe essere identico. E puoi cambiare il nome della tua rete o aggiungere una password
Aggiungi quanto segue su Rpi A:
auto wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
wireless-channel 1
wireless-essid MYNETWORK
wireless-mode ad-hoc
Aggiungi il seguente Rpi B:
auto wlan0
iface wlan0 inet static
address 192.168.1.2 `
netmask 255.255.255.0
wireless-channel 1
wireless-essid MYNETWORK
wireless-mode ad-hoc
Salvare il file ed uscire dall'editor
Alza l'interfaccia:
sudo ifup wlan0
Ricerca reti ad hoc:
iwlist wlan0 scan
È possibile aggiungere più dispositivi alla rete, è sufficiente assegnare al dispositivo un nuovo indirizzo IP statico diverso.
La frequenza / canale operativi predefiniti (2.412 GHz: canale 1) è spesso congestionato. Prova a utilizzare un canale diverso in caso di difficoltà.
Passare wireless-channel
a un numero diverso
Utilizzare sudo iwlist wlan0 scan
per trovare altri canali.
src: https://wiki.debian.org/WiFi/AdHoc
Più complicato, ma si collegherà a reti note e creerà ad-hoc se non ne viene trovato nessuno.
Segui questo tutorial (nessun bridge Ethernet, l'ho usato con successo) http://www.raspberryconnect.com/network/item/331-raspberry-pi-auto-wifi-hotspot-switch-no-internet-routing
hostname -I
Esegui questo su Pi, quindi mi sono collegato al secondo indirizzo IP elencato tramite ssh pi @ [ipaddr] dalla mia macchina host Ubuntu.
Con Ethernet Bridge (non l'ho provato, ma dagli stessi armeggi di ↑) http://www.raspberryconnect.com/network/item/330-raspberry-pi-auto-wifi-hotspot-switch-internet
La connessione SSH non riesce dalla macchina host a Pi? eseguire con output dettagliato:
ssh -vvvv pi@raspberrypi.local
Se gli ultimi comandi prima della chiusura sono:
debug1: SSH2_MSG_KEXINIT sent
Connection closed by raspberrypi.local port 22
Prova a rigenerare le chiavi host che potrebbero essere mancanti o danneggiate (fallo su Pi):
sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server
https://www.raspberrypi.org/forums/viewtopic.php?t=168310
man wpa_supplicant.conf
https://www.raspberrypi.org/forums/viewtopic.php?t=111100
https://www.doc.ic.ac.uk/~ajd/Robotics/RoboticsResources/wifi_setup.txt
nmap
, ad esempio sudo nmap -sn 192.168.10.0/24 | grep -B 2 B8:27:EB
per i vicini.
bridging
. Tenere presente che non è possibile eseguire il bridge del wifi reale sul livello OSI 2 con raspi a causa dei limiti hardware / driver.
Usa questo semplice programma che ho trovato su Github: Rasp-Connect - Easy python Script per connettere Raspbian a una rete Wifi usando Python.
È un semplice script Python che configura e configura per te, devi solo selezionare quale tipo di crittografia e inserire l'SSID e la password. Funziona molto bene e supporta anche l'esecuzione dello strumento su SSH.