Управление машинкой Raspberry Pi по Wi-Fi

Рассматривается процесс установки микрокомпьютера Raspberry Pi на китайскую модель автомобиля с радиоуправлением в масштабе 1:10. Управление машинкой с Raspberry Pi будет выполнятся по Wi-Fi протоколу через Android приложение.

Список оборудования необходимого для проекта:

  • китайская RC машинка;
  • мини-ПК Raspberry Pi (Model B rev2);
  • драйвер бесколлекторного мотора L298N;
  • аккумулятор на 5.5v 2700 mah для двигателей;
  • аккумулятор на 5v 8000 mah для Raspberry Pi;
  • 2х бесколлекторных мотора (из комплекта с моделью автомобиля);
  • wi-fi модем (если wi-fi не включен в Raspberry Pi);

Содержание:

  1. Выбор модели автомобиля
  2. Установка оборудования
  3. Питание
  4. Установка и настройка ПО
  5. Мобильное приложение
  6. Запуск модели

1. Выбор модели автомобиля

Выбирать модель для переделки необходимо с учетом габаритов компьютера Raspberry Pi (см. рис. 1) и драйвера двигателей (50х50мм). Наиболее подходящий масштаб начинается от 1:10, с основанием модели от 250х70мм. Двигатели модели должны обладать достаточным запасом мощности, чтобы иметь возможность установки на модель дополнительного оборудования весом до 300г (например, внешнего аккумулятора для Raspberry Pi).

Рисунок 1 – габариты компьютера Raspberry Pi.

Для данного проекта была куплена радиоуправляемая модель пикапа из магазина игрушек ценой около 1000р. Пикап имеет кузов, позволяющий разместить в нем дополнительный аккумулятор.

2. Установка оборудования

После выбора и приобретения модели её необходимо разобрать и достать все ненужные части. В нашем случае это модуль радиоуправления, вместо него будет установлен Raspberry Pi. Двигатели и блок аккумулятора оставляем.

Аккуратно отрезаем провода, ведущие к бесколлекторным двигателям от модуля радиоуправления, они нам понадобятся для подключения двигателей к драйверу.

Размечаем место на несущей части корпуса для установки Raspberry Pi и драйвера двигателя. Драйвер будет подключен к пинам Raspberry, поэтому размещаем его со стороны наиболее близкой к пинам. Подключаем драйвер к пинам Raspberry Pi по схеме представленной на рис. 2.

Рисунок 2 – схема подключения драйвера L298N к пинам Raspberry Pi.

Можете подключать двигатели к любым доступным пинам на Raspberry Pi. В мобильном приложении есть возможность указать номера управляющих пинов.

Для подключения драйвера к пинам Raspberry Pi необходимо использовать специальные соединительные провода (рис. 3). Для подключения аккумулятора к драйверу используйте провода с разъемом, чтобы иметь возможность отключать/подключать аккумулятор.

Рисунок 3 – соединительный провод для подключения драйвера к пинам Raspberry Pi.

3. Питание

Питание будет осуществляться от двух аккумуляторов. Один аккумулятор мощностью 7v и емкостью 2500 мАч будет питать драйвер и двигатели, можно взять аккумулятор, который шел в комплекте с моделью. Второй внешний имеет аккумулятор имеет мощность 5v и емкость 8000 мАч, он будет питать Raspberry Pi.

Аккумулятор питающий драйвер двигателей.
Корпус аккумулятора распечатан на 3D принтере.
Внешний аккумулятор питающий Raspberry Pi.

4. Установка и настройка ПО

Управление Raspberry Pi по Wi-Fi будет осуществляться при помощи библиотеки «Webiopi». Данная библиотека написана на Python и позволяет управлять пинами Raspberry Pi по HTTP протоколу. Для установки библиотеки «Webiopi» на Raspberry Pi необходимо:

Посмотреть номер последней версии webiopi на сайте и заменить x.y.z на номер последней версии.

Ввести последовательность команд в консоли Raspberry Pi:

$ tar xvzf WebIOPi-x.y.z.tar.gz
$ cd WebIOPi-x.y.z
$ sudo ./setup.sh

Для быстрого запуска webiopi в фоновом режиме введите команду:

sudo /etc/init.d/webiopi start

Чтобы не запускать webiopi вручную после каждого запуска Raspberry Pi необходимо добавить webiopi в автозапуск командой:

$ sudo update-rc.d webiopi defaults

Изменить логин и пароль пользователя webiopi можно командой:

$ sudo webiopi-passwd

Стандартный логин pi и пароль raspberry.

Проверить успешную установку webiopi можно зайдя по IP адресу Raspberry на страницу http://ip_адрес_raspberry/webiopi На данной странице вы увидите интерфейс управления портами Raspberry Pi.

Интерфейс webiopi при подключении к Raspberry Pi из браузера.

Для поиска IP адреса Raspberry Pi внутри локальной сети можно воспользоваться любым сторонним софтом, например, программой ipscan.

5. Мобильное приложение

Удаленное управление моделью будет осуществляться с помощью Android приложения, разработанного специально для данного проекта. После установки приложения на смартфон можно ввести данные подключения к Raspberry Pi. В настройках приложения вводим IP адрес Raspberry Pi, логин и пароль пользователя webiopi (стандартный логин pi и пароль raspberry), а также номера портов Raspberry Pi, используемых для управления двигателями.

6. Запуск модели

Запуск модели начинается с подключения внешнего блока питания к Raspberry Pi. После чего необходимо дождаться загрузки системы. Если все настроено, библиотека webiopi должна быть запущена автоматически.

Устройство Android, с которого будет осуществляться управление Raspberry Pi должно быть в одной локальной сети с Raspberry Pi. Проще всего подключиться к одному Wi-Fi модему или раздать Wi-Fi с телефона и подключить Raspberry к нему.

Открываем приложение Car Control на мобильном устройстве. Нажимаем на кнопку Car Control. При успешном подключении приложения к Raspberry Pi в строке status будет написано «connected».

После успешного подключения к Raspberry Pi через мобильное приложение можно подключить питание к драйверу двигателей. Если всё подключено правильно на драйвере загорится красный светодиод. Нажатие кнопки в приложении посылает сигнал на Raspberry Pi для включения конкретного пина, после чего сигнал передается на драйвер и соответствующий двигатель начинает вращение.

Скачать:

1. Android приложение Car Control:

Coin Alarm v1.0

2. Программа для мониторинга IP адресов: ipscan

3. Программа для удаленного подключения к консоли Raspberry Pi по SSH: PuTTY

Комментарии:

Напишите комментарий

Ваше имя:
Введите текст с изображения:

Наверх
Copyright © 2019-2020 «Elegant Develop»