Некоторые учебные пособия, которые я нашел, устарели, но следующий ответ содержит набор заметок, которые я использовал для настройки беспроводных подключений дома, в школе (на предприятии) и Ad-Hoc на моем Raspberry Pi 3.
Raspberry Pi 3 (ядро 4.14.30-v7 +)
Этот пост представляет собой сборник заметок и учебных пособий, которые я использовал для настройки беспроводных подключений к Raspberry Pi.
Пожалуйста, дайте мне знать, если у вас возникнут какие-либо проблемы.
Raspbian в настоящее время ищет в загрузочном разделе пару файлов, чтобы разрешить установку без подключения или подключить Raspberry Pi к сети и установить ssh-соединение с внешней машины без монитора, экрана или мыши.
После загрузки ОС Raspbian на карту micro SD Ubuntu command
:
unzip -p 2018-03-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress
Добавьте два файла в загрузочный раздел перед перемещением SD-карты в Pi.
Пример "wpa_supplicant.conf" для домашнего подключения:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
ssid="NETWORK_NAME"
psk="password"
}
Теперь, каков IP-адрес Пи? Поиск MAC-адреса, все RPi 3 имеют одинаковое начало своего MAC-адреса. (Не будет работать в корпоративной сети, спросите администратора о привилегиях)
Ubuntu command
:
sudo nmap -sn 192.168.1.0/24 | grep -B 2 B8:27:EB
Автоматически отключается при начальной загрузке.
Включить с
sudo raspi-config
Затем выберите Interfacing Options
→ SSH
→Enable
sudo raspi-config
Выберите Network Options
→, Wi-fi
затем следуйте инструкциям на экране.
Изменить wpa_suplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Добавьте следующее:
network={
ssid="NETWORK_NAME"
psk="password"
}
Затем сохраните файл
Это как я подключаюсь к своему университету Wi-Fi
Сначала создайте хэш пароля и сохраните в файл (оставьте одинарные кавычки вокруг вашего пароля):
echo -n 'YOUR_REAL_PASSWORD' | iconv -t utf16le | openssl md4 > hash.txt
Затем отредактируйте wpa_supplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Добавьте следующее:
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"
}
Чтобы добавить хэш пароля:
ctrl
+, r
затем вставьте файл hash.txt
Очистить историю Bash
history -c
Удалить hash.txt
rm hash.txt
Добавьте флаги приоритетов в каждую сеть в wpa_supplicant.conf
приоритет по умолчанию = 0 (наибольший приоритет идет первым)
Мой приоритетный wpa_supplicant.conf:
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"
}
Есть много других вариантов конфигурации, бегите man wpa_supplicant.conf
для информации.
Вы хотите беспроводное соединение с пи, но нет доступных беспроводных сетей. Создайте свой собственный!
Raspberry Pi можно настроить для трансляции беспроводной сети. Эта сеть позволяет подключать пи, но не будет подключаться к интернету.
На каждом Rpi
Скопируйте текущий файл для резервного копирования
cp /etc/network/interfaces /etc/network/interfaces.old
Открыть файл для редактирования
sudo nano /etc/network/interfaces
Единственная строка, которая должна отличаться в следующем файле - address
все остальное должно быть идентичным. И вы можете изменить имя вашей сети или добавить пароль
Добавьте следующее на 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
Добавьте следующий 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
Сохраните файл и выйдите из редактора.
Поднимите интерфейс:
sudo ifup wlan0
Сканирование для специальных сетей:
iwlist wlan0 scan
Вы можете добавить больше устройств в сеть, вам просто нужно назначить устройству новый другой статический IP-адрес.
Рабочая частота / канал по умолчанию (2,412 ГГц: канал 1) часто перегружена. Попробуйте использовать другой канал в случае затруднений.
Изменить wireless-channel
на другой номер
Используйте, sudo iwlist wlan0 scan
чтобы найти другие каналы.
источник: https://wiki.debian.org/WiFi/AdHoc
Сложнее, но подключится к известным сетям и создаст ad-hoc, если ни одна не найдена.
Следуйте этому руководству (нет моста Ethernet, я успешно его использовал) http://www.raspberryconnect.com/network/item/331-raspberry-pi-auto-wifi-hotspot-switch-no-internet-routing
hostname -I
Запустите это на Pi, затем я подключился ко второму IP-адресу, указанному через ssh pi @ [ipaddr], с моей хост-машины Ubuntu.
С Ethernet-мостом (я не проверял это, но от тех же тинкеров, что и ↑) http://www.raspberryconnect.com/network/item/330-raspberry-pi-auto-wifi-hotspot-switch-internet
Ssh соединение не удается с хост-машины на Пи? запустить с подробным выводом:
ssh -vvvv pi@raspberrypi.local
Если последние команды перед закрытием:
debug1: SSH2_MSG_KEXINIT sent
Connection closed by raspberrypi.local port 22
Попробуйте восстановить ключи хоста, они могут отсутствовать или быть повреждены (сделайте это на 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
, например,sudo nmap -sn 192.168.10.0/24 | grep -B 2 B8:27:EB
для соседей.bridging
. Имейте в виду, что вы не можете подключить Wi-Fi на уровне OSI 2 с распи из-за ограничений оборудования / драйверов.Используйте эту простую программу, которую я нашел на Github: Rasp-Connect - Easy Python Script для подключения Raspbian к сети Wi-Fi с использованием Python.
Это простой скрипт Python, который настраивает и настраивает его для вас, вам просто нужно выбрать тип шифрования и ввести SSID и пароль. Он работает очень хорошо, а также поддерживает запуск инструмента через SSH.
источник