Оглавление:

Дрон на базе Raspberry Pi, Android, IoT и Bluetooth: 7 шагов (с изображениями)
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth: 7 шагов (с изображениями)

Видео: Дрон на базе Raspberry Pi, Android, IoT и Bluetooth: 7 шагов (с изображениями)

Видео: Дрон на базе Raspberry Pi, Android, IoT и Bluetooth: 7 шагов (с изображениями)
Видео: Самодельный тепловизор на MLX90640 2024, Ноябрь
Anonim
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth
Дрон на базе Raspberry Pi, Android, IoT и Bluetooth

Используя Raspberry Pi для бортовой логики, этот компактный мобильный компьютер создаст локальный порт, который передает видео в режиме реального времени, одновременно создавая Bluetooth-сокеты для чтения значений, отправленных пользовательским приложением для Android. Приложение синхронизируется с дроном и использует вводимые пользователем данные для мгновенной отправки инструкций дрону.

Этот проект довольно сложно сделать с нуля. Надеюсь, следующая информация даст представление о различных приложениях дронов. Предоставляется все программное обеспечение и схемы, относящиеся к этому проекту. Не стесняйтесь изменять и делиться кодом по своему вкусу. Пожалуйста, используйте предоставленную информацию ответственно и не стесняйтесь оставлять комментарии ниже.

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение

Ниже приведен список оборудования, которое я использовал.

  • Raspberry Pi 3 Модель B
  • Модуль камеры Raspberry PI
  • Драйвер двигателя L298N
  • 2, двигатели постоянного тока
  • Клавиатура, любой монитор, мышь, кабель Ethernet и кабель HDMI (для Pi)
  • Карта MicroSD на 8 ГБ
  • Винты, лента и т. Д.
  • 2 колеса
  • Устройство Android Bluetooth (мой телефон)
  • 2, 18650 ячеек
  • Регулятор на 5 Вольт
  • Компьютер для программирования приложения

Raspberry Pi: для более высоких разрешений потока (или для новичков) я бы порекомендовал новейшую версию модели B, в то время как более компактные версии могут использовать либо новейшую модель A +, либо Pi Zero (версия камеры). Помните, что если вы используете Raspberry Pi Zero, вам понадобится ключ Bluetooth и / или WiFi. В этом руководстве предполагается, что вы используете Raspberry Pi 3 B.

Драйвер двигателя: Я использовал L298N, хотя любой драйвер двигателя должен работать. Просто убедитесь, что он может выдерживать напряжение и ток ваших двигателей.

2 двигателя постоянного тока: убедитесь, что они выдержат вес вашего дрона.

Корпус: используется для удержания всех компонентов. Обычно твердый пластик или алюминий являются прочным и легким материалом. Для достижения оптимальных результатов можно использовать даже 3D-принтер.

Источник питания: это почти всегда самое сложное решение при выборе запчастей. Требуемый аккумулятор зависит от потребляемого тока. Для приложений с низким энергопотреблением (например, 1 или 2 ампера) должно хватить аккумулятора на 9 В. Для более высокой силы тока я рекомендую литий-ионный аккумулятор 18650 или литий-полимерный аккумулятор, поскольку они легкие, могут выдерживать большую мощность для своего размера и перезаряжаемые.

2 колеса: просто убедитесь, что ваши колеса имеют тот же размер отверстия, что и вал вашего двигателя. Также убедитесь, что диаметр колес достаточно велик для вашего дрона. Поскольку для этого проекта существует множество возможных вариантов и конструкций, их можно использовать с разными типами и размерами колес.

Стабилизаторы напряжения: для питания пианино от батареи требуется регулятор на 5 вольт. Я использовал понижающий преобразователь постоянного тока LM2596.

Большинство продуктов по ссылкам использовались в этом проекте и были лучшими предложениями, которые я мог найти в то время.

Теперь, когда у вас есть все необходимое, давайте настроим пи.

Шаг 2: настройка Raspberry Pi

Настройка Raspberry Pi
Настройка Raspberry Pi
Настройка Raspberry Pi
Настройка Raspberry Pi
Настройка Raspberry Pi
Настройка Raspberry Pi

Этот шаг покажет вам, как настроить Raspberry Pi, чтобы вы могли начать кодирование. Если у вас уже есть настройка pi с Raspbian, не стесняйтесь переходить к следующему шагу.

Для начала нужно скачать операционную систему для малины. Получите NOOBS, если вы новичок. Если у вас уже есть значительный опыт работы с Raspberry Pi, возможно, вас заинтересует Raspbian. Я предполагаю, что вы используете NOOBS для этого урока.

Во время загрузки отформатируйте SD-карту с помощью SD Formatter.

Теперь извлеките и скопируйте содержимое загрузки в корень вашей SD-карты. Root просто означает, что его нет в каких-либо папках. Если была создана новая папка для хранения всех извлеченных файлов, скопируйте этот файл.

Затем прикрепите SD-карту к пи. Во время вставки он должен либо «щелкнуть», либо просто сесть в нижней части пи.

Подключите мышь и клавиатуру к пи. Затем подключите кабель HDMI к пи от монитора. Наконец, подключите адаптер сетевой розетки micro USB на 3 А к пи. Хотя рекомендуется настенная розетка, я использовал свой ноутбук в качестве источника питания (USB от моего ноутбука до Micro USB в пи).

Пусть пи делает свое дело. Если будет предложено, выберите Raspbian и позвольте ему установить. Следуйте инструкциям установщика. Это может занять некоторое время. Если все пойдет правильно, вы должны увидеть экран рабочего стола, аналогичный показанному выше.

Подключите кабель Ethernet от вашего маршрутизатора к pi. Затем откройте командную строку (значок черного «прямоугольника» вверху экрана). Вам нужно будет обновить pi через проводную сеть, чтобы подключить его к беспроводной сети.

Затем щелкните значок кабеля в верхней части экрана. Введите сведения о вашей сети, где будет предложено.

Введите текст в следующей строке точно так, как показано, и нажмите Enter. Это обновит pi. Это может занять некоторое время. Просто позвольте ему делать свое дело.

sudo apt-get update

Затем введите код в следующей строке. Это тоже займет некоторое время. Ничего не делайте, пока не закончите.

sudo apt-get dist-upgrade

Теперь у вас должна быть возможность отсоединить кабель Ethernet, щелкнуть значок беспроводной связи в верхней части экрана, ввести информацию о вашей сети и, наконец, подключиться к вашей сети через беспроводное соединение.

Теперь давайте закодируем часть дрона, которая обрабатывает движения.

Шаг 3. Обработка перемещений (сервер Bluetooth)

Обработка перемещений (сервер Bluetooth)
Обработка перемещений (сервер Bluetooth)

Для обработки движений используется язык программирования «Python 3». Сообщения, которые говорят роботу двигаться, будут отправлены через Bluetooth из приложения.

Во-первых, вам нужно установить библиотеку Bluetooth. Для этого введите следующие команды.

sudo apt-get update

sudo apt-get установить bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Теперь на рабочем столе щелкните значок меню «Пуск», затем «Программирование», затем «Python 3». Затем на панели инструментов нажмите «Файл», «новый». Должно появиться новое окно.

Скопируйте в окно содержимое вложения «bluetoothpi.rtf».

На панели инструментов нажмите Файл, Сохранить как. Сохраните его в каталоге / home / pi / Desktop / как Movement.py.

Теперь, чтобы проверить код, щелкните значок Bluetooth в правом верхнем углу экрана. Подключите raspberry pi к своему устройству Android. Загрузите приложение BlueTerm на свое устройство Android. Затем в командной строке введите следующий код полужирным шрифтом. Это выполнит код Python.

sudo python /home/pi/Desktop/movements.py

На знаке «пи» должен появиться текст «Ожидание подключения».

Запустите BlueTerm и щелкните значок параметров, а затем кнопку «Искать подключения».

В приложении должно появиться имя вашего raspberry pi. Нажмите на кнопку с именем числа "пи". Текст «Принятое соединение от» должен появиться рядом с числом «пи», за которым следует его адрес. Теперь все, что вы набираете в телефоне, должно отображаться в виде числа "пи".

Вы успешно закодировали свой собственный серверный сокет Bluetooth!

Шаг 4. Приложение для Android (клиент Bluetooth)

Приложение для Android (клиент Bluetooth)
Приложение для Android (клиент Bluetooth)
Приложение для Android (клиент Bluetooth)
Приложение для Android (клиент Bluetooth)
Приложение для Android (клиент Bluetooth)
Приложение для Android (клиент Bluetooth)
Приложение для Android (клиент Bluetooth)
Приложение для Android (клиент Bluetooth)

Загрузите Android Studio здесь. Установите его и следуйте инструкциям установщика.

Начать новый проект. Создайте пустое действие под названием MainActivity.

Скопируйте содержимое вложения «Logic.txt» в файл «MainActivity.java» (вкладка). Это содержит всю логику, лежащую в основе приложения. Возможно, вам потребуется изменить имя вашего устройства в нижней части файла.

Затем скопируйте содержимое файла «GUI» в файл «activity_main.xml» (вкладка). Он содержит очень простой графический интерфейс для приложения.

Теперь вам нужно будет импортировать в приложение кнопки со стрелками (изображения). Разархивируйте прикрепленный файл Arrows.zip. Слева от студии Android откройте файловую структуру, чтобы увидеть приложение, разрешение, миникарту. Скопируйте изображения стрелок (файлы PNG), щелкните правой кнопкой мыши мини-карту файла и вставьте изображения в файл, сохраняя имена стрелок одинаковыми. Когда закончите, он должен выглядеть как на картинке.

Наконец, скопируйте содержимое файла «Manifest» в свой файл «AndroidManifest.xml» (вкладку).

Чтобы протестировать приложение, вам нужно будет запустить его на своем устройстве. Для этого вам нужно будет перевести устройство в режим разработчика и включить отладку по USB. Для большинства устройств вам нужно будет зайти в «Настройки», «О телефоне», прокрутить вниз и семь раз щелкнуть «Номер сборки», пока не появится сообщение «Теперь вы разработчик!» Вернитесь назад, и теперь вы должны увидеть вкладку «Параметры разработчика». Щелкните по нему и включите отладку по USB.

Подключите устройство Android к компьютеру через USB, щелкните значок запуска в Android Studio и выберите свое устройство.

На пи запустите код Python, созданный на шаге 3, набрав команду, выделенную жирным шрифтом:

sudo python /home/pi/Desktop/movements.py

Затем нажмите кнопку подключения в приложении. При подключении в приложении должны появиться стрелки. Каждый раз, когда вы щелкаете по одному из них, он обновляет состояние «перемещения» пи.

Ничего страшного, если фон приложения выдает ошибку. Это будет исправлено позже.

Вы только что создали собственное приложение и Bluetooth-клиент.

Шаг 5: Подключение оборудования

Подключение оборудования
Подключение оборудования
Подключение оборудования
Подключение оборудования
Подключение оборудования
Подключение оборудования

Припаяйте соединения, показанные на схеме выше. Присоедините модуль камеры к пи тоже.

Запустите приложение и запустите файл motion.py. Если двигатели работают правильно при использовании приложения, не стесняйтесь помещать все компоненты в доработанную оболочку для дрона. Вам может потребоваться изменить значения кодов "ВЫСОКИЙ" и "НИЗКИЙ", чтобы он двигался правильно.

На следующем этапе мы добавим функцию стриминга дрона.

Шаг 6: потоковая передача

Потоковая передача
Потоковая передача
Потоковая передача
Потоковая передача
Потоковая передача
Потоковая передача

У них есть несколько способов потоковой передачи видео с помощью Pi, но использование uv4l - это, безусловно, самый простой способ практически без задержек.

Небольшое примечание: если вы уже собрали свой дрон и не можете подключить его к монитору и клавиатуре, вам понадобится SSH в свой дрон. Для этого скачайте Putty на свой компьютер. Откройте его и введите IP-адрес вашего малины (найдите IP-адрес, набрав команду ifconfig). Вам будет предложено ввести имя пользователя и пароль. Имя пользователя и пароль по умолчанию - pi и raspberry соответственно. Теперь все, что вы вводите в поле команд, будет похоже на ввод команд непосредственно в дрон.

настройка uv4l

Введите эту команду:

sudo nano /etc/apt/sources.list

Добавьте следующую строку в последнюю строку файла.

deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main

Выйдите и сохраните файл, нажав Ctrl-X, а затем набрав Да.

Затем введите следующую строку и нажмите ввод.

sudo apt-get update

тогда это:

sudo apt-get install uv4l uv4l-raspicam

Построчно введите следующие команды. Подождите, пока он закончит свою работу, прежде чем вводить следующую строку.

sudo apt-get install uv4l-raspicam-extras

sudo service uv4l_raspicam перезапуск

sudo rpi-update

sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

sudo apt-get install uv4l-webrtc

sudo apt-get install uv4l-xmpp-bridge

sudo apt-get install uv4l-raspidisp-extras

После этого все, что вам нужно сделать, это ввести следующую команду, чтобы начать потоковую передачу (замените «raspberrypi» на IP-адрес малины / имя хоста в вашей сети)

cvlc https:// raspberrypi: 8080 / stream / video.mjpeg

Это запустит потоковую передачу видео в реальном времени на порт 8080. Теперь поток должен отображаться в фоновом режиме вашего приложения. Чтобы просмотреть поток в любом браузере, введите этот URL (где «raspberrypi» - IP-адрес вашего дрона).

https:// raspberrypi: 8080 / stream / video.mjpeg

Поздравляю, вы создали свой шпионский дрон.

Шаг 7: Двигайтесь

Щелкните выключателем питания и начните исследование.

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

Если у вас есть какие-либо вопросы, прокомментируйте их ниже, и я постараюсь на них ответить.

Спасибо за прочтение!

Рекомендуемые: