Подключение Raspberry Pi к Wi-Fi


Подключить Raspberry Pi к Wi-Fi можно с помощью обычного Wi-Fi «свистка». В принципе, подойти должен почти любой Wi-Fi-адаптер, но уточнить
список поддерживаемых донглов можно здесь — RPi USB Wi-Fi Adapters.

Подключаем USB-донгл и смотрим, что видит наша ОС.

$ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

соответственно,

$ lsusb -v

покажет подробности:

...
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x148f Ralink Technology, Corp.
  idProduct          0x5370 RT5370 Wireless Adapter
  bcdDevice            1.01
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
...

USB ID: 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter. Driver is the RT2800USB module

lsmod действительно показывает подгруженный модуль RT2800USB:

$ lsmod
Module                  Size  Used by
...
rt2800usb              17425  0
rt2800lib              80340  1 rt2800usb
rt2x00usb              11661  1 rt2800usb
rt2x00lib              44767  3 rt2x00usb,rt2800lib,rt2800usb
...

Необходимые программы:
ifconfig — включение беспроводного адаптера,
iwlist — список доступных беспроводных сетей,
iwconfig — конфигурация беспроводного соединения,
dhclient — получения IP-адреса через dhcp,
wpa_supplicant — для использования WPA аутентификации.

Посмотрим сетевые интерфейсы:

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr b8:27:eb:17:6d:59
          inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2553 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2510 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:157141 (153.4 KiB)  TX bytes:225809 (220.5 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 7c:dd:90:04:2f:bc
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

соответственно

$ iwconfig
wlan0     IEEE 802.11bgn  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

lo        no wireless extensions.

eth0      no wireless extensions.

— интерфейс wlan0 есть, а значит остаётся только настроить его на работу с нашей точкой доступа.

Смотрим и по необходимости редактируем /etc/network/interfaces:

sudo nano /etc/network/interfaces

в секции wlan0 должно быть:

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Жмём Ctrl-X для выхода.

теперь посмотрим, какие Wi-Fi сети видит наш адаптер:

sudo iwlist wlan0 scan

Чтобы отфильтровать строчки с названиями, воспользуемся grep:

sudo iwlist wlan0 scan | grep ESSID

                    ESSID:"dlink"
                    ESSID:"Kantiana-Guest"
                    ESSID:"Kantiana-Internal"
                    ESSID:"Kantiana"

Теперь можем внести информацию о точке доступа в файл /etc/wpa_supplicant/wpa_supplicant.conf:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

пропускаем первые две строчки:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

Добавляем

network={
        ssid="YourSSID"
        psk="password"
        key_mgmt=WPA-PSK
}

Если используется WEP, то:

network={
        ssid="YourSSID"
        wep_key0="password12345"
        key_mgmt=NONE
}

Возможны дополнительные поля:
proto – Протокол: RSN (для WP2) и WPA (for WPA1).
pairwise – CCMP или TKIP (для WPA2 или WPA1).
auth_alg – алгоритм аутентификации , может быть OPEN для WPA1/WPA2 и SHARED или LEAP.

Жмём Ctrl-X для выхода и не забываем сохранить изменения (нажать Y, а затем Enter).

Для вступления изменений в силу можно перезагрузиться:

sudo reboot

И потом посмотреть, как удалось подключиться:

$ ifconfig -a

 ...
 wlan0     Link encap:Ethernet  HWaddr 7c:dd:90:04:2f:bc
          inet addr:192.168.0.14  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1866 (1.8 KiB)  TX bytes:1004 (1004.0 B)
$ iwconfig
wlan0     IEEE 802.11bgn  ESSID:"dlink"
          Mode:Managed  Frequency:2.437 GHz  Access Point: 14:D6:4D:70:07:D4
          Bit Rate=36 Mb/s   Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=69/70  Signal level=-41 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:1   Missed beacon:0

Подключение в случае WEP-шифрования:
выполнение подключения:

sudo iwconfig wlan0 essid Some_Name key s:Wireless_Key

key — указывает ключ шифрования (по-умолчанию в шестнадцатеричном виде HEX), чтобы указать ключ в виде текста (ASCII) — необходимо использовать опцию s.

Подключение в случае WPA-шифрования:
выполнение подключения:

sudo wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

После подключения:
остаётся получить от dhcp-сервера wifi-точки IP-адрес:

sudo dhclient wlan0 

Ссылки
RPi USB Wi-Fi Adapters
RPi VerifiedPeripherals
How to set up WiFi on a Raspberry Pi
Как настроить Wifi-соединение на любом Linux-десктопе
Настройка сети вручную

По теме
Питание для Raspberry Pi
Установка операционной системы для Raspberry Pi
Программирование Arduino при помощи Raspberry Pi
Подключение модуля камеры к Raspberry Pi


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение