Съдържание:
- Стъпка 1: Хардуерът
- Стъпка 2: Настройване на Raspberry Pi
- Стъпка 3: Управление на движенията (Bluetooth сървър)
- Стъпка 4: Приложението за Android (Bluetooth клиент)
- Стъпка 5: Свързване на хардуера
- Стъпка 6: Поточно предаване
- Стъпка 7: Карайте
Видео: Raspberry Pi, Android, IoT и Bluetooth захранващ дрон: 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Използвайки Raspberry Pi за вградената логика, този компактен мобилен компютър ще създаде локален порт, който предава видео в реално време, като същевременно създава Bluetooth гнезда за четене на стойности, изпратени от персонализирано приложение за Android. Приложението се синхронизира с дрона и използва въвеждане от потребителя, за да изпраща незабавно инструкции към дрона.
Този проект е доста трудно да се направи от нулата. Надяваме се, че следната информация ще даде представа за множество приложения на дронове. Предоставен е целият софтуер и схеми, свързани с този проект. Чувствайте се свободни да променяте и споделяте кода по ваш вкус. Моля, използвайте предоставената информация отговорно и не се колебайте да оставите коментар по -долу.
Стъпка 1: Хардуерът
По -долу е даден списък на хардуера, който използвах.
- Raspberry Pi 3 Модел B
- Модул PI Camera на Raspberry
- L298N шофьор на мотор
- 2, DC двигатели
- Клавиатура, всеки монитор, мишка, Ethernet кабел и HDMI кабел (за pi)
- 8GB MicroSD карта
- Винтове, лента и др.
- 2 колела
- Bluetooth устройство с Android (телефонът ми)
- 2, 18650 клетки
- 5 -волтов регулатор
- Компютър, на който да програмирате приложението
A Raspberry Pi: За по -високи резолюции на потока (или за начинаещи), бих препоръчал най -новата версия на модела B, докато по -компактните версии могат да използват или най -новия модел A+ или Pi Zero (версия на камерата). Не забравяйте, че ако използвате малинов pi нула, ще ви е необходим Bluetooth и/или WiFi ключ за него. Този урок ще приеме, че използвате Raspberry Pi 3 B.
Шофьор на мотор: Използвах L298N, въпреки че всеки шофьор на мотор трябва да работи. Просто се уверете, че може да се справи с напрежението и тока на вашите двигатели.
2 DC двигателя: Уверете се, че могат да се справят с теглото на вашия дрон.
Корпус: Използва се също така държи всички компоненти. Обикновено твърдата пластмаса или алуминий е издръжлив, лек материал за използване. За оптимални резултати може да се използва дори 3D принтер.
Източник на захранване: Почти винаги е най -трудното решение при избора на части. Необходимата батерия зависи от текущото потребление. За приложения с ниска мощност (като 1 или 2 ампера), 9v батерия трябва да е достатъчна. За по -висок ток препоръчвам или литиево -йонна клетка 18650, или литиево -полимерна батерия, тъй като са леки, могат да държат много енергия за размера си и да се презареждат.
2 колела: Просто се уверете, че вашите колела са със същия размер на отвора като вала на вашия двигател. Уверете се също, че диаметрите на колелата са достатъчно големи за вашия дрон. Тъй като те са множество възможни вариации и дизайн за този проект, те са множество различни видове и размери на колелата, които да се използват.
Регулатори на напрежение: Необходим е 5 -волтов регулатор за захранване на pi чрез батерия. Използвах LM2596 DC-DC конвертор на долар.
Повечето продукти в връзките бяха използвани в този проект и бяха най -добрите оферти, които успях да намеря по онова време.
Сега, когато имате всичко необходимо, нека настроим pi.
Стъпка 2: Настройване на Raspberry Pi
Тази стъпка ще ви покаже как да настроите Raspberry Pi, така че да можете да започнете кодирането. Ако вече имате настройка на pi с Raspbian, тогава не се колебайте да преминете към следващата стъпка.
Първо, трябва да изтеглите операционна система за малината. Вземете NOOBS, ако сте начинаещ. Ако вече имате забележителен опит с малиново пи, може да се интересувате от Raspbian. Предполагам, че използвате NOOBS за този урок.
Докато това се изтегля, форматирайте SD картата си с SD Formatter.
Сега извлечете и копирайте съдържанието на изтеглянето в корена на вашата SD карта. Root просто означава, че не е в никакви папки. Ако е създадена нова папка, която да съхранява всички извлечени файлове, копирайте в този файл.
След това прикрепете SD картата към pi. Докато вмъквате, той трябва или да „щракне“вътре, или просто да седне в долната част на пи.
Включете мишката и клавиатурата в pi. След това включете HDMI кабел към pi от монитор. Накрая включете 3 ампера микро USB адаптер за стенен контакт в pi. Въпреки че се препоръчва стенен контакт, използвах лаптопа си като източник на захранване (USB от моя лаптоп към Micro USB в pi).
Оставете пи да си свърши работата. Ако бъдете подканени, изберете Raspbian и го оставете да се инсталира. Следвайте инструкциите в инсталатора. Изпълнението може да отнеме известно време. Ако всичко върви както трябва, трябва да видите екран на работния плот, подобен на този по -горе.
Включете Ethernet кабел от вашия рутер в pi. След това отворете командния ред (Черната икона "кутия" в горната част на екрана). Ще трябва да актуализирате pi чрез кабелна мрежа, за да го свържете към безжична мрежа.
След това щракнете върху иконата за кабел в горната част на екрана. Въведете подробностите за вашата мрежа, когато бъдете подканени.
Въведете текста в следващия ред точно както е показано и натиснете enter. Това ще актуализира пи. Може да отнеме известно време. Оставете го да си свърши работата.
sudo apt-get update
След това въведете кода в следващия ред. Това също ще отнеме известно време. Не правете нищо, докато не приключи.
sudo apt-get dist-upgrade
Сега трябва да можете да изключите Ethernet кабела, да кликнете върху иконата за безжична връзка в горната част на екрана, да въведете информацията за мрежата си и накрая да се свържете с вашата мрежа чрез безжична връзка.
Сега нека кодираме частта от дрона, която управлява движенията.
Стъпка 3: Управление на движенията (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/като движения.py.
Сега, за да тествате кода, щракнете върху иконата на Bluetooth в горния десен ъгъл на екрана. Сдвоете малиновото пи с вашето Android устройство. Изтеглете приложение, наречено BlueTerm, на вашето Android устройство. След това в командния ред въведете следния код с удебелен шрифт. Това ще изпълни кода на python.
sudo python /home/pi/Desktop/movements.py
Текстът "Изчакване на връзки" трябва да се появи на pi.
Стартирайте BlueTerm и кликнете върху иконата с опции и след това върху бутона „потърсете връзки“.
В приложението трябва да се появи името на вашето малиново пи. Кликнете върху бутона с името на пи. Текстът „Приета връзка от“трябва да се появи на pi, последван от неговия адрес. Сега каквото и да пишете в телефона, трябва да се показва в пи.
Успешно сте кодирали своя собствен гнездо за Bluetooth сървър!
Стъпка 4: Приложението за Android (Bluetooth клиент)
Изтеглете Android Studio тук. Инсталирайте го и следвайте инструкциите, дадени в инсталатора.
Започнете нов проект. Създайте празна дейност, наречена MainActivity.
Копирайте съдържанието на прикачения файл "Logic.txt" във файла "MainActivity.java" (раздел). Това съдържа цялата логика зад приложението. Може да се наложи да промените името на вашето устройство в долната част на файла.
След това копирайте съдържанието на файла „GUI“във файла „activity_main.xml“(раздел). Това съдържа много прост графичен интерфейс за приложението.
Сега ще трябва да импортирате бутоните със стрелки (снимки) в приложението. Разархивирайте прикачения файл Arrows.zip. Отляво на android studio отворете файловата структура, за да видите app, res, minimap. Копирайте снимките със стрелки-p.webp
Накрая копирайте съдържанието на файла „Manifest“във вашия „AndroidManifest.xml“файл (раздел).
За да тествате приложението, ще трябва да го стартирате на вашето устройство. За да направите това, ще трябва да настроите устройството в режим за програмисти и да активирате USB отстраняване на грешки. За повечето устройства ще трябва да отидете в „Настройки“, „За телефона“, превъртете до дъното и кликнете върху „Номер на компилация“седем пъти, докато видите съобщението „Вече сте разработчик!“Върнете се и сега трябва да видите раздел „Опции за програмисти“. Кликнете върху него и активирайте USB отстраняване на грешки.
Свържете устройството си с Android към компютъра чрез USB, щракнете върху иконата за изпълнение в Android Studio и изберете вашето устройство.
На pi стартирайте кода на python, създаден в стъпка 3, като въведете командата с удебелен шрифт:
sudo python /home/pi/Desktop/movements.py
След това кликнете върху бутона за свързване в приложението. Когато сте свързани, сега в приложението трябва да се появят някои стрелки. Всеки път, когато щракнете върху един, той ще актуализира състоянието на "преместване" на pi.
Добре е, ако фонът на приложението дава грешка. Това ще бъде поправено по -късно.
Току -що сте създали собствено приложение и Bluetooth клиент.
Стъпка 5: Свързване на хардуера
Запоявайте връзките в горната диаграма. Прикрепете модула на камерата към pi също.
Стартирайте приложението и изпълнете файла pokreta.py. Ако двигателите се движат правилно, когато използвате приложението, не се колебайте да поставите всички компоненти в финализирана обвивка за дрона. Може да се наложи да промените стойностите на кодовете „HIGH“и „LOW“, така че да се движи правилно.
В следващата стъпка ще добавим функцията за стрийминг на дрона.
Стъпка 6: Поточно предаване
Те имат множество начини за поточно предаване на видео с помощта на Pi, но използването на uv4l е най -лесният начин, на практика без забавяне.
Само странична бележка, ако вече сте сглобили своя дрон и не можете да го свържете с монитора и клавиатурата си, ще трябва да включите SSH във вашия дрон. За да направите това, изтеглете Putty на компютъра си. Отворете го и въведете IP адреса на вашата малинка (намерете IP адреса, като въведете командата ifconfig). Той ще ви подкани за потребителско име и парола. По подразбиране потребителското име и паролата са съответно pi и малинова. Сега каквото и да напишете в полето за команди ще бъде като въвеждане на команди директно в дрона.
настройка на uv4l
Въведете тази команда:
sudo nano /etc/apt/sources.list
Добавете следния ред в последния ред на файла.
deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main
Излезте и запишете файла, като натиснете Ctrl-X и след това въведете Да.
След това въведете следния ред и натиснете enter.
sudo apt-get update
след това това:
sudo apt-get install uv4l uv4l-raspicam
Въведете следните команди ред по ред. Изчакайте да завърши това, което прави, преди да напишете в следващия ред.
sudo apt-get install uv4l-raspicam-extras
рестартиране на услугата sudo uv4l_raspicam
sudo rpi-актуализация
sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-манекен 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: Карайте
Завъртете превключвателя на захранването и започнете да изследвате.
Ако искате да знаете как да направите нещо друго, попитайте ме и аз ще видя какво мога да направя.
Ако имате въпроси, моля, коментирайте по -долу и ще направя всичко възможно да отговоря на тях.
Благодаря за четенето!
Препоръчано:
Генератор - Fidget Spinner, захранващ 9W LED крушка 230 V: 3 стъпки (със снимки)
Генератор - Fidget Spinner, захранващ 9W Led крушка 230 V: В редовете по -долу искаме да покажем как може да се създаде мощен генератор на fidget spinner. Той ще генерира 100 Volts Ac в началото и ще може да запали LED крушка 230 V 9 W. Образователен проект, използващ само няколко материала. Намирам
Електрически генератор, захранващ LED крушки: 3 стъпки (със снимки)
Електрически генератор, захранващ LED крушки: малък променливотоков генератор 230 V, използващ единична неодимова сфера, намотка без сърцевина от 230 V синхронен двигател (ламинатори A4 или микровълнови грамофони), 3 V DC мотор (вътре в играчки за електрически автомобили) батерия. Тествани LED крушки 230 V 3 W - 9 W Fi
Възкресете вашия Dead Pleo RB със свързан захранващ блок: 5 стъпки (със снимки)
Възкресете вашия Dead Pleo RB със свързан захранващ блок: Моля, обърнете внимание, че всички снимки за тази инструкция са направени, след като приключих модификациите, така че ще трябва да разгледате внимателно частите, които имате след разглобяването на кутията за батерии, и да ги сравните с предоставените изображения тук преди промяна
Удобен захранващ кабел за джъмпер: 10 стъпки (със снимки)
Удобно захранване с джъмперна жица: Това е малък регулируем (0 до 16,5 V) захранващ модул, модифициран, за да улесни свързването към споени платки и различни модули. Модулът има LCD дисплей за напрежение и ток (до 2А), но този проект адаптира модула с няколко секунди
Захранващ стакер: Подреждаща се USB акумулаторна батерийна система: 5 стъпки (със снимки)
Зареждащ стакер: Подреждаща се USB акумулаторна батерийна система: Моля, щракнете по-долу, за да посетите страницата на нашия проект за Hackaday! -йонна батерия. Подредете ги заедно за гладни за енергия проекти или отделете