Cuprins:
- Pasul 1: Adunați hardware-urile de care aveți nevoie
- Pasul 2: Instalați Ubuntu pe Joule și bibliotecile necesare care sunt necesare pentru al rula
- Pasul 3: Transmiteți camera RealSense
- Pasul 4: Configurați Walabot
- Pasul 5: Crearea Wifi Hotspot din Joule
- Pasul 6: Construirea Android ca ecran de afișare
- Pasul 7: Testarea tuturor
- Pasul 8: Testarea pe o mașină reală
- Pasul 9: Folosește-l în lume
Video: Vedere din spate a vehiculului: 9 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
De ce construim Vehicle Rear Vision?
Coliziunea de rezervă a fost o problemă majoră, Centrul SUA pentru Controlul Bolilor a raportat că, din 2001-2003, aproximativ 7 475 de copii (2, 492 pe an) sub 15 ani au fost tratați pentru incidente de retragere a automobilelor. Aproximativ 300 de decese pe an rezultă din coliziuni de rezervă. Până în 2018, toate mașinile vândute în Statele Unite vor necesita o cameră de rezervă obligatorie.
Cum rezolvăm problema?
Majoritatea mașinilor de pe piață astăzi încă nu au cameră de rezervă, care include aproximativ jumătate din mașinile care sunt vândute astăzi în SUA și mult mai mult de jumătate pe tot globul. Putem rezolva această problemă instalând o cameră pe spatele mașinii, folosind spațiul plăcuței de înmatriculare.
Walabot va putea detecta distanța țintei cea mai apropiată de vehicul.
Camera Intel RealSense R200 ne va oferi un detaliu mai mare asupra a ceea ce se vede, inclusiv situația cu lumină slabă.
Kitul de dezvoltator Intel Joule este suficient de puternic pentru a rula camere RealSense împreună cu Walabot. Raspberry Pi nu este suficient de puternic pentru a rula o cameră 3D RealSense, în care putem adăuga mult mai multe funcții în viitor, care pot îmbunătăți funcționalitățile mașinii. Aceeași versiune poate fi utilizată cu Pi cu o cameră USB normală, dar nu va fi bună pentru noapte.
Telefonul / tableta Android fiind utilizat pentru a afișa camera de rezervă, aceasta este pentru a reduce costul unui ecran suplimentar. Versiunea iOS poate fi construită la cerere.
Prin intermediul acestor componente, vom putea construi o Rear End Vision care să arate utilizatorului partea din spate a mașinii.
Pasul 1: Adunați hardware-urile de care aveți nevoie
- Intel Joule
- Walabot Pro
- Camera Intel R200 RealSense
- Telefon / tabletă Android care rulează 5.0 sau o versiune ulterioară
- Adaptorul mașinii pentru ieșire mufă și adaptor de curent alternativ 12VDC (acesta este pentru demonstrație pentru a porni Joule, versiunea de producție va conține mecanisme de alimentare diferite)
- Hub USB pentru conectarea camerei și Walabot (USB3 pentru cameră și USB2 pentru Walabot)
- Invertor de alimentare plug-in direct de la DC la AC
- Imprimantă 3D generică pentru imprimarea cadrului de înmatriculare personalizat
Pasul 2: Instalați Ubuntu pe Joule și bibliotecile necesare care sunt necesare pentru al rula
Deoarece am decis să mergem cu ruta Linux, urmați ghidul https://developer.ubuntu.com/core/get-started/intel-joule pentru a instala Ubuntu pe Joule. Ubuntu ne oferă o mare flexibilitate pentru a rula un sistem de operare real pe un cip bazat pe IoT.
Pasul 3: Transmiteți camera RealSense
Deoarece folosim telefonul / tableta Android pentru a economisi costul facturii de material, de asemenea mai accesibil utilizatorilor, vom folosi biblioteca de mișcare pentru a găzdui camera, similar cu camerele de securitate. Odată ce Ubuntu este instalat și conectat la wifi, putem deschide terminalul și putem utiliza următoarea comandă. Mai întâi conectăm camera la Joule prin portul USB3, apoi facem pașii următori.
A. Instalarea mișcării pe Ubuntu:
sudo apt-get updatesudo apt-get install motion
b. Copiați fișierele de configurare:
mkdir.motion sudo cp /etc/motion/motion.conf ~ /.motion / motion.conf
c. Configurarea fișierului, pentru cei care sunt familiarizați cu Ubuntu, pot instala Sublime pentru a edita textul mai ușor, altfel îl putem edita în linia de comandă.
sudo nano ~ /.motion / motion.conf
d. După conectarea camerei R200, putem schimba următoarele linii în motion.conf
Aceasta este pentru a-l pune în modul de fundal:
# Porniți în modul daemon (fundal) și eliberați terminalul (implicit: off) daemon activat
Aceasta este pentru a utiliza vizualizarea camerei RealSense Camera.
# Videodevice care va fi utilizat pentru capturare (implicit / dev / video0) # pentru FreeBSD implicit este / dev / bktr0 videodevice / dev / video2
Schimbând lățimea și înălțimea, 1280 x 720 a funcționat excelent pentru mine, dar vă puteți juca cu dimensiunile pentru a vedea ce se potrivește nevoilor dvs.
# Lățimea imaginii (pixeli). Gama valabilă: dependentă de cameră, implicit: lățimea 352 1280 # Înălțimea imaginii (pixeli). Domeniu valid: dependent de cameră, implicit: 288 înălțime 720
Am setat acest lucru la 30, cu cât setați numărul mai mare, cu atât ar necesita mai multă putere de calcul. Puteți să vă jucați pentru a vedea care este reperul pentru acesta, dar 30 au funcționat excelent pentru mine.
# Numărul maxim de cadre de captat pe secundă. # Interval valabil: 2-100. Implicit: 100 (aproape fără limită). framerate 30
Deoarece suntem întotdeauna înapoi înapoi în mașină, putem seta un port dedicat, folosim 5001
####################################################### ######### # Server Stream Live ########################################## ######################## # Serverul mini-http ascultă acest port pentru solicitări (implicit: 0 = dezactivat) stream_port 5001 # Calitatea jpegului (în procente) imagini produse (implicit: 50) stream_quality 50 # Cadre de ieșire la 1 fps atunci când nu este detectată nicio mișcare și crește la # rata dată de stream_maxrate când este detectată mișcarea (implicit: off) stream_motion off # Framerate maximă pentru fluxurile de flux (implicit: 1) stream_maxrate 60 # Restricționează conexiunile de flux doar la localhost (implicit: activat) stream_localhost oprit
Apoi puteți rula ifconfig și aflați adresa IP și rulați în terminal, portul va fi 5001.
mişcare
Dacă nu există erori, este ușor să verificați camera de pe computerul dvs. utilizând IP, să remediați erorile, cum ar fi problemele de permisiune, dacă există.
Odată ce acest lucru rulează, îl putem adăuga la aplicația de pornire din Ubuntu.
Pornire mișcare pentru cameră
motion.conf este atașat în secțiunea cod, puteți verifica mai multe setări acolo.
Pasul 4: Configurați Walabot
Cu camera instalată, trebuie totuși să configurăm walabot, aceasta putând detecta distanța dintre vehicul și obiectul din spate, oferind o viziune clară asupra modului în care ar trebui
a, descărcați fișierul deb de pe
Urmați instrucțiunile de la https://api.walabot.com/_install.html#_linux Instalați pentru a instala Walabot API, astfel încât să poată fi importat în proiecte Python.
Există o greșeală pe site-ul web în partea în care instalează Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi unde indică
python -m pip „/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz”
Ar trebui să fie
python -m instalare pip "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"
b. conectează Walabot Pro prin USB 2, nu am reușit să folosesc USB3, dar USB2 funcționează bine conectându-te la Linux. Deoarece Joule are un singur port USB3, conectați un port USB2 suplimentar pentru a găzdui Walabot Pro aici
c. Testați proiectul Walabot, cum ar fi https://github.com/Walabot-Projects/Walabot-Senso…, executând următoarea comandă în dosar
python SensorTargets.py
Acest lucru ar trebui să vă ofere un test bun pentru a vedea dacă Walabot funcționează corect, precum și cum să măsurați distanța pe lucrurile dorite. Exemplul DistanceMeasure nu a fost prea consistent în măsurare și zPosCm pare a fi extrem de precis, așa că am decis să folosesc zPosCM pentru demonstrație.
d. Încă trebuie să transmitem datele către dispozitivul de afișare, deoarece rulăm acest lucru pe Android pentru a reduce costul materialului, putem folosi prize. Folosim următorul cod pentru a configura socketul și udp în python.
MYPORT = 5002 sistem de import, timp de la importul de socket * s = socket (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)
Următoarea comandă va transmite date la actualizare
s.sendto (str (ținte [0].zPosCm), ('255.255.255.255', MYPORT))
e. Când se face acest lucru, îl putem configura în Startup Application
f. Walabot este acum configurat și transferând date prin UDP, codul complet Python poate fi văzut în zona de atașare a codului. Captura de ecran de mai jos este tipărirea a ceea ce ar trebui să arate atunci când nu există nicio zonă. Codul este atașat în secțiunea cod.
Pasul 5: Crearea Wifi Hotspot din Joule
Ne creăm propriul hotspot wifi pentru dispozitivul Android pentru a transfera date. Utilizarea următoarei comenzi la început o va configura automat. Acesta este utilizat pentru Ubuntu 16.04 sau o versiune ulterioară, deoarece acesta este utilizat. Vom conecta automat acest lucru prin intermediul aplicației Android la pasul următor. Utilizați această comandă la Startup Applications.
dispozitiv nmcli wifi hotspot con-nume vehicul-viziune-spate ssid vehicul-bandă-viziune-spate bg parolă safedriving
În fișierul python al lui walabot, îl vom actualiza și în cazul în care vom trimite un mesaj UDP către dispozitivele conectate prin hotspot privat. Aceasta este pentru a vă asigura că nu se pierde niciun pachet.
out = os.popen ('ip neigh'). read (). splitlines () for i, line in enumerate (out, start = 1): ip = line.split ('') [0] s.sendto (str (ținte [0].zPosCm), (ip, MYPORT))
Pasul 6: Construirea Android ca ecran de afișare
Aplicația Android este concepută pentru afișarea dispozitivului, în principal pentru că reduce factura de material, altfel un ecran separat poate fi atât costisitor, cât și dificil de instalat. În ceea ce privește acest proiect, putem folosi telefonul / tableta Android.
Android se concentrează pe 3 părți pe care le-am făcut mai devreme,
- Conectați-vă la hotspot-ul wifi creat prin dispozitiv IoT (Intel Joule)
- Transmiteți camera RealSense prin mișcare prin wifi
- Măsurarea distanței de la ținta Walabot prin udp
După ce ați configurat totul și ați instalat aplicația Android (deschisă aici), veți putea vedea camera funcționând împreună cu walabot
Pasul 7: Testarea tuturor
Acum avem totul în funcțiune, ar trebui să avem o configurare de bază a tuturor componentelor atașate. Când pornim placa Joule, hotspot-ul ar trebui configurat automat, mișcarea și aplicația walabot vor începe odată cu aceasta, iar când pornim aplicația noastră Android ar trebui să putem transmite în flux de pe cameră. Aceasta înseamnă că tastatura / mouse-ul și monitorul nu mai sunt necesare pentru ca dispozitivul IoT să funcționeze. Dacă se întâmplă probleme în acest moment, cum ar fi bibliotecile care nu sunt instalate corect, ar trebui să o remediem înainte de a trece la pasul următor.
Imprimarea 3D a carcasei care poate ține camera este foarte importantă.
La construirea hardware-ului, ar trebui să avem carcasa personalizată tipărită 3D pregătită pentru cameră. Deoarece acesta este un prototip, se poate slăbi puțin, dar când construim suportul personalizat al plăcuței de înmatriculare, ne așteptăm ca toate componentele să fie în interiorul suportului.
Pasul 8: Testarea pe o mașină reală
Acum, că am făcut totul să funcționeze, îl vom putea testa pe o mașină adevărată. Deoarece acesta este un prototip, lucrurile pot fi puțin dificile, folosim bandă adezivă pentru unele componente.
Pentru a porni kitul Joule IoT, am folosit un invertor de alimentare direct la curent alternativ, apoi pur și simplu am rulat o priză lungă la portbagaj.
Vom avea partea din față și partea din spate. Acesta este doar un prototip chiar acum, următoarea versiune ar integra cipurile în titularul plăcuței de înmatriculare.
Și pentru partea din față, putem folosi un suport pentru telefon sau doar o bandă adezivă pentru tableta Android.
Pasul 9: Folosește-l în lume
Folosind acest instrument, putem sprijini mașina în siguranță pe alte mașini și putem monitoriza pietonii. Puteți viziona videoclipul demonstrativ la început. Scopul proiectului este de a încuraja practici de conducere mai sigure.
Puteți verifica proiectul de pe
Recomandat:
Kissing the Frog V2.0 - Difuzor Bluetooth cu corn din spate complet imprimabil: 5 pași (cu imagini)
Kissing the Frog V2.0 - Difuzor Bluetooth cu corn din spate complet imprimabil: Introducere Permiteți-mi să încep cu un pic de fundal. Deci, ce este un difuzor cu corn din spate? Gândiți-vă la asta ca la un megafon sau gramofon inversat. Un megafon (practic un difuzor din claxon frontal) folosește un claxon acustic pentru a crește eficiența generală a
Taste Macbook din lemn (cu funcționalitate de iluminare din spate): 7 pași
Taste Macbook din lemn (cu funcționalitate de iluminare din spate): Introducere Computerele Mac au fost modificate puternic în ultimii ani. Acest lucru poate varia în ceea ce privește schimbările de culoare, autocolante, gravuri și multe altele. Cheile de lemn de pe un Macbook m-au impresionat întotdeauna. Puteți să le faceți online din diferite locuri pentru aproximativ 70 USD sau
Semnal LED cu iluminare din spate: 10 pași (cu imagini)
Semn LED cu iluminare din spate: Iată pașii pe care i-am efectuat pentru a produce acest semn cu iluminare din spate cu LED-uri. Puteți utiliza acest Instructable pentru a crea un semn cu iluminare din spate cu LED-uri, după propriul dvs. design. Acest proiect a consumat mult timp și a necesitat mai multe resurse și echipamente pentru finalizare. Acest sho
Iluminare din spate inteligentă: 4 pași (cu imagini)
Iluminare din spate inteligentă: Venco este un dispozitiv conceput pentru a fi montat într-o poziție centrată, montată în sus, în partea din spate a vehiculului. Acesta analizează datele de la senzori - giroscop și accelerometru și afișează starea actuală a vehiculului - accelerație, frânare la
Ceas învârtit în spate, creat din motorul casetei: 7 pași (cu imagini)
Spooky Backwards Spinning Clock Made from Cassette Player Motor: Acesta este un accesoriu pe care l-am făcut pentru casa bântuită a școlii elementare a fiicei mele, pe care o conduc cu soțul meu. Ceasul este construit dintr-un ceas de magazin ieftin și un casetofon vechi pentru copii. Afișează ora treisprezece și minutul se învârte