Cuprins:

Raspberry Pi, Android, IoT și dronă alimentată cu Bluetooth: 7 pași (cu imagini)
Raspberry Pi, Android, IoT și dronă alimentată cu Bluetooth: 7 pași (cu imagini)

Video: Raspberry Pi, Android, IoT și dronă alimentată cu Bluetooth: 7 pași (cu imagini)

Video: Raspberry Pi, Android, IoT și dronă alimentată cu Bluetooth: 7 pași (cu imagini)
Video: How to use 2 channel relay to control AC and DC loads in Arduino 2024, Iulie
Anonim
Raspberry Pi, Android, IoT și Bluetooth cu dronă
Raspberry Pi, Android, IoT și Bluetooth cu dronă
Raspberry Pi, Android, IoT și Drone cu Bluetooth
Raspberry Pi, Android, IoT și Drone cu Bluetooth
Raspberry Pi, Android, IoT și Drone cu Bluetooth
Raspberry Pi, Android, IoT și Drone cu Bluetooth
Raspberry Pi, Android, IoT și Bluetooth Drone
Raspberry Pi, Android, IoT și Bluetooth Drone

Folosind un Raspberry Pi pentru logica de la bord, acest computer compact, mobil, va crea un port local care transmite un videoclip în timp real, în timp ce creează simultan prize Bluetooth pentru a citi valorile trimise de o aplicație Android personalizată. Aplicația se sincronizează cu drona și folosește intrarea utilizatorului pentru a trimite instrucțiuni către dronă instantaneu.

Acest proiect este destul de dificil de realizat de la zero. Sperăm că următoarele informații vor oferi informații pentru mai multe aplicații de drone. Sunt furnizate toate proiectele de software și circuite aferente acestui proiect. Simțiți-vă liber să modificați și să partajați codul după bunul plac. Vă rugăm să utilizați informațiile furnizate în mod responsabil și nu ezitați să lăsați un comentariu mai jos.

Pasul 1: Hardware-ul

Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul

Mai jos este lista hardware-ului pe care l-am folosit.

  • Raspberry Pi 3 Model B.
  • Modul de cameră Raspberry PI
  • Driver motor L298N
  • 2, DC Motors
  • O tastatură, orice monitor, mouse, cablu Ethernet și cablu HDMI (pentru pi)
  • Card MicroSD de 8 GB
  • Șuruburi, bandă, etc.
  • 2 roți
  • Un dispozitiv Android Android (telefonul meu)
  • 2, 18650 Celule
  • Un regulator de 5 volți
  • Un computer pentru programarea aplicației

A Raspberry Pi: Pentru rezoluții de flux mai mari (sau pentru începători), aș recomanda cea mai nouă versiune a modelului B, în timp ce versiunile mai compacte pot folosi fie cel mai nou model A +, fie Pi Zero (versiunea camerei). Amintiți-vă că, dacă utilizați un raspberry pi zero, veți avea nevoie de un dongle Bluetooth și / sau WiFi. Acest tutorial va presupune că utilizați un Raspberry Pi 3 B.

Un driver de motor: am folosit un L298N, deși orice driver de motor ar trebui să funcționeze. Doar asigurați-vă că poate gestiona tensiunea și curentul motoarelor.

2 motoare de curent continuu: asigurați-vă că pot suporta greutatea dronei dvs.

Un corp: Utilizat și pentru a ține toate componentele. De obicei, plasticul dur sau aluminiul sunt un material durabil și ușor de utilizat. Pentru rezultate optime, poate fi utilizată chiar și o imprimantă 3D.

O sursă de energie: este aproape întotdeauna cea mai dificilă decizie în alegerea pieselor. Bateria necesară depinde de consumul de curent. Pentru aplicații cu putere redusă (cum ar fi 1 sau 2 amperi), ar trebui să fie suficientă o baterie de 9V. Pentru o intensitate mai mare, recomand fie o celulă 18650 Lithium Ion, fie o baterie Lithium Polymer, deoarece sunt ușoare, pot deține multă putere pentru dimensiunea lor și sunt reîncărcabile.

