Turinys:

Elektrinio vežimėlio galinio vaizdo kamera: 10 žingsnių (su nuotraukomis)
Elektrinio vežimėlio galinio vaizdo kamera: 10 žingsnių (su nuotraukomis)

Video: Elektrinio vežimėlio galinio vaizdo kamera: 10 žingsnių (su nuotraukomis)

Video: Elektrinio vežimėlio galinio vaizdo kamera: 10 žingsnių (su nuotraukomis)
Video: Jaunuolio EV: tokio jausmo dar nesame patyrę 2024, Liepa
Anonim
Image
Image
Reikalingos dalys
Reikalingos dalys

Mano brolis naudoja „Invacare TDX“elektrinį vežimėlį, kuriuo lengva manevruoti visomis kryptimis, tačiau dėl riboto matomumo atgal sunku važiuoti atgal ribotose vietose. Projekto tikslas yra sukurti galinio vaizdo kamerą, naudojant IP transliaciją į mobilųjį telefoną, kuris yra sumontuotas šalia jo vairo vairasvirtės.

Reikalingi komponentai:

  • maitinimas ir paskirstymas naudojant neįgaliųjų vežimėlių galią
  • galinio vaizdo kamera ir vaizdo transliacija
  • mobiliojo telefono laikiklis valdymo pultui.

Maitinimą tiekia pats neįgaliojo vežimėlis, kuriame naudojamos 24 V švino baterijos. Įkrovimo prievadas netinkamai naudojamas prijungti maitinimo keitiklį prie USB, kuris įgalina „Raspberry“, atsakingą už srautinį perdavimą, ir, jei reikia, maitina mobilųjį telefoną.

Srautą perduoda „Raspberry Pi Zero W“, kuris tarnauja kaip belaidis prieigos taškas ir perduoda vaizdo įrašą į bet kurį įrenginį, prijungtą prie belaidžio tinklo.

Mobilusis telefonas, skirtas vaizdui rodyti, yra sumontuotas naudojant 3D spausdintą adapterį prie vežimėlio valdymo bloko.

Norėdami vykdyti šį projektą, jums reikės tam tikrų pagrindinių žinių apie „Debian“/„Linux“, nes konfigūracija reikalauja rankinio darbo. Tačiau tai nėra per daug sudėtinga, todėl pabandykite - jei nesate tikri, „Linux“yra šimtai vadovėlių, kurie gali jums padėti.

1 žingsnis: reikalingos dalys

„Raspberry Pi Zero W“: pagrindinis vaizdo transliacijos komponentas

„SainSmart“plačiakampiai „Fish-Eye“fotoaparato objektyvai „Raspberry Pi“: „Arduino“kamera suderinama plačiakampė kamera (170 ° FOV)

2 × plastikiniai korpusai: vienas mažesnis korpusas avietėms ir fotoaparatui, vienas didesnis korpusas energijos paskirstymui

XLR kištukas: prijungti prie neįgaliojo vežimėlio įkrovimo prievado

Automobilio USB prievadas (pvz., „TurnRaise 12-24V 3.1A“): 24V į USB keitiklis mažame korpuse, skirtas naudoti automobiliams ir motociklams. Tai gali būti viskas, kas naudoja 24 V įvestį ir teikia USB išvestį.

Įvairūs kabeliai:

  • Maitinimo kabelis, vedantis iš XLR prievado į neįgaliojo vežimėlio galą,
  • USB kabelis, skirtas tiekti Raspberry

3D spausdintas adapteris telefonui 3D spausdintas adapteris prie vežimėlio valdymo bloko, kuris yra standartinio automobilio mobiliojo telefono laikiklio pagrindas:

Automobilio mobiliojo telefono laikiklis: mobiliojo telefono laikiklis, kurį galima pritvirtinti prie lygaus paviršiaus (pvz., Prietaisų skydelio telefono laikiklis). Aš naudojau vieną iš Vokietijos gamintojo „Hama“.

2 veiksmas: Raspberry Camera nustatymas

Aviečių kameros nustatymas
Aviečių kameros nustatymas

Įdiekite „Raspbian“iš https://www.raspberrypi.org/downloads/raspbian/, vadovaudamiesi instrukcijomis iš

Įdiekite visus naujinimus vykdydami šias dvi komandas iš terminalo:

sudo apt-get atnaujinimas

sudo apt-get dist-upgrade

Išjunkite, prijunkite fotoaparatą. Vėl pradėkite avietę.

