Innehållsförteckning:
- Steg 1: Samla in den hårdvara du behöver
- Steg 2: Installera Ubuntu på Joule och nödvändiga bibliotek som behövs för att köra det
- Steg 3: Strömma RealSense -kameran
- Steg 4: Konfigurera Walabot
- Steg 5: Skapa Wifi -hotspot från Joule
- Steg 6: Bygg Android som skärm
- Steg 7: Testa allt
- Steg 8: Testa på en riktig bil
- Steg 9: Använd det i världen
Video: Fordonsbaksyn: 9 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Varför bygger vi bilens bakre vision?
Säkerhetskollision har varit ett stort problem, U. S. Center for Disease Control rapporterade att från 2001–2003 uppskattningsvis 7 475 barn (2, 492 per år) under 15 år behandlades för bilback-incidenter. Omkring 300 dödsfall per år beror på reservkollisioner. År 2018 kommer alla bilar som säljs i USA att kräva en obligatorisk reservkamera.
Hur löser vi problemet?
De flesta bilar på marknaden idag har fortfarande ingen reservkamera, det inkluderar ungefär hälften av de bilar som säljs i USA idag och mycket mer än hälften över hela världen. Vi kan lösa detta problem genom att installera en kamera på baksidan av bilen med hjälp av registreringsskylten.
Walabot kommer att kunna upptäcka avståndet till målet närmast fordonet.
Intel RealSense R200 -kamera kommer att ge oss en större detalj om vad som syns, inklusive situationer med svagt ljus.
Intel Joule -utvecklarpaketet är tillräckligt kraftfullt för att köra RealSense -kameror tillsammans med Walabot. Raspberry Pi är inte tillräckligt kraftfull för att köra en RealSense 3D -kamera, där vi kan lägga till många fler funktioner i framtiden som kan förbättra bilens funktioner. Samma version kan användas med Pi med en vanlig USB -kamera, men det kommer inte att vara bra för natten.
Android -telefon/surfplatta som används för att visa reservkamera, detta är för att minska kostnaden för en extra skärm. iOS -versionen kan byggas på begäran.
Genom dessa komponenter kommer vi att kunna bygga en Rear End Vision som visar användarens baksida av bilen.
Steg 1: Samla in den hårdvara du behöver
- Intel Joule
- Walabot Pro
- Intel R200 RealSense -kamera
- Android -telefon/surfplatta som kör 5.0 eller högre
- Bilens adapter för uttag och 12VDC nätadapter (detta är för demo för att driva Joule, produktionsversionen kommer att innehålla olika kraftmekanismer)
- USB -hubb för anslutning av kamera och Walabot (USB3 för kamera och USB2 för Walabot)
- DC till AC Direct Plug-in Power Inverter
- Generisk 3D -skrivare för att skriva ut den specialbyggda registreringsskyltramen
Steg 2: Installera Ubuntu på Joule och nödvändiga bibliotek som behövs för att köra det
Eftersom vi har bestämt oss för att gå med Linux-rutt, följ guiden https://developer.ubuntu.com/core/get-started/intel-joule för att installera Ubuntu på Joule. Ubuntu ger oss stor flexibilitet att köra ett verkligt operativsystem på ett IoT -baserat chip.
Steg 3: Strömma RealSense -kameran
Eftersom vi använder Android -telefon/surfplatta för att spara kostnaderna på materialräkningen, som också är mer tillgängliga för användarna, kommer vi att använda rörelsebibliotek för att vara värd för kameran som liknar säkerhetskamerorna. När Ubuntu är installerat och anslutet till wifi kan vi öppna terminalen och använda följande kommando. Vi ansluter först kameran till Joule via USB3 -porten och gör sedan följande steg.
a. Installera rörelse på ubuntu:
sudo apt-get updatesudo apt-get installera rörelse
b. Kopiera konfigurationsfiler:
mkdir.motion sudo cp /etc/motion/motion.conf ~/.motion/motion.conf
c. Konfigurera filen, för de som är bekanta med ubuntu kan installera Sublime för att göra enklare textredigering, annars kan vi redigera den på kommandoraden.
sudo nano ~/.motion/motion.conf
d. Efter att ha anslutit R200 -kameran kan vi ändra följande rader i rörelse. Konf
Detta för att sätta det i bakgrundsläget:
# Starta i daemon (bakgrund) läge och släpp terminal (standard: off) daemon på
Detta är för att använda RealSense -kamerans kameravy.
# Videodevice som ska användas för att fånga (default /dev /video0) # för FreeBSD -standard är /dev /bktr0 videodevice /dev /video2
Att ändra bredd och höjd, 1280 x 720 fungerade bra för mig, men du kan leka med måtten för att se vad som passar ditt behov.
# Bildbredd (pixlar). Giltigt intervall: Kameraberoende, standard: 352 bredd 1280 # Bildhöjd (pixlar). Giltigt område: Kameraberoende, standard: 288 höjd 720
Jag ställer in detta till 30, ju högre du ställer in numret desto mer datorkraft krävs det. Du kan leka och se vad som är riktmärket för det, men 30 har fungerat utmärkt för mig.
# Maximalt antal bilder som ska fångas per sekund. # Giltigt intervall: 2-100. Standard: 100 (nästan ingen gräns). framerate 30
Eftersom vi alltid strömmar bakåt i bilen kan vi ställa in en dedikerad port, vi använder 5001
#################################################### ##########Live Stream Server ####################################### #########################mini-http-servern lyssnar på denna port för förfrågningar (standard: 0 = inaktiverad) stream_port 5001#Kvaliteten på jpeg (i procent) bilder som produceras (standard: 50) stream_quality 50 # Utmatningsramar vid 1 bps när ingen rörelse detekteras och ökar till den # hastighet som stream_maxrate ger när rörelse detekteras (standard: av) stream_motion av # Maximal framerate för strömströmmar (standard: 1) stream_maxrate 60 # Begränsa strömanslutningar till endast localhost (standard: på) stream_localhost av
Du kan sedan köra ifconfig och räkna ut ip -adressen och köra i terminalen, porten blir 5001.
rörelse
Om det inte finns några fel är det enkelt att kontrollera kameran från din dator med hjälp av ip, åtgärda felen, till exempel tillståndsproblem om det finns några.
När detta har körts kan vi lägga till detta i startprogrammet i Ubuntu.
Rörelse start för kamera
motion.conf bifogas i kodavsnittet, du kan kolla in fler inställningar där.
Steg 4: Konfigurera Walabot
Med kameran på plats behöver vi fortfarande ställa in walabot, detta kan upptäcka avståndet mellan fordonet till föremålet bakom, vilket ger en tydlig vision om hur vi ska
a, ladda ner deb-filen från
Följ instruktionerna från https://api.walabot.com/_install.html#_linuxInstall för att installera Walabot API så att det kan importeras till python -projekt.
Det finns ett misstag på webbplatsen på den del där det installeras Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi där det står
python -m pip “/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz”
Det borde vara
python -m pip installera "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"
b. anslut Walabot Pro via USB 2, jag kunde inte få usb3 -funktionen men usb2 fungerar bra att ansluta till linux. Eftersom Joule bara har en USB3 -port, anslut en extra USB2 -port för att rymma Walabot Pro här
c. Testa Walabot-projektet, till exempel https://github.com/Walabot-Projects/Walabot-Senso … genom att köra följande kommando i mappen
python SensorTargets.py
Detta bör ge dig ett bra test för att se om Walabot körs korrekt, samt hur du mäter avstånd på saker du vill ha. DistanceMeasure -exemplet var inte alltför konsekvent i mätningen, och zPosCm verkar vara extremt exakt, så jag har bestämt mig för att använda zPosCM för demoen.
d. Vi behöver fortfarande skicka data till displayenheten, eftersom vi kör detta på Android för att minska materialkostnaden kan vi använda uttag. Vi använder följande kod för att konfigurera uttaget och udp i python.
MYPORT = 5002 import sys, tid från socket import * s = socket (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)
Följande kommando sänder data vid uppdatering
s.sendto (str (mål [0].zPosCm), ('255.255.255.255', MYPORT))
e. När detta är gjort kan vi ställa in det i startprogrammet
f. Walabot installerar och överför nu data via UDP, full pythonkod kan ses i kodfästområdet. Skärmdumpen nedan är utskriften av hur det ska se ut när det inte finns något område. Koden bifogas i kodavsnittet.
Steg 5: Skapa Wifi -hotspot från Joule
Vi skapar vår egen wifi -hotspot för Android -enhet att överföra data genom. Om du använder följande kommando vid start ställs det in automatiskt. Detta används för Ubuntu 16.04 eller senare, eftersom det används. Vi kommer automatiskt att ansluta detta via Android -appen i nästa steg. Använd det här kommandot vid startprogram.
nmcli enhet wifi hotspot con-name fordon-bak-vision ssid fordon-bak-vision band bg lösenord safedriving
Inuti walabots python -fil kommer vi också att uppdatera den där vi kommer att skicka udp -meddelande till enheter som är anslutna via privat hotspot. Detta för att säkerställa att inget paket går förlorat.
out = os.popen ('ip neigh'). read (). splitlines () for i, line in enumerate (out, start = 1): ip = line.split ('') [0] s.sendto (str (mål [0].zPosCm), (ip, MYPORT))
Steg 6: Bygg Android som skärm
Android -appen är byggd för att visa enheten, främst för att den minskar materialräkningen eftersom en separat skärm annars kan vara både dyr och svår att installera. När det gäller detta projekt kan vi använda Android -telefon/surfplatta.
Android fokuserar på tre delar som vi har gjort tidigare,
- Anslut till wifi -hotspot skapad via IoT -enhet (Intel Joule)
- Ström RealSense -kameran via rörelse via wifi
- Mätavstånd från Walabot -målet genom udp
När du har konfigurerat allt och installerat Android -appen (öppen här) kan du se kameran fungera tillsammans med walabot
Steg 7: Testa allt
Nu fick vi allt igång, vi borde ha en grundläggande installation av alla komponenter bifogade. När vi startar Joule -kortet bör hotspot automatiskt konfigureras, rörelse- och walabot -appen startar tillsammans med den, och när vi slår på vår Android -app ska vi kunna strömma från kameran. Det betyder att tangentbordet/musen och monitorn inte längre behövs för att IoT -enheten ska fungera. Om det uppstår några problem för närvarande, till exempel att bibliotek inte är rätt installerade, bör vi åtgärda det innan vi fortsätter till nästa steg.
3D -utskrift av höljet som rymmer kameran är mycket viktigt.
När vi bygger hårdvaran bör vi ha vårt anpassade 3D -tryckta hölje redo för kameran. Eftersom det här är en prototyp kan det lossna lite, men när vi bygger ut anpassad registreringsskylthållare förväntar vi oss att alla komponenter ska vara inne i hållaren.
Steg 8: Testa på en riktig bil
Nu när vi har fått allt att fungera kommer vi att kunna testa det på en riktig bil. Eftersom det här är en prototyp kan saker vara lite grova, vi använder tejp för några av komponenterna.
För att starta Joule IoT-satsen använde vi en DC till AC Direct Plug-in Power Inverter, sedan körde vi bara ett långt eluttag till bagageutrymmet.
Vi kommer att ha den främre delen och den bakre delen. Detta är bara en prototyp just nu, nästa version skulle integrera chipsen inuti registreringsskylthållaren.
Och för den främre delen kan vi antingen använda en telefonhållare eller bara bandtejp Android Tablet.
Steg 9: Använd det i världen
Med det här verktyget kan vi säkerhetskopiera bilen säkert till andra bilar och kunna övervaka fotgängare. Du kan se demofilmen i början. Projektets mål är att uppmuntra till säkrare körrutiner.
Du kan kolla in projektet från
Rekommenderad:
Ta fantastiska bilder med en iPhone: 9 steg (med bilder)
Ta fantastiska bilder med en iPhone: De flesta av oss har en smartphone med oss överallt nuförtiden, så det är viktigt att veta hur du använder din smartphone -kamera för att ta fantastiska bilder! Jag har bara haft en smartphone i ett par år, och jag har älskat att ha en bra kamera för att dokumentera saker jag
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: 7 steg (med bilder)
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: Jag planerar att använda denna Rapsberry PI i ett gäng roliga projekt tillbaka i min blogg. Kolla gärna in det. Jag ville börja använda mitt Raspberry PI men jag hade inte ett tangentbord eller en mus på min nya plats. Det var ett tag sedan jag installerade en hallon
Hur man digitaliserar bilder och filmnegativ med en DSLR: 12 steg (med bilder)
Hur man digitaliserar diabilder och filmnegativ med en DSLR: En mångsidig och stabil inställning för digitalisering av diabilder och negativ med en DSLR eller en kamera med ett makroalternativ. Denna instruerbara är en uppdatering av Hur man digitaliserar 35 mm negativ (uppladdad juli 2011) med flera förbättringar för att utöka dess
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen