12. Host-Protokoll¶
Jede OpenMV Cam wird mit einem Protokollstapel ausgeliefert, der die Kamera einem Host-Programm als Satz benannter Datenkanäle bereitstellt. Das Host-Programm kann ein Python-Skript auf dem Laptop des Entwicklers sein, eine Desktop-GUI, eine weitere Kamera am anderen Ende eines UART oder ein Dienst auf einer Workstation, der eine Flotte von Kameras überwacht. Der Kamera ist es egal, welches – dasselbe Framing, dieselbe Zuverlässigkeitsmechanik, dieselbe Kanalabstraktion funktioniert für alle.
Dies ist die Antwort auf zwei Fragen, die ständig auftauchen, sobald ein Kameraprojekt die IDE verlässt:
„Wie bekomme ich eine Live-Ansicht dessen, was die Kamera sieht, in eine eigene GUI auf meinem Laptop?“
„Wie lasse ich einen Bediener zur Laufzeit einen Schwellenwert ändern oder einen Interessensbereich auswählen, ohne neu zu flashen?“
Das Modul protocol auf der Kameraseite und das Paket openmv-python auf der Hostseite beantworten beide Fragen, indem sie eine Python-Klasse auf der Kamera einen Kanal bereitstellen lassen, von dem eine Python-Klasse auf dem Host lesen, in den sie schreiben und auf dessen Ereignisse sie reagieren kann – alles über eine einzige USB- oder serielle Verbindung.
Das Kapitel vermittelt beide Seiten. Der kameraseitige Code zeigt, wie man Kanäle registriert und speist; der hostseitige Code zeigt, wie man sich verbindet, die Kanäle auflistet, Daten abruft und Befehle zurückschickt. Echte Werkzeuge, die im Verzeichnis openmv-projects/tools/ ausgeliefert werden, nutzen genau die hier gezeigten Muster.
Framing
Zusammenfassung