2 roți: asigurați-vă că roțile dvs. au aceeași dimensiune a orificiului ca arborele motorului. De asemenea, asigurați-vă că diametrele roților sunt suficient de mari pentru drona dvs. Deoarece sunt multiple variante și modele posibile pentru acest proiect, acestea sunt multiple tipuri de roți și dimensiuni de utilizat.

Regulatoare de tensiune: Un regulator de 5 volți este necesar pentru a alimenta pi printr-o baterie. Am folosit un convertor DC-DC LM2596.

Majoritatea produselor din link-uri au fost utilizate în acest proiect și au fost cele mai bune oferte pe care le-am putut găsi în acel moment.

Acum, că aveți tot ce aveți nevoie, permiteți configurarea pi.

Pasul 2: Configurarea Raspberry Pi

Configurarea Raspberry Pi
Configurarea Raspberry Pi
Configurarea Raspberry Pi
Configurarea Raspberry Pi
Configurarea Raspberry Pi
Configurarea Raspberry Pi

Acest pas vă va arăta cum să configurați Raspberry Pi, astfel încât să puteți începe codarea. Dacă aveți deja o configurare pi cu Raspbian, nu ezitați să treceți la pasul următor.

În primul rând, trebuie să descărcați un sistem de operare pentru zmeură. Obțineți NOOBS dacă sunteți începător. Dacă aveți deja o experiență notabilă cu un pi zmeură, atunci s-ar putea să fiți interesat de Raspbian. Voi presupune că utilizați NOOBS pentru acest tutorial.

În timp ce se descarcă, formatați cardul SD cu SD Formatter.

Acum extrageți și copiați conținutul descărcării în rădăcina cardului dvs. SD. Root înseamnă pur și simplu că nu se află în niciun dosar. Dacă a fost creat un folder nou pentru a conține toate fișierele extrase, copiați în fișierul respectiv.

Apoi atașați cardul SD la pi. În timp ce introduceți, ar trebui să fie „clic” în sau doar să stea în partea de jos a pi.

Conectați mouse-ul și tastatura în pi. Apoi conectați un cablu HDMI la pi de pe un monitor. În cele din urmă, conectați un adaptor de priză de perete micro USB de 3 amp în pi. Deși este recomandată o priză de perete, am folosit laptopul ca sursă de alimentare (USB de la laptop la Micro USB în pi).

Lasă-l pe pi să-și facă treaba. Dacă vi se solicită, selectați Raspbian și lăsați-l să se instaleze. Urmați instrucțiunile din programul de instalare. Poate dura ceva timp până se finalizează. Dacă totul merge bine, ar trebui să vedeți un ecran de desktop similar cu cel de mai sus.

Conectați un cablu Ethernet de la router la pi. Apoi deschideți linia de comandă (pictograma „casetă” neagră din partea de sus a ecranului). Va trebui să actualizați pi printr-o rețea cu fir pentru a o conecta la o rețea fără fir.

Apoi faceți clic pe pictograma Cablu din partea de sus a ecranului. Introduceți detaliile rețelei acolo unde vi se solicită.

Tastați textul în rândul următor exact așa cum se arată și apăsați Enter. Aceasta va actualiza pi. Poate dura ceva timp. Lasă-l să-și facă treaba.

sudo apt-get update

Apoi introduceți codul în linia următoare. Acest lucru va dura, de asemenea, ceva timp. Nu faceți nimic până când se termină.

sudo apt-get dist-upgrade

Acum ar trebui să puteți deconecta cablul Ethernet, să faceți clic pe pictograma wireless din partea de sus a ecranului, să introduceți informațiile despre rețele și, în cele din urmă, să vă conectați la rețea prin wireless.

Acum permite codificarea părții dronei care gestionează mișcările.

Pasul 3: gestionarea mișcărilor (server Bluetooth)

Manevrarea mișcărilor (server Bluetooth)
Manevrarea mișcărilor (server Bluetooth)

Pentru manipularea mișcărilor, se folosește limbajul de programare „Python 3”. Mesajele care spun robotului să se deplaseze vor fi trimise prin Bluetooth din aplicație.

Mai întâi, trebuie să instalați biblioteca Bluetooth. Tastați următoarele comenzi pentru a face acest lucru.

sudo apt-get update

sudo apt-get install bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Acum, de pe desktop, faceți clic pe pictograma meniului Start, apoi Programare, apoi Python 3. Apoi din bara de instrumente, faceți clic pe Fișier, nou. Ar trebui să apară o nouă fereastră.

Copiați conținutul atașamentului „bluetoothpi.rtf” în fereastră.

În bara de instrumente, faceți clic pe Fișier, Salvați ca. Salvați-l în directorul / home / pi / Desktop / ca movement.py.

Acum, pentru a testa codul, faceți clic pe pictograma Bluetooth din colțul din dreapta sus al ecranului. Asociați raspberry pi cu dispozitivul dvs. Android. Descărcați o aplicație numită BlueTerm pe dispozitivul dvs. Android. Apoi, în linia de comandă, tastați următorul cod cu caractere aldine. Aceasta va executa codul python.

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

Textul „Se așteaptă conexiunile” ar trebui să apară pe pi.

Porniți BlueTerm și faceți clic pe pictograma opțiuni și apoi pe butonul „Căutați conexiuni”.

În aplicație, ar trebui să apară numele raspberry pi. Faceți clic pe butonul cu numele lui pi. Pe pi apare textul „Conexiune acceptată de la” urmat de adresa acestuia. Acum, orice introduceți în telefon, ar trebui să fie afișat în pi.

Ați codificat cu succes propriul socket de server Bluetooth!

Pasul 4: Aplicația Android (client Bluetooth)

Aplicația Android (client Bluetooth)
Aplicația Android (client Bluetooth)
Aplicația Android (client Bluetooth)
Aplicația Android (client Bluetooth)
Aplicația Android (client Bluetooth)
Aplicația Android (client Bluetooth)
Aplicația Android (client Bluetooth)
Aplicația Android (client Bluetooth)

Descărcați Android Studio aici. Instalați-l și urmați instrucțiunile date în programul de instalare.

Începeți un nou proiect. Creați o activitate goală numită MainActivity.

Copiați conținutul atașamentului „Logic.txt” în fișierul (fila) „MainActivity.java”. Acesta conține toată logica din spatele aplicației. Poate fi necesar să schimbați numele dispozitivului dvs. în partea de jos a fișierului.

Apoi copiați conținutul fișierului „GUI” în fișierul „activity_main.xml” (fila). Acesta conține o GUI foarte simplă pentru aplicație.

Acum va trebui să importați butoanele săgeată (imagini) în aplicație. Dezarhivați atașamentul Arrows.zip. În partea stângă a Android Studio, deschideți structura fișierului pentru a vedea aplicația, res, minimapă. Copiați imaginile cu săgeți (fișiere PNG), faceți clic dreapta pe minimapasa fișierului și lipiți imaginile în fișier, păstrând numele săgeților la fel. Ar trebui să arate ca imaginea la final.

În cele din urmă, copiați conținutul fișierului „Manifest” în fișierul (fila) „AndroidManifest.xml”.

Pentru a testa aplicația, va trebui să o rulați pe dispozitiv. Pentru a face acest lucru, va trebui să setați dispozitivul în modul dezvoltator și să activați depanarea USB. Pentru majoritatea dispozitivelor, va trebui să accesați „Setări”, „Despre telefon”, derulați în partea de jos și să faceți clic pe „Număr de construcție” de șapte ori până când vedeți mesajul „Acum sunteți dezvoltator!” Întoarceți-vă și ar trebui să vedeți acum fila „Opțiuni pentru dezvoltatori”. Faceți clic pe acesta și activați depanarea USB.

Conectați dispozitivul Android la computerul dvs. prin USB, faceți clic pe pictograma Rulați pe Android Studio și selectați dispozitivul.

Pe pi, porniți codul python creat la pasul 3 tastând comanda cu caractere aldine:

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

Apoi faceți clic pe butonul de conectare din aplicație. Când sunteți conectat, unele săgeți ar trebui să apară acum în aplicație. Ori de câte ori faceți clic pe unul, acesta va actualiza starea de „mișcare” a pi.

Este în regulă dacă fundalul aplicației dă o eroare. Acest lucru va fi remediat mai târziu.

Tocmai ați creat propria aplicație și clientul Bluetooth.

Pasul 5: Conectarea hardware-ului

Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului

Lipiți conexiunile din diagrama de mai sus. Atașați și modulul camerei la pi.

Rulați aplicația și executați fișierul movement.py. Dacă motoarele se mișcă corect atunci când utilizați aplicația, nu ezitați să puneți toate componentele într-o carcasă finală pentru dronă. Poate fi necesar să modificați valorile codurilor „HIGH” și „LOW” pentru a se deplasa corect.

În pasul următor, vom adăuga caracteristica de streaming a dronei.

Pasul 6: Streaming

Streaming
Streaming
Streaming
Streaming
Streaming
Streaming

Sunt mai multe moduri de a transmite în flux un videoclip folosind un Pi, dar utilizarea uv4l este de departe cea mai ușoară cale, practic fără întârziere.

Doar o notă laterală, dacă ați pus deja drona la un loc și nu o puteți conecta la monitor și tastatură, va trebui să conectați SSH-ul la dronă. Pentru a face acest lucru, descărcați Putty de pe computer. Deschideți-l și tastați adresa IP a zmeurii dvs. (găsiți adresa IP tastând comanda ifconfig). Vă va solicita un nume de utilizator și o parolă. Numele de utilizator și parola implicite sunt pi și respectiv raspberry. Acum, orice introduceți în caseta de comandă va fi ca introducerea comenzilor direct în dronă.

configurarea uv4l

Tastați această comandă:

sudo nano /etc/apt/sources.list

Adăugați următoarea linie în ultima linie a fișierului.

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

Ieșiți și salvați fișierul apăsând Ctrl-X și apoi tastând Da.

Apoi tastați următoarea linie și apăsați Enter.

sudo apt-get update

apoi asta:

sudo apt-get install uv4l uv4l-raspicam

Tastați următoarele comenzi linie cu linie. Așteptați să termine ceea ce face înainte de a introduce în următoarea linie.

sudo apt-get install uv4l-raspicam-extras

sudo service uv4l_raspicam reporniți

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

După aceea, tot ce trebuie să faceți este să tastați următoarea comandă pentru a începe streamingul (înlocuiți „raspberrypi” cu adresa IP / numele gazdei din rețeaua dvs.)

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

Aceasta va începe să transmiteți în timp real fluxul video pe portul 8080. Fluxul ar trebui să fie văzut acum în fundalul aplicației dvs. Pentru a vizualiza fluxul în orice browser, tastați această adresă URL (unde „raspberrypi” este adresa IP a dronelor dvs.).

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

Felicitări, ți-ai finalizat drona de spionaj.

Pasul 7: Conduceți

Răsuciți comutatorul de alimentare și începeți să explorați.

Dacă vrei să știi cum să faci altceva, întreabă-mă și voi vedea ce pot face.

Dacă aveți întrebări, vă rugăm să comentați mai jos și voi face tot posibilul să le răspund.

Mulțumesc pentru lectură!

Recomandat: