Įvadas
Pridedant akameros modulisįterptoji sistema atveria mašininį matymą, saugumą, robotiką ir daiktų internetą. Skirtingai nuo stalinio kompiuterio, kuriame tiesiog prijungiate USB internetinę kamerą, įterptąjį integravimą reikia kruopščiai apgalvoti apie sąsają, tvarkykles, galią ir dydį. Šiame straipsnyje aprašomi praktiniai žingsniai, kaip integruoti skirtingus fotoaparatų tipus – nuo amažas kameros modulissu MIPI CSI-2, į aCMOS kameros modulissu USB, ir net kaip aUART infraraudonųjų spindulių jutiklio modulisgali dirbti kartu su kamera.
1 veiksmas: pasirinkite tinkamą fotoaparato modulį
Pirmiausia pasirinkite ajutiklio kameros moduliskuri atitinka jūsų įterptosios sistemos ribas.
- Sąsaja– Įprastos parinktys: MIPI CSI‑2 (maža delsa, maža galia, tiesiogiai į procesorių), USB (UVC, „plug-and-play“, ilgesni laidai) arba lygiagrečiai (daugiau kaiščių, senesni). Daugumai įterptųjų sistemų MIPI yra geriausias.
- Rezoliucija– 720p arba 1080p pakanka daugeliui užduočių; 4K reikia galingo procesoriaus.
- Fizinis dydis – A mažas kameros modulis(pvz., 8 mm × 8 mm) tinka kompaktiškiems įrenginiams. Mažoms erdvėms yra COB plokštės lygio moduliai.
- Jautrumas– Esant silpnam apšvietimui arba infraraudoniesiems spinduliams, pasirinkite aCMOS kameros modulissu atgal apšviestais (BSI) pikseliais.
Pastaba: AUART infraraudonųjų spindulių jutiklio modulisnėra fotoaparatas. Jis išveda atstumo arba buvimo duomenis per UART. Galite pridėti vieną, kad aptiktumėte judesį ir pažadintumėte fotoaparatą.
2 veiksmas: supraskite aparatinės įrangos sąsają
- MIPI CSI-2– Dauguma įterptųjų procesorių (Raspberry Pi, i.MX, STM32MP, Jetson) turi tam skirtą CSI jungtį. Jums reikia juostinio laido ir atitinkamos jungties. TheRaspberry kameros modulis 2yra klasikinis pavyzdys – jis jungiamas tiesiai į Pi CSI prievadą.
- USB– Jei jūsų procesoriuje yra USB priegloba (pvz., Raspberry Pi, BeagleBone), galite naudoti USB kameros modulį. „Linux“ branduolio UVC tvarkyklė tai tvarko automatiškai.
- Lygiagretus / DVP– Senesni arba mažos galios MCU (pvz., kai kurie STM32F4) naudoja lygiagrečią sąsają. Tam reikia daug GPIO kaiščių ir kruopštaus laiko.
- UART infraraudonųjų spindulių jutiklio modulis– Prijunkite jį prie savo procesoriaus UART (TX/RX). Skaitykite jo serijinius duomenis, kad gautumėte atstumo arba buvimo reikšmes.
3 veiksmas: paruoškite OS ir tvarkykles
- Linux– MIPI kamerose įgalinkite tinkamą įrenginio medžio perdangą (pvz., Raspberry Pi: dtoverlay=imx219). USB kameros naudoja integruotą uvcvideo tvarkyklę. Norėdami užfiksuoti, naudokite „Video4Linux“ (V4L2). Komanda: v4l2-ctl --list-devices.
- Android– MIPI kameros palaikomos per kameros HAL. Tiekėjo BSP apima tvarkykles.
- RTOS („FreeRTOS“, „Zephyr“)– Gali tekti parašyti vairuotoją. Paprastesnės lygiagrečios kameros yra lengvesnės.
- Dėl aUART infraraudonųjų spindulių jutiklio modulis, tiesiog perskaitykite simbolius iš serijinio įrenginio ir juos analizuokite.
4 žingsnis: fizinė integracija
- Montavimas– Apsaugokitemažas kameros modulisvaržtais arba klijais. Sulygiuokite objektyvą su bet kokiu langu.
- Kabeliai– MIPI juostelės yra trapios; laikykite juos trumpus ir venkite staigių posūkių. USB kabeliai gali būti ilgesni, tačiau jiems reikia sumažinti įtampą.
- Galia– Patikrinkite fotoaparato įtampą (dažniausiai 3,3 V arba 5 V). Kai kuriems moduliams reikia kelių priedų. ACMOS kameros modulissu įmontuotu reguliatoriumi gali prireikti tik 3,3 V.
- EMI– MIPI signalai gali sukelti trikdžius. Naudokite ekranuotus kabelius ir įžeminimo plokštes.
5 veiksmas: parašykite programinę įrangą, kad galėtumėte pasiekti fotoaparatą
- Naudojant V4L2 („Linux“)– Atidarykite /dev/videoX, nustatykite formatą (pvz., V4L2_PIX_FMT_YUYV arba MJPEG), paprašykite buferių ir pradėkite srautinį perdavimą. Daugelis naudoja libcamera arba GStreamer.
- Raspberry Pi su Raspberry kameros moduliu 2– Norėdami užfiksuoti nejudantį vaizdą, naudokite libcamera{0}}jpeg:
- libcamera-jpeg -o test.jpg
- USB kamera su Python– OpenCV gali pasiekti bet kurią UVC kamerą: cap=cv2.VideoCapture(0)
- UART infraraudonųjų spindulių jutiklio modulio skaitymas– Atidarykite nuoseklųjį prievadą (pvz., /dev/ttyS0) tinkamu duomenų perdavimo greičiu ir nuskaitykite duomenų kadrus.
6 veiksmas: optimizuokite įterptiesiems apribojimams
Sumažinkite kadrų dažnį (pvz., 5–15 kadrų per sekundę), kad sutaupytumėte procesoriaus ir energijos.
Mažesnė skiriamoji geba – „Full HD“ dažnai yra perteklinė; naudoti mažesnę IG.
Naudokite dominančią sritį (ROI) – skaitykite tik dalį jutiklio.
Trigeris su kitu jutikliu – aUART infraraudonųjų spindulių jutiklio modulisgali pažadinti fotoaparatą tik tada, kai aptinkamas judesys.
7 veiksmas: derinkite įprastas problemas
- Nėra /dev/videoX– Patikrinkite dmesg|grep vaizdo įrašas. Jei naudojate MIPI, patikrinkite įrenginio medžio perdangą.
- Žalias/rožinis vaizdas– Netinkamas spalvų formatas arba nenustatytas baltos spalvos balansas.
- Mirgėjimas– Sureguliuokite ekspoziciją arba automatinį stiprinimo valdymą.
- Didelis CPU– Naudokite aparatinės įrangos kodavimą (H.264) arba mažesnę skyrą.
Pavyzdys: Raspberry Pi + Raspberry kameros modulis 2 + UART infraraudonųjų spindulių jutiklis
Prijunkite fotoaparatą prie CSI prievado.
Prijunkite UART infraraudonųjų spindulių atstumo jutiklį prie GPIO UART kaiščių.
Parašykite Python scenarijų, kuris nuskaito jutiklį. Kai atstumas yra mažesnis už slenkstį, užfiksuokite JPEG vaizdą iš fotoaparato.
Taip sukuriama paprasta judesio paleidžiama kamera.
Išvada
Integruojant akameros modulisį įterptąją sistemą reikia pasirinkti tinkamąjutiklio kameros modulis(sąsaja, dydis, skiriamoji geba), teisingai prijungti (MIPI arba USB), sukonfigūruoti OS / tvarkyklę ir parašyti efektyvią fiksavimo programinę įrangą. Amažas kameros modulispuikiai tinka kompaktiškam dizainui. ACMOS kameros modulissiūlo šiuolaikišką mažos galios veikimą. TheRaspberry kameros modulis 2yra lengvas prototipų pasirinkimas. Pridedant aUART infraraudonųjų spindulių jutiklio modulisįgalina išmanųjį pažadinimą arba duomenų sujungimą. Kruopščiai planuodami galite pridėti patikimą regėjimą prie bet kurio įterpto įrenginio.
Susisiekite su nuoširdžiu užsakymukameros modulisintegracijos palaikymas.





