# Подключение Raspberry Pi через WiFi

Для выполнения алгоритмов высокого уровня, таких как навигация, распознавание образов и речи, лучше использовать дополнительные вычислительные мощности, установив еще один компьютер. Рассмотрим процесс объединения компьютеров в одну сеть на примере Raspberry Pi 4.&#x20;

{% hint style="warning" %}
На вашем компьютере должна быть установлена Ubuntu 20.04. В случае Raspberry Pi, устанавливайте версию Server
{% endhint %}

1. Установите Ubuntu Server 20.04 по инструкции:&#x20;

<https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview>

Когда дойдете до пункта 3, используйте следующие параметры:

* SSID: morsNNN, где NNN - серийный номер робота МОРС
* PASSWORD: brobrobro

2. Установите карту microSD в Raspberry Pi и включите питание.
3. Подключите свой компьютер к WiFi-сети робота МОРС.
4. С помощью любого IP-сканера, например [Angry IP Scanner](https://angryip.org/download/#linux),  найдите IP-адрес вашей Raspberry.

&#x20;У Raspberry Pi 4 в связке с Ubuntu 20.04 Server существует известная [проблема](https://raspberrypi.stackexchange.com/questions/111722/rpi-4-running-ubuntu-server-20-04-cant-connect-to-wifi) подключения по WiFi. Предложенный по ссылке способ часто не помогает решить проблему. Для этого используйте USB WiFi адаптер. Мы рекомендуем использовать TP-LINK Archer T2U v2, так как он не требует установки дополнительных драйверов. Что делать, если вы столкнулись с данной проблемой, рассказывается [ниже](#reshenie-problemy-podklyucheniya).

5. Если всё прошло успешно, и вы нашли вашу Raspberry через сканер IP-адресов, то теперь вы можете подключиться к ней через SSH:

```
ssh <user>@<ip-address>
```

6. Установите [ROS Noetic](https://wiki.ros.org/Installation/Ubuntu)
7. Пропишите в файле .bashrc сетевые параметры для ROS:

```
echo "export ROS_MASTER_URI=http://10.42.0.1:11311/" >> ~/.bashrc
echo "export ROS_HOSTNAME=<IP-адрес raspberry>" >> ~/.bashrc
source ~/.bashrc
```

8. Если всё прошло успешно, то по команде `rostopic list` вы должны увидеть список [топиков](https://voltbro.gitbook.io/robot-sobaka-mors/ustroistvo-robota/ros-topiki), в сети ROS.
9. Сам компьютер вы можете разместить на алюминиевых профилях, или вырезав свою вставку из оргстекла в нужными крепежными отверстиями.

## Решение проблемы подключения

* Подключите к Raspberry Wi-Fi-адаптер, монитор и клавиатуру
* Включите питание Raspberry
* Дождитесь загрузки компьютера и авторизуйтесь в системе
* Проверьте, что система видит WiFi-адаптер. Для этого введите команду `lsusb`. В ответ вы увидите следующее:&#x20;

<figure><img src="https://2841855051-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWMZrcMSoDlC4YPw6l8xM%2Fuploads%2F127AnQBf8P5CO6GwvTf2%2Fphoto_2024-10-09_13-08-48.jpg?alt=media&#x26;token=b1901e77-50e4-41a1-9cf3-66339dca4968" alt=""><figcaption></figcaption></figure>

Если вы используете на TP-LINK T2U v2, то вывод будет отличаться.

* Дополнительно это можно проверить с помощью команды `ip address.` Вы должны увидеть сетевые устройства wlan0 и wlan1

<figure><img src="https://2841855051-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWMZrcMSoDlC4YPw6l8xM%2Fuploads%2FXDCf5hHxczaXkhGmQGDb%2Fphoto_2024-10-09_13-08-30.jpg?alt=media&#x26;token=e62b92b7-9826-439c-99de-943c8e404499" alt=""><figcaption></figcaption></figure>

* Теперь откройте файл параметров сетевых подключений:

```
sudo nano /etc/netplan/50-cloud-init.yaml
```

* Отредактируйте этот файл так, чтобы он выглядел следующим образом:

```
network:
    ethernets:
        etho:
            dhcp4: true
            optional: true
    version: 2
    wifis:
        wlan1:
            access-points:
                "mors002":
                    password: "brobrobro"
            dhcp4: true
            optional: true
```

{% hint style="warning" %}
В файле не должно быть знаков табуляции. Для отступов используйте только пробелы!
{% endhint %}

Если вы меняли данные точки доступа у робота, то замените их на те, которые вы установили.

* Нажмите Ctrl+X и далее y, чтобы сохранить файл и выйти из редактора.
* Примените параметры сети:

```
sudo netplan generate
sudo netplan apply
sudo reboot
```

* После перезагрузки проверьте проверьте подключение с помощью `ip address` или команды:

```
ping 10.42.0.1
```

Если вы видите ответ от робота, то значит подключение прошло успешно. Можете возвращаться к пункту 5 инструкции по [подключению Raspberry к роботу через WiFi.](https://voltbro.gitbook.io/robot-sobaka-mors/nastroika-i-obsluzhivanie/podklyuchenie-dopolnitelnykh-ustroistv/podklyuchenie-raspberry-pi-cherez-wifi)
