12. Protocolul de gazdă¶
Fiecare cameră OpenMV este livrată cu o stivă de protocol care expune camera ca un set de canale de date denumite către un program gazdă. Programul gazdă poate fi un script Python pe laptopul dezvoltatorului, o interfață grafică de desktop, o altă cameră la celălalt capăt al unui UART sau un serviciu rulând pe o stație de lucru care supraveghează o flotă de camere. Camerei nu îi pasă care – aceeași încadrare, aceeași mecanică de fiabilitate, aceeași abstractizare de canal funcționează pentru toate.
Acesta este răspunsul la două întrebări care apar constant odată ce un proiect de cameră părăsește IDE-ul:
„Cum aduc o vizualizare live a ceea ce vede camera într-o interfață grafică personalizată de pe laptopul meu?”
„Cum permit unui operator să modifice un prag sau să aleagă o regiune de interes în timpul execuției, fără a reflasha?”
Modulul protocol de pe partea camerei și pachetul openmv-python de pe partea gazdei răspund la ambele întrebări, permițând unei clase Python de pe cameră să expună un canal din care o clasă Python de pe gazdă poate citi, în care poate scrie și la ale cărui evenimente poate reacționa, totul printr-o singură conexiune USB sau serială.
Acest capitol predă ambele părți. Codul de pe partea camerei arată cum se înregistrează canalele și cum se alimentează acestea; codul de pe partea gazdei arată cum să te conectezi, să listezi canalele, să extragi date și să trimiți comenzi înapoi. Instrumente reale livrate în directorul openmv-projects/tools/ folosesc exact tiparele prezentate aici.
Încadrare
Transmitere în flux
Încheiere