13.1.4. Köra skript¶
Startknappen – den gröna pilen under anslutningsknappen, eller Ctrl+R – skickar skriptet i den aktuella redigerarfliken till den anslutna kameran och kör det. Medan ett skript körs blir startknappen en stoppknapp som avbryter det. Dessa två knappar är kärnan i all utveckling på kameran: redigera, starta, observera, stoppa, redigera igen.
Två detaljer i den loopen är viktiga. För det första skickas skriptet till kamerans RAM och körs där – att starta ett skript skriver ingenting till kamerans lagring, och skriptet är borta efter en återställning. För det andra är det den aktuella redigerarfliken som körs, precis som den visas, sparad eller inte. Det finns inget separat uppladdningssteg och ingen inaktuell kopia på kameran som kan komma ur synk med din redigerare.
Medan ett skript körs strömmar dess print()-utdata in i serieterminalen och varje bildruta det fångar visas i bildbuffertvisaren. När ett skript utlöser ett ohanterat undantag skrivs spårningen (traceback) ut i serieterminalen och IDE:n hoppar med redigeraren till den felande raden – för en applikation med flera filer öppnar den först den namngivna filen från kamerans enhet.
13.1.4.1. Göra ett skript permanent¶
För att få kameran att köra ett skript utan IDE:n – vid påslagning, fristående, i fält – lagrar du skriptet på kameran som main.py. Tools → Save open script to OpenMV Cam (as main.py) skriver den aktuella redigerarfliken till kamerans enhet under det namnet, och erbjuder på vägen att ta bort kommentarer och komprimera blanksteg – vilket krymper filen men levererar en oläslig kopia – och Tools → Reset OpenMV Cam startar om kameran så att den startar upp i det lagrade skriptet. Tillsammans utgör de distributionssteget: från och med då kör kameran ditt skript närhelst den har ström, IDE eller inte.
Medan en återställd kamera kör sin lagrade main.py kan IDE:n fortfarande ansluta till den – med Stop Script on Connect/Disconnect på (standardinställningen) avbryter en anslutning det lagrade skriptet och lämnar tillbaka kontrollen till redigeraren.
Se även
Frysa skript in i den fasta programvaran för vad main.py innebär i kamerans uppstartssekvens, och för att flytta en färdig applikation helt ut ur redigerbar lagring.
13.1.4.2. Kamerans enhet¶
Kamerans flashfilsystem (och SD-kort, när ett sådant är insatt) monteras på värddatorn som en USB-flashenhet. Tools → Open OpenMV Cam Drive folder öppnar den i din filhanterare. Det är hit du kopierar biblioteksmoduler, modellfiler och tillgångar som skriptet importerar eller läser in, och härifrån du hämtar bilderna och loggarna det sparat. Enhetssökvägen visas också i statusfältet.
Filer som ett skript skapar dyker inte upp på värddatorn direkt: värddatorn cachar filsystemet från det ögonblick då enheten monteras, så en stillbild som sparats av det körande skriptet förblir osynlig tills enheten monteras om. Tools → Reset OpenMV Cam monterar om den – det snabba sättet att komma åt det skriptet just skrivit.
En varning: kameran och värddatorn delar det filsystemet, och samtidiga skrivningar från båda sidor kan skada det. Kopiera filer medan inget skript skriver till lagringen, och mata ut enheten ordentligt innan du drar ut kortet.