Raspberry Setup skydelyje įjunkite fotoaparatą ir įjunkite SSH prieigą prie aviečių. „Sainsmart“fotoaparatas veikia kaip oficiali „Pi“kamera, galite sekti čia pateiktas instrukcijas: https://www.raspberrypi.org/learning/addons-guide… Deja, dar nebaigėte. Mums reikia v4l tvarkyklės raspi-cam, kuri neįjungta iš dėžutės. Pirmiausia turėtumėte atnaujinti aviečių programinę -aparatinę įrangą, kad gautumėte naujausią programinės įrangos ir branduolio tvarkyklę - terminale paleiskite šiuos veiksmus:

sudo raspi atnaujinimas

Dabar turite įkelti v4l branduolio tvarkyklę, įvesdami terminalą:

sudo modprobe bcm2835-v4l2

Jei tai veikė be klaidų pranešimų, dabar turėtumėte turėti įrenginį /dev /video0, patikrinkite

ls - l /dev /vid*

Jei tai pavyko, pridėkite bcm2835-v4l2 prie /etc /modules, kad kiekvieną kartą įjungtumėte modulį.

Galite patikrinti, ar fotoaparatas veikia su komanda:

raspistill -o cam.jpg

3 veiksmas: įdiekite „V4l2rtspserver“

Įdiekite „V4l2rtspserver“
Įdiekite „V4l2rtspserver“

Pirmiausia turite įdiegti „cmake“, nes mes patys sudarysime vaizdo transliacijos programą:

sudo apt-get install cmake

Srautui naudojame „v4l2rtspserver“, nes mūsų bandymų metu jis rodė mažiausią delsą. Kodą galite gauti iš

Įdiekite jį naudodami:

git klonas

cd h264v4l2rtspserver

cmake.

diegti

Viskas turėtų baigtis be klaidų ir galite tai išbandyti dabar paleisdami srautinio perdavimo serverį iš terminalo:

v4l2rtspserver -W 352 -H 288 -F 10 /dev /video0

Prisijunkite prie to paties tinklo kompiuterio VLC prie aviečių: rtsp: //: 8554/unicast, kad patikrintumėte, ar srautas veikia.

Sukurkite scenarijų pavadinimu launcher.sh savo namų kataloge naudodami mėgstamą redaktorių (kuris turėtų būti vi):

!#/bin/bashsleep 20 v4l2rtspserver -W 352 -H 288 -F 10/dev/video0

Miego komanda reikalinga tam, kad vaizdo tvarkyklė būtų paruošta. Tikriausiai jį galima nustatyti mažiau nei 20 sekundžių …

Pridėkite šį scenarijų prie savo „crontab“naudodami „crontab -e“ir pridėkite:

@reboot sh /home/pi/bbt/launcher.sh>/home/pi/logs/cronlog 2> & 1

Tai turėtų automatiškai pradėti transliaciją kiekvieną kartą.

Transliacijos alternatyvos:

Yra keletas alternatyvų, kurias galima naudoti vaizdo transliacijai, aš išbandžiau „motion“ir „vlc“. „Motion“yra internetinės kameros įrankis, kuris aptinka judesį, todėl atlieka papildomą vaizdų vaizdų analizę ir tikriausiai yra šiek tiek lėtesnis nei tiesioginis transliavimas.

VLC veikia iš dėžutės be jokių papildomų kompiliacijų:

cvlc v4l2: /// dev/video0-v4l2-width 320 --v4l2-height 200 --v4l2-chroma h264 --sout '#standard {access = http, mux = ts, dst = 0.0.0.0: 12345} '

Ši komanda perduoda h264 koduotą vaizdo įrašą per http 12345 prievadą. Mūsų bandymo sąrankoje delsos trukmė yra maždaug 2 sekundės.

4 veiksmas: nustatykite avietę kaip „WiFi“prieigos tašką: 1 dalis - „Hostapd“

Nustatykite avietę kaip „WiFi“prieigos tašką: 1 dalis - „Hostapd“
Nustatykite avietę kaip „WiFi“prieigos tašką: 1 dalis - „Hostapd“

Šis žingsnis nustato jūsų Raspberry kaip prieigos tašką. Po to jūs nebesate prisijungę prie savo tinklo, bet „Raspberry“atveria savo „WiFi“tinklą. Jei pasitaiko klaidų, turite turėti prieigą prie „Raspberry“su klaviatūra ir ekranu, todėl padarykite tai prieš užkasdami avietę kur nors korpuse …

Aš laikausi čia aprašyto metodo:

Įdiekite „hostapd“ir „dnsmasq“:

sudo apt-get install dnsmasq hostapd

Išjunkite dhcp sąsajoje wlan0, pridėdami šią eilutę prie /etc/dhcpd.conf (geriausia viršuje)

denyinterfaces wlan0

Konfigūruokite statinį „wlan0“sąsajos IP, redaguodami/etc/network/interfaces ir įtraukdami šiuos dalykus:

let-hotplug wlan0 iface wlan0 inet statinis adresas 172.24.1.1 netmask 255.255.255.0 tinklas 172.24.1.0 transliacija 172.24.1.255

Iš naujo paleiskite „dhcp“demoną naudodami „sudo“paslaugą „dhcpcd restart“, tada iš naujo įkelkite „wlan0“konfigūraciją naudodami

sudo ifdown wlan0; sudo ifup wlan0

Įrašykite pridėtą hostapd.conf į /etc/hostapd/hostapd.conf (patikrinę turinį ir pritaikę jį pagal savo skonį - bent jau pakeiskite SSID ir slaptafrazę į kažką saugesnio).

Dabar galite patikrinti, ar jis veikia, paleisdami:

sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf

Turėtumėte turėti galimybę prisijungti prie naujo tinklo, tačiau dar negausite IP adreso. Sustabdykite hostapd paspausdami CTRL-C. Įgalinkite automatinį „hostapd“paleidimą, redaguodami/etc/default/hostapd ir pridėdami konfigūracijos failo vietą, pakeisdami atitinkamą eilutę į

DAEMON_CONF = "/etc/hostapd/hostapd.conf"

5 veiksmas: nustatykite avietę kaip „WiFi“prieigos tašką: 2 dalis - „Dnsmasq“

Nustatykite avietę kaip „WiFi“prieigos tašką: 2 dalis - „Dnsmasq“
Nustatykite avietę kaip „WiFi“prieigos tašką: 2 dalis - „Dnsmasq“

Perkelkite pateiktą „dnsmasq“konfigūraciją į atsarginį failą (nes jame yra daug komentarų, vis tiek galite jį naudoti kaip nuorodą):

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

Tada sukurkite naują /etc/dnsmasq.conf su šiuo turiniu:

serveris = 8.8.8.8 # Persiųskite DNS užklausas į „Google“DNS domenui reikia # Neperduokite trumpų vardų bogus-priv # Niekada nepersiųskite adresų nenukreiptose adresų erdvėse. dhcp-range = 172.24.1.50, 172.24.1.150, 12h # Priskirkite IP adresus nuo 172.24.1.50 iki 172.24.1.150 su 12 valandų nuomos laiku

Prijungus „dnsmasq“paslaugą tam tikru adresu, kyla tam tikrų diegimo problemų, todėl tiesiog leidžiame jai veikti visose sąsajose. Kadangi „Raspberry Pi Zero W“turi tik „WiFi“, tai nėra problema, nebent prijungsite USB Ethernet sąsają … (šiuo atveju šioje sąsajoje taip pat turėtumėte dhcp serverį, todėl tai gali sujaukti tinklą, prie kurio jungiatės kabeliu).

Jums nereikia atlikti jokių papildomų veiksmų, kad paleistumėte „dnsmasq“paleidžiant, jis automatiškai paleidžiamas. Tačiau prieš iš naujo paleisdami turėtumėte išbandyti viską, paleisdami abi paslaugas rankiniu būdu ir patikrinkite, ar galite prisijungti prie „WiFi“ir gauti IP adresą (taip pat galite pasakyti savo mobiliajam telefonui, kad šis „WiFi“neturi interneto ir kad tai gerai):

sudo paslauga hostapd paleisti sudo paslauga dnsmasq start

6 veiksmas: patikrinkite programinę įrangą

Patikrinkite programinę įrangą
Patikrinkite programinę įrangą

Dabar, kai viską sukonfigūravote, atėjo laikas atlikti trumpą patikrinimą (prieš viską sunkiau pasiekti). Perkraukite avietę.

Prisijunkite prie „WiFi“, jei avietės su savo mobiliuoju telefonu. Prijunkite srautinio vaizdo įrašų klientą (pvz., VLC, kuris yra visose operacinėse sistemose) prie aviečių srauto, pasirinkę „Tinklo srautas“ir prisijungę prie rtsp: //: 8554/unicast (tai yra jūsų įrenginio IP, jei to nepadarėte) pakeisti tai yra 172.24.1.1).

Dabar turėtumėte pamatyti tiesioginį vaizdo įrašą iš fotoaparato … (turėjau problemų su „Android“VLC, bet „iOS“VLC veikė sklandžiai - toliau netyriau „Android“versijos, nes mano brolis naudoja „iOS“).

7 žingsnis: Maitinimo šaltinio gamyba

Maitinimo šaltinio gamyba
Maitinimo šaltinio gamyba
Maitinimo šaltinio gamyba
Maitinimo šaltinio gamyba
Maitinimo šaltinio gamyba
Maitinimo šaltinio gamyba

„Invacare“valdiklyje naudojami, atrodo, standartiniai motoriniai vežimėliai. Jungtis yra standartinė XLR jungtis, naudojama mikrofonams. 1 kaištis yra teigiamas, 2 - neigiamas. „Invacare“turi du papildomus kontaktų kaiščius, tačiau mes nesiruošiame su jais kištis …

Prijunkite XLR jungtį prie USB maitinimo adapterio ir viską sudėkite į dėžutę. Norint prijungti kabelį prie dėžutės, gera idėja yra perėjimas. Įsitikinkite, kad kabelis yra pakankamai ilgas, kad jį būtų galima nutiesti nuo vežimėlio valdymo modulio iki nugaros atramos, kur pritvirtinsite maitinimo bloką. Galite nukreipti kabelius po valdymo modulio laidais, kad įsitikintumėte, jog jie niekur neužsikiša į kilnojamąją dalį.

8 žingsnis: sukurkite fotoaparato dėžutę

Fotoaparato dėžės kūrimas
Fotoaparato dėžės kūrimas
Fotoaparato dėžės kūrimas
Fotoaparato dėžės kūrimas
Fotoaparato dėžės kūrimas
Fotoaparato dėžės kūrimas
Fotoaparato dėžės kūrimas
Fotoaparato dėžės kūrimas

Sukurkite dėžutę, kuri tinka aviečių pi ir fotoaparatui. Dėžutės šone turi būti skylė, per kurią būtų galima nukreipti USB maitinimo kabelį, ir skylė fotoaparatui, kuri yra pakankamai didelė, kad netrukdytų vaizdui. Aš sumontavau fotoaparatą maždaug 45 ° kampu, kad jis būtų nukreiptas žemyn, kad galėčiau matyti galinius vežimėlio ratus. Aš naudojau standartinę plastikinę dėžę, į kurią išpjoviau keletą skylių, bet taip pat galite 3D spausdinti patogesnę versiją (galbūt 2 versijai)

9 veiksmas: padarykite telefono laikiklį

Padarykite telefono laikiklį
Padarykite telefono laikiklį
Padarykite telefono laikiklį
Padarykite telefono laikiklį
Padarykite telefono laikiklį
Padarykite telefono laikiklį

Norėdami pritvirtinti mobilųjį telefoną prie vežimėlio, aš 3D atspausdinau adapterio plokštelę, kurią rasite čia: https://www.thingiverse.com/thing:2742683 (taip pat pridedamas STL failas). Jis pritvirtintas prie vežimėlio valdymo bloko. Ant šios plokštelės galite klijuoti bet kokį automobilio telefono laikiklį, kurį galite įsigyti pigiai bet kur.

10 žingsnis: surinkite viską ir išbandykite

Surinkite viską ir išbandykite
Surinkite viską ir išbandykite
Surinkite viską ir išbandykite
Surinkite viską ir išbandykite
Surinkite viską ir išbandykite
Surinkite viską ir išbandykite

Dabar atėjo laikas viską surinkti:

Pritvirtinkite fotoaparato dėžę kažkur neįgaliojo vežimėlio gale, kur vaizdas netrukdomas ir fotoaparatas nukreiptas atgal. Prijunkite maitinimo dėžutę kažkur gale, kur ji netrukdo. Prijunkite „Raspberry“USB kabelį prie maitinimo dėžutės. Prijunkite maitinimo bloką su XLR kištuku prie neįgaliojo vežimėlio valdymo bloko įkrovimo prievado. Viskas turėtų prasidėti dabar.

Įdiekite VLC savo mobiliajame telefone (jei to dar nepadarėte …) ir prisijunkite prie „Raspberry“per rtsp: //: 8554/unicast

Dabar turėtumėte pamatyti fotoaparato vaizdą savo mobiliajame telefone:-)

Padėkite mobiliojo telefono laikiklį ant vežimėlio valdymo bloko ir pritvirtinkite telefoną prie jo. Ir viskas, baigta!

Raspberry Pi konkursas 2017 m
Raspberry Pi konkursas 2017 m
Raspberry Pi konkursas 2017 m
Raspberry Pi konkursas 2017 m

Antrasis prizas „Raspberry Pi“konkurse 2017 m

Rekomenduojamas: