
Een camera kan perfect functioneren op een Windows-ontwikkelingslaptop en toch falen wanneer deze wordt aangesloten op het Android-bord dat is geselecteerd voor de uiteindelijke kiosk. Terminalgroepen ontdekken dit vaak pas laat. Het prototype toont een scherpe 1080p-afbeelding, dus het camera-werk lijkt voltooid. Tijdens systeemtesten kan de camera echter verdwijnen na een herstart, kan Android slechts een lage-resolutiemodus blootleggen, of kan Linux video streamen zonder dat de applicatie de belichting kan aanpassen.
De sensor is niet altijd de oorzaak. Vaker ligt het probleem ergens tussen camerafirmware, UVC-descriptoren, USB-bandbreedte, de camera-stack van het besturingssysteem en de applicatie. Voor een terminalproject is het specificeren van een USB camera module is slechts een uitgangspunt. De module moet binnen het productiesysteem worden getest voordat deze kan worden goedgekeurd.
UVC vermindert de werklast voor de bestuurder, maar elimineert compatibiliteitstests niet.
UVC staat voor USB Video Class . Het definieert hoe een USB-videotoestel zijn beeldformaten, resoluties, beeldfrequenties en bedieningselementen aan de host rapporteert. Op Windows kan een conform UVC-toestel de door het systeem geleverde USB-videostuurprogramma gebruiken in plaats van een eigen camera-stuurprogramma. Dat is één reden waarom UVC-modules veelvoorkomen in kiosken, toegangscontroleterminals en conferentieapparatuur.
Een wijziging van het besturingssysteem kan het resultaat nog steeds beïnvloeden. Linux heeft normaliter toegang tot een UVC-camera via de uvcvideo-stuurprogramma en V4L2. Standaardbedieningselementen zijn meestal eenvoudig, terwijl leverancierspecifieke bedieningselementen mogelijk extra softwaretoewijzing vereisen. Ondersteuning voor externe USB-camera’s op Android vereist meer aandacht: het bord moet USB-hostmodus ondersteunen, de kernel moet UVC inschakelen en de systeemimage moet een externe camera-aanbieder of een toepassing bevatten die rechtstreeks toegang heeft tot het USB-apparaat. Een verklaring van een leverancier dat een module Android ondersteunt, is daarom op zichzelf niet voldoende. Compatibiliteit moet worden bevestigd op het werkelijke bord en de werkelijke systeemimage.
De host mag niet automatisch de hoogste resolutie gebruiken die in de datasheet staat
Overweeg de Sinoseen OV2710 USB-camera-module de gepubliceerde specificatie vermeldt een 2 MP OV2710-sensor, een uitvoer van 1920 × 1080, USB 2.0, vaste scherpstelling en zowel MJPEG- als ongecomprimeerde YUV-uitvoermodi. Geen van deze specificaties is ongebruikelijk, maar de host selecteert niet automatisch de hoogste modus die op de pagina wordt vermeld.
MJPEG maakt het doorgaans eenvoudiger om 1080p-video via USB 2.0 te verzenden, omdat het de belasting op de bus vermindert. Het nadeel is de decoderbelasting op de host. Een bescheiden Android-processor kan wellicht een 1080p-stream weergeven, maar gebruikt daarbij een aanzienlijk deel van zijn CPU-tijd voor decoding. Ongecomprimeerde video keert deze afweging om: er is minder decoding nodig, maar veel meer USB-bandbreedte wordt verbruikt. Als de camera een interne hub deelt met een barcodelezer, kaartlezer, microfoon of touchscreen, moet deze bandbreedte vroegtijdig worden gecontroleerd. Voordat u een module goedkeurt, noteer dan de resoluties, beeldfrequenties, formaten en stroomopname die worden gerapporteerd door de productiefirmware, in plaats van de kopspecificatie van de sensor over te nemen.
Vaste scherpstelling moet overeenkomen met de terminalindeling
De OV2710-module gebruikt een vaste scherpstelling met een opgegeven gezichtsveld van 70 graden. Omdat er geen scherpstelmotor is die beweegt, slijt of in een verkeerde positie terugkeert, is vaste scherpstelling vaak een betrouwbare keuze voor een terminal – mits de werkafstand binnen een gecontroleerd bereik blijft. Een camera boven een beeldscherm moet mogelijk een gebruiker op 60 tot 100 cm afstand in beeld brengen. Een slimme kluis moet mogelijk zowel de gebruiker als het vakgebied zien, terwijl een ID-terminal het document veel dichter bij de lens plaatst. Één scherpstelling is niet geschikt voor alledrie de installaties. Test de camera met de uiteindelijke behuizing en de beschermende glasplaat geïnstalleerd. Weerspiegelingen op het beeldscherm, een ingezonken lensopening of een smalle rand kunnen het beeld veranderen ten opzichte van wat op een open werkbank nog acceptabel leek.
Controleer de belichting en andere beeldinstellingen op elk besturingssysteem
Een datasheet vermeldt mogelijk instellingen voor helderheid, contrast, verzadiging, gamma, witbalans en belichting, maar de toepassing kan niet noodzakelijkerwijs elke instelling op elk besturingssysteem gebruiken. De ene toepassing laat de belichting bijvoorbeeld automatisch ingesteld; een andere schrijft bij het opstarten een vaste waarde. Sommige programma’s herstellen de camera-instellingen na een USB-ontkoppeling en -herkoppeling, terwijl andere de vorige waarden blijven gebruiken. Dit verschil wordt zichtbaar in een terminal die vlak bij een ingang is geïnstalleerd. Een heldere deuropening kan het gezicht van de gebruiker in de schaduw plaatsen, en een wijziging in het belichtingsgedrag na een herstart kan de herkenningprestaties beïnvloeden, zelfs als de hardware ongewijzigd is.
Definieer een goedgekeurde set instellingen voor elk besturingssysteem. Voer vervolgens dezelfde controles uit na een koude opstart, een warme herstart, een USB-ontkoppeling en -herkoppeling, en een herstart van de toepassing. Een camera kan zich in elke staat anders gedragen; alleen één van deze tests doorstaan garandeert geen compatibiliteit.
Waar de OV2710 USB-module past
De Sinoseen OV2710 USB-camera-module is een praktisch uitgangspunt voor terminals die één 1080p-stream, een USB 2.0-aansluiting en een vaste camerapositie nodig hebben. De 1/2,7-inch sensor en de 3,0 µm-pixels zijn geschikt voor algemene videocapturing, toegangscontrole, video-deurbellensystemen en selfservice-terminals. De gepubliceerde printplaatmaat is 38 × 38 mm. De afmetingen van de printplaat, de lenshoek en de firmware kunnen via een project worden aangepast. aangepast cameramodule de module wordt gevoed via de USB-bus met 5 V en heeft een opgegeven bedrijfsstroom van 200 mA.
De OV2710 gebruikt een rolling shutter, waardoor deze niet de meest voor de hand liggende keuze is voor inspectie van snelle transportbanden of het vastleggen van snel bewegende barcodes. Het opgegeven bedrijfstemperatuurbereik van 0 °C tot 55 °C dient ook te worden vergeleken met de temperatuur binnen de voltooide terminal. Buitenapparatuur kan een andere thermische constructie of cameraconfiguratie vereisen. Indien het project meerdere camera’s, langere kabelafstanden of ongecomprimeerde high-resolution-streams vereist, is een USB 3.0 camera-module mogelijk geschikter.
Test het monster op de productiehost
Kwalificeer de steekproef niet op één laptop en stop daar niet mee. Gebruik de productieprocessor, het releasesysteemimage, de werkelijke toepassing, de interne hub en de geplande kabel. Voer de camera uit gedurende een volledige bedrijfscyclus. Tijdens die test herstart u het terminalapparaat herhaaldelijk, verwijdert en herstelt u de USB-voeding, gaat u in en uit de slaapstand en gebruikt u tegelijkertijd de andere USB-periferieapparaten. Noteer of de camera elke keer wordt geïdentificeerd, welke modi de toepassing daadwerkelijk kan openen en of het beeld stabiel blijft onder de werkelijke verlichtingsomstandigheden van het terminalapparaat. Een duidelijk voorbeeldbeeld bewijst weinig. Herhaalbare opstart en een stabiele videostream zijn belangrijker voor een terminalfabrikant dan één aantrekkelijk testbeeld.
Wat moet worden goedgekeurd vóór massaproductie
De goedkeuring moet de volledige cameraconfiguratie omvatten, niet alleen de naam van de sensor. Vries de afmetingen van de printplaat (PCB) in, de positie van de connector, de kabel en afscherming, het gezichtsveld van de lens, de scherpstelafstand, de USB-id’s, de standaardbeeldinstellingen, de door de firmware gerapporteerde videomodi en de geteste hostplatforms. Indien een van deze items nog openstaat, dient het monster te worden beschouwd als een engineeringunit in plaats van een productiereferentie. Voor een niet-standaard mechanische of firmwarevereiste, neem contact op met Sinoseen met het doelbord, het besturingssysteem, de werkafstand en de vereiste streammodus voordat u het definitieve monster aanvraagt.
Veelgestelde Vragen
Betekent UVC dat een camera op elk besturingssysteem werkt?
Nee. UVC elimineert een groot deel van het werk rond proprietair stuurprogramma, maar de host heeft nog steeds ondersteuning voor USB-camera’s nodig, de juiste systeemconfiguratie en een toepassing die de vereiste videomodus kan openen.
Is USB 2.0 voldoende voor een 1080p-terminaalcamera?
Vaak, ja, met name wanneer de camera MJPEG-uitvoer levert. Het resultaat hangt nog steeds af van de beeldfrequentie, het aantal apparaten dat is aangesloten op de interne hub en de bandbreedte die wordt gebruikt door andere randapparatuur.
Is vaste scherpstelling geschikt voor gezichtscaptatie?
Ja, mits de camerapositie en de afstand van de gebruiker redelijk onder controle zijn. Bevestig de definitieve scherpstelling met de productiebehuizing en het beschermende glas geïnstalleerd; een test op een open werkbank is niet voldoende.
Wat moet er normaal gesproken worden aangepast vóór massaproductie?
Veelvoorkomende aanpassingen zijn onder andere de afmetingen van de printplaat (PCB), de positie van de connectoren, de kabellengte, het gezichtsveld van de lens, de scherpstelafstand, de USB-apparaatidentificaties, de standaardbeeldinstellingen en de videomodi die worden gerapporteerd door de productiefirmware.