# AlphaBot2 # Изучаем робота AlphaBot2-Pi. инструкция по сборке тут (https://www.waveshare.com/w/upload/1/1a/Alphabot2-pi-assembly-diagram-en.pdf) TODO: передрать часть с компонентами робота с офф сайта (https://www.waveshare.com/wiki/AlphaBot2-Pi) TODO: написать про ЗАРЯДКУ ## Установка системы и минимальная настройка. В этом разделе мы рассмотрим процесс установки операционной системы на raspberry py и рассмотрим способы взаимодействия с ней в операционной системе linux и windows. Предполагается что изучающие это руководство владеют linux консолью, и язаком программирования пайтон. Для того чтобы запустить linux на raspberry необходимо выполнить следующие действия: 1) Скачать отсюда (https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit) образ ```Raspberry Pi OS```. Я рекомендую использовать ```Raspberry Pi OS with desktop and recommended software```, этот образ будет содержать большенство вещей необходимых нам в будующем. 2) Распокавать архив, в Windows можно использовать программу Winrar. 3) Записать образ на карту памяти, обратите внимание она должна быть больше чем 4Gb. Создатели малинки советуют использовать для этого Etcher (https://www.balena.io/etcher/). Скачиваем эту программу и устанавливаем себе на компьютер. Нас встретит провтой интерфейс где сначало нужно выбрать образ, потом выбрать карту память на которую мы хотим все записать, и после согласится на запись. Естественно все ваши данные будут удалены с данной карты. ![img](изображение.png) Далее необходимо подождать пока не закончится загрузка на карту памяти. ![изображение-1.png](img.png) После чего необходимо дождатся завершения проверки правильности записанных данных на флеш карту. ![изображение-2.png](./изображение-2.png) 4) Далее необходимо прописать некотрые настройки а именно настройки wifi. Это нужно для того чтобы мы могли подключится удаленно к пишке и управлять ей использую другой компьютер на не подключать монитор и клавиатуру с мышью непосредственно к пишке. Для этого необходимо добавить 2 файла в раздел boot который должен был появится у вас после записи образа системы на диск. ![изображение-3.png](./изображение-3.png) Нужно добавить 2 файла: * ssh.txt - писать в него ничего не нужно, он необходим для того чтобы мы могли подключится к малинке используя сервис ssh (https://ru.wikipedia.org/wiki/SSH) * wpa_supplicant.conf - тут необходимо приписать параметры вашей wifi сети в следующем формате: ``` ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="НАЗВАНИЕ ТОЧКИ ДОСТУПА WiFi" psk="ПАРОЛЬ WiFi" key_mgmt=WPA-PSK } ``` При создании данного файла система спросит вас: ![изображение-4.png](./изображение-4.png) Соглашайтесь, далее необхадимо будет выбрать в меню по правой кнопке мыши ```Открыть с помощью``` и там выбрать блокнот. После чего Добавить строки представленные выше заменив названия точки доступа и пароль на свои, после чего сохранив. Содержимое этого файла будет автоматически перенесено в ```/etc/wpa_supplicant/wpa_supplicant.conf``` при старте системы. 5) Запуск робота. Далее извлекаем карту памяти из компьютера, предварительно воспользовавшись функцией безопасного извлечения, после чего вставляем в расбери, установленную в роботе. Далее переводим ```PWR SWITCH``` находящийся снизу робота из состояния ```OFF``` в ```ON```, после чего ждем около 3х минут чтобы система успела сделать все настройки. Для того что-юы на этом этапе не возникло проблем убедитесь что аккумуляторы заряжены, это очень важно потомучто робот в неактивном состоянии когда находится на зарядке. 6) Подключение к расбери. Для этого воспользуемся бесплатной версией прекрасной программы которая позволит нам совершить практически любое подключение - MobaXterm (https://mobaxterm.mobatek.net/) ее тоже необходимо скачать и установить. Для подключения к малине по ssh необходимо сделать следующее: Нажать на кнопку Session в левом верхнем углу программы. ![изображение-5.png](./изображение-5.png) Далее в появившимся окне забать параметры в соответствии с скриншотом. ![изображение-6.png](./изображение-6.png) Иными словами вы должны подклюсится к ssh к хосту с названием raspberrypi и именем пользователя pi. Через некотрое время вам предложат ввести пароль: ![изображение-7.png](./изображение-7.png) Необходимо ввести ```raspberry```. После чего вы можете согранить данный пароль в системе, если вам будет так удобнее. После чего система предложет вам ввести команды на исполнение. ![изображение-8.png](./изображение-8.png) Если это произошло значит все хорошо и все работает если нет, это свидетельствует о проблемах с сетью. Первое что можно сделать это подключится к роутеру (обычно он находится на адресе http://192.168.0.1/или http://192.168.1.1/) и посмотреть там в списках клиентов расбери. На моем роутере это выглядит так: ![изображение-9.png](./изображение-9.png) Оттуда берем IP адрес и далее все как описанно в этом пункте, только вместо хоста с названием raspberrypi используем полученный IP. Если это тоже не работает остается только одно, отсоеденить распберри от робота подключить к монитору и с помощью клавиатуры и мыши через графический интерфейс поключит пишку к роутеру. ## Настройка робота. Для работы с коботом необходимо выполнить ряд настроек. Для начала их нужно будет сделать в программе для конфигурирования малины ```raspi-config```, Для чего используем следующую команду: ```bash sudo raspi-config ``` После чего вы увидене следующее меню. ![изображение-10.png](./изображение-10.png) Внешний вид программы изменился посравнению с прошлыми скриншотами потомучто я открепил окно из программы. Если вы хотите сделать также нажмите левой кнопкой мыши на вкладку с вашим терминалом и перетащите в свободную область рабочего стола. Навигация в данном режиме очень проста, стрелками вверх и вниз мы выбираем нужный пункт меню, enter позволяект пройти в подпункты данного пункта или выбрать конкретную растройку. Стрелки вправо и влево выбрать один из пунктов находящийся внизу. Ниже я перечислю какие настройки необходимо сделать: ```bash Interface Options -> Camera -> Yes -> Yes -> OK Interface Options -> SPI -> Yes -> OK Interface Options -> I2C -> Yes -> OK Interface Options -> Serial Port -> No -> Yes -> OK ``` После завершения настройки необходимо выбрать finish и система предложет вам перезарузить расберри, на что соглашаемся. Подключится можно будет способом описанным выше, либо нажать кнопку R и MobaXterm автомотически постарается переподключится к роботу. После того как система загрузится необходимо установть пакеты необходимые для работы с перефирией робота, для этого сначала обнавляем систему, потом ставим все необходимое: ```bash sudo apt update && sudo apt dist-upgrade -y sudo apt install ttf-wqy-zenhei python-pip python-smbus python-serial sudo pip install RPi.GPIO spidev rpi_ws281x ``` Исполнение первой команды, может занять достаточно длительное время. ## Упровление компонентами робота. Для упровления роботом я создал библиотеку bsp.py, для использования ее нужно будет бобавить в папку в вашим скриптом и импортнуть. Далее рассмотрим все сосовные части робота и то как ими можно управлять и какие данные с них можно получить. 1) управление моторами. Управление моторами осуществляется с помощью 4х GPIO которые задают напрвление вращения 2х моторов и 2 PWM которые задают скорость вращения. ![изображение-1.png](./изображение-1.png) В библиотеке bsp.py уже сделанна обвязка так что вам останется только аказать мотор, скорость и направление вращения для взаимодействия. ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ``` ```bash ```