13.1.4. Esecuzione degli script¶
Il pulsante di avvio – la freccia verde sotto il pulsante di connessione, oppure Ctrl+R – invia lo script presente nella scheda dell’editor corrente alla camera connessa e lo esegue. Mentre uno script è in esecuzione, il pulsante di avvio diventa un pulsante di arresto che lo interrompe. Questi due pulsanti costituiscono il ciclo fondamentale di tutto lo sviluppo sulla camera: modifica, avvia, osserva, arresta, modifica di nuovo.
Due dettagli di questo ciclo sono importanti. Primo, lo script viene inviato alla RAM della camera ed eseguito lì – l’avvio di uno script non scrive nulla nella memoria della camera, e lo script scompare dopo un reset. Secondo, ciò che viene eseguito è la scheda dell’editor corrente, esattamente come mostrata, salvata o meno. Non esiste un passaggio di caricamento separato né una copia obsoleta sulla camera che possa desincronizzarsi dal tuo editor.
Mentre uno script è in esecuzione, il suo output di print() viene trasmesso in streaming al terminale seriale e ogni frame che cattura compare nel visualizzatore del frame buffer. Quando uno script solleva un’eccezione non gestita, il traceback viene stampato sul terminale seriale e l’IDE porta l’editor alla riga incriminata – per un’applicazione multi-file apre prima il file indicato dal drive della camera.
13.1.4.1. Rendere permanente uno script¶
Per far eseguire alla camera uno script senza l’IDE – all’accensione, in modalità autonoma, sul campo – memorizza lo script sulla camera come main.py. Tools → Save open script to OpenMV Cam (as main.py) scrive la scheda dell’editor corrente sul drive della camera con quel nome, offrendo lungo il percorso di rimuovere i commenti e comprimere gli spazi – il che riduce le dimensioni del file ma ne produce una copia illeggibile – e Tools → Reset OpenMV Cam riavvia la camera in modo che si avvii con lo script memorizzato. Insieme costituiscono il passaggio di deploy: da quel momento la camera esegue il tuo script ogni volta che è alimentata, con o senza IDE.
Mentre una camera resettata esegue il suo main.py memorizzato, l’IDE può comunque connettersi ad essa – con Stop Script on Connect/Disconnect attivo (l’impostazione predefinita), la connessione interrompe lo script memorizzato e restituisce il controllo all’editor.
Vedi anche
Congelare gli script nel firmware per il significato di main.py nella sequenza di avvio della camera, e per spostare un’applicazione completata fuori dalla memoria modificabile in modo definitivo.
13.1.4.2. Il drive della camera¶
Il filesystem flash della camera (e la scheda SD, quando ne è inserita una) viene montato sull’host come un drive flash USB. Tools → Open OpenMV Cam Drive folder lo apre nel tuo file manager. È qui che copi i moduli di libreria, i file dei modelli e gli asset che lo script importa o carica, ed è qui che recuperi le immagini e i log che ha salvato. Il percorso del drive compare anche nella barra di stato.
I file creati da uno script non compaiono immediatamente sull’host: l’host memorizza in cache il filesystem dal momento in cui il drive viene montato, quindi uno snapshot salvato dallo script in esecuzione rimane invisibile finché il drive non viene rimontato. Tools → Reset OpenMV Cam lo rimonta – il modo rapido per accedere a ciò che lo script ha appena scritto.
Un’avvertenza: la camera e l’host condividono quel filesystem, e scritture simultanee da entrambi i lati possono corromperlo. Copia i file quando nessuno script sta scrivendo nella memoria, ed espelli in modo corretto prima di rimuovere la scheda.