13.1.3. Een camera verbinden

Elke sessie begint bij de verbindknop – het stekkerpictogram onderaan de linkerwerkbalk, of Ctrl+E. Klik erop en de IDE scant de USB-seriële poorten op camera’s en maakt verbinding met de gevonden camera. Bij meer dan één aangesloten camera vraagt een dialoogvenster welke seriële poort moet worden gebruikt, met je vorige keuze vooraf geselecteerd; bij geen enkele camera meldt de IDE dat en biedt het een herstelpad voor een camera die niet meer wordt herkend (zie Firmware-updates en -herstel).

13.1.3.1. Wat er gebeurt bij verbinden

Verbinden is meer dan het openen van een seriële poort. De IDE identificeert het board, leest de firmwareversie en vergelijkt deze met de release die met de IDE wordt meegeleverd. Als de firmware van de camera ouder is, biedt een prompt aan om deze bij te werken – via deze prompt krijgen camera’s normaal gesproken firmware-updates. Het updatedialoogvenster heeft selectievakjes om ook het interne flash-bestandssysteem te wissen en om het ROM-bestandssysteem te resetten; beide staan standaard uit en onthouden je laatste keuze, en geen van beide is normaal gesproken nodig voor een update. Na de eerste geslaagde verbinding toont de IDE ook een eenmalig dialoogvenster waarin wordt uitgelegd wat de knipperkleuren van de LED van de camera betekenen.

Een camera die in bootloader-modus (DFU) is aangesloten in plaats van als een normaal serieel apparaat, krijgt bij verbinding zijn eigen dialoogvenster, met opties om de nieuwste release-firmware te installeren, een specifiek firmwarebestand te laden, het interne flash-bestandssysteem te wissen, of het ROM-bestandssysteem te bewerken of te resetten.

De IDE meldt ook platformeigenaardigheden. Op Windows controleert het tijdens het verbinden de systeemapparatenlijst en meldt het eventuele USB-stuurprogrammaproblemen die het vindt, met vermelding van de betrokken apparaten. Op Linux betekent een rechtenfout bij het openen van de seriële poort vrijwel altijd dat je gebruiker niet in de dialout-groep zit – het foutdialoogvenster toont het exacte adduser-commando dat dit oplost.

13.1.3.2. De statusbalk

Eenmaal verbonden wordt de statusbalk rechtsonder in het venster het dashboard van de camera:

  • Board – het door de camera gemelde boardtype.

  • Sensor – de aangesloten camera-sensormodule.

  • Firmware Version – de draaiende firmwareversie. Klik erop om de versie opnieuw te vergelijken met de meegeleverde release en bij te werken als er een nieuwere beschikbaar is.

  • Serial Port – de poort die de verbinding gebruikt.

  • Drive – het aankoppelpunt van de flashschijf dat bij de camera hoort. Klik erop om de schijf te openen in je bestandsbeheerder; wanneer er meerdere kandidaat-schijven zijn aangesloten, vraagt de IDE welke bij de camera hoort en onthoudt het antwoord per seriële poort. Een camera maakt verbinding en draait scripts prima zonder een schijfkoppeling – alleen de schijfafhankelijke acties, zoals het openen van de schijfmap en het opslaan van een script als main.py, blijven uitgeschakeld totdat er een is ingesteld.

  • FPS – de snelheid waarmee frames bij de IDE binnenkomen. Dit is de previewsnelheid, niet noodzakelijk de opnamesnelheid van de camera – een script kan sneller draaien dan de USB-verbinding zijn frames kan streamen.

Loskoppelen is vergevingsgezind. Klikken op loskoppelen is de nette manier, maar het loskoppelen van de kabel werkt ook – de IDE merkt dat de camera weg is (of niet meer reageert) en koppelt vanzelf los.

13.1.3.3. Automatisch opnieuw verbinden

Tools → Auto Reconnect to OpenMV Cam maakt de verbinding volledig automatisch: wanneer er een camera op USB verschijnt, maakt de IDE er verbinding mee, en de handmatige verbind- en loskoppelknoppen zijn uitgeschakeld zolang de optie aan staat. Met één camera en één IDE is dit de handige modus – sluit de camera aan en hij is verbonden. Schakel het uit wanneer je met meerdere camera’s jongleert of de poort deelt met een ander programma.

De gerelateerde optie Tools → Stop Script on Connect/Disconnect (standaard aan) stopt elk draaiend script wanneer de IDE aankoppelt of loskoppelt, zodat een net verbonden camera altijd in een bekende inactieve toestand is. Schakel het uit om een camera zijn opgeslagen script te laten blijven uitvoeren terwijl de IDE verbinding maakt om het te observeren.