Zum Inhalt

Beispiele für Vision-Code

Kurzbeschreibung

Auf dieser Seite finden Sie kurze Python-Code-Beispiele für die Kommunikation mit dem Vision Starter Kit über TCP/IP.

Die Beispiele sollen als Ausgangspunkt für Ihre eigenen Anwendungen dienen.
Es handelt sich dabei nicht um fertige Projekte, sondern um wiederverwendbare Bausteine für die Anbindung an den Sensor, den Empfang von Daten und das Senden einfacher Befehle.

Übersicht über die Code-Beispiele

Beispiel Zweck Schwierigkeitsgrad
Mit dem Bildsensor verbinden Eine TCP-Verbindung zum Sensor herstellen Grundlagen
Sensormeldungen empfangen Eingehende Nachrichten kontinuierlich lesen Grundlagen
Bildaufnahme auslösen Triggerbefehle an den Sensor senden Mittelstufe

Bevor Sie beginnen

Stellen Sie sicher, dass das Vision Starter Kit angeschlossen ist und von Ihrem Computer aus erreichbar ist.

Möglicherweise müssen Sie die folgenden Werte in den Code-Beispielen anpassen:

server_ip = "192.168.0.1"
server_port = 34170

Netzwerkeinstellungen

Die IP-Adresse und der Port können je nach Konfiguration Ihres Sensors variieren.
Überprüfen Sie die Netzwerkeinstellungen Ihres Vision Starter Kits, bevor Sie den Code ausführen.


Beispiel 1: Verbindung zum Bildsensor herstellen

Purpose

Dieses Beispiel zeigt, wie man mit Python eine TCP-Verbindung zum Vision-Sensor herstellt.

Dies kann als erster Verbindungstest dienen, um zu überprüfen, ob Ihr Computer den Sensor über die konfigurierte IP-Adresse und den konfigurierten Port erreichen kann.

Code

import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_ip = "192.168.0.1"
server_port = 34170

client.connect((server_ip, server_port))

print("Connected to Vision Sensor")

client.close()

Expected Result

Wenn die Verbindung erfolgreich hergestellt wurde, sollte auf dem Terminal Folgendes angezeigt werden:

Connected to Vision Sensor

Sollte die Verbindung fehlschlagen, überprüfen Sie Folgendes:

  • IP-Adresse des Sensors
  • Sensoranschluss
  • Netzwerkverbindung
  • Firewall-Einstellungen
  • Konfiguration des Netzwerkadapters

Beispiel 2: Sensor-Meldungen kontinuierlich empfangen

Purpose

In diesem Beispiel wird eine Verbindung zum Sensor hergestellt und es werden kontinuierlich eingehende Nachrichten empfangen.

Damit lässt sich überprüfen, ob der Sensor Daten an Ihre Python-Anwendung sendet.

Code

import socket

def run_client():
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    server_ip = "192.168.0.1"
    server_port = 34170

    client.connect((server_ip, server_port))

    try:
        while True:
            message = client.recv(1024)
            message = message.decode("utf-8")
            print("Received:", message)

    except KeyboardInterrupt:
        print("Stopping client...")

    finally:
        client.close()

run_client()

Expected Result

Das Terminal gibt die vom Sensor empfangenen Meldungen aus.

Beispiel:

Received: ...

Beenden Sie das Skript mit:

CTRL + C

Kontinuierlicher Empfang

In diesem Beispiel wird auf eingehende Daten vom Sensor gewartet.
Wenn nichts ausgedruckt wird, überprüfen Sie, ob der Sensor so konfiguriert ist, dass er Ergebnisdaten übermittelt.


Beispiel 3: Bildaufnahme auslösen

Purpose

In diesem Beispiel werden einfache Auslösebefehle an den Sensor gesendet.

Damit lassen sich über ein Python-Skript ein Auftrag auswählen, die Bildaufnahme auslösen und die Bildaufzeichnung starten.

Code

import socket

def trigger_image():
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    server_ip = "192.168.0.1"
    server_port = 34170

    client.connect((server_ip, server_port))

    client.sendall(b"\x02set job 2\x03")
    client.sendall(b"\x02trigger\x03")
    client.sendall(b"\x02RecordImages\x03")

    print("Trigger commands sent")

    client.close()

trigger_image()

Expected Result

Der Sensor empfängt die Auslösebefehle und startet den konfigurierten Bildaufnahme-Workflow.

Auf dem Terminal sollte Folgendes angezeigt werden:

Trigger commands sent

Auftragsnummer

Der Befehl set job 2 wählt die Auftragsnummer 2 aus.
Ändern Sie diesen Wert, wenn Ihr entsprechender Auftrag eine andere Auftragsnummer hat.

Befehlsformat

Die Zeichen \x02 und \x03 markieren den Anfang und das Ende des Befehlstelegramms.

Erwartetes Ergebnis

Der Sensor empfängt die Auslösebefehle und startet den konfigurierten Bildaufnahme-Workflow.

Auftragsnummer

Der Befehl set job 2 wählt die Auftragsnummer 2 aus.
Ändern Sie diesen Wert, wenn in Ihrem jeweiligen Auftrag eine andere Zahl verwendet wird.


Fehlerbehebung

Fehlerbehebung

Verbindung abgelehnt

Überprüfen Sie, ob der Sensor erreichbar ist und ob der richtige Anschluss verwendet wird.

Keine Rückmeldung vom Sensor

Überprüfen Sie die Ethernet-Verbindung und die Einstellungen des Sensornetzwerks.

Unerwartetes Nachrichtenformat

Stellen Sie sicher, dass der Sensor so konfiguriert ist, dass er das erwartete Antwortformat übermittelt.


Nächste Schritte

Nutzen Sie diese Beispiele als Bausteine für Ihre eigenen „Vision Starter Kit“-Projekte.