Jump to content

Recommended Posts

Geschrieben

Hallo,

 

Ich verwende einen Stack mit folgendem Aufbau:

 

- Ethernet Extension

- Master Brick -> 3 Voltage/Currents die jeweils einen Linearpoti auswerten + 1 Industrial Digital In 4 mit angeschlossenem Schalter

- RED Brick

- Step Down Power Supply

 

Dieser dient dazu, die 3 Potiwerte auszulesen und über UDP an eine Roboter-Steuerung zu senden. Auf dem RED Brick läuft dazu ein UDP Server, um die Daten an die Steuerung zu senden. Da mit verschiedenen Roboter-Steuerungen kommuniziert werden muss, ist es nötig die IP-Adresse über den angeschlossenen Schalter zu ändern. Zur Zeit gibt es zwei verschiedene Adressen (172.xxx.xxx.xxx und 192.xxx.xxx.xxx). Zur Programmierung verwende ich C# mit der entsprechenden Tinkerforge API.

 

Nun zur eigentlichen Frage: Wie kann ich über die API zur Laufzeit die IP-Adresse der Ethernet Extension ändern? Die API des Master Bricks liefert ja die benötigte Funktion SetEthernetConfiguration, die RED Brick API bietet diese Funktion allerdings nicht.

 

Geschrieben

Hi,

 

Die Software wird vom RED Brick ausgeführt, verbindet sich mit dem lokalen BrickDaemon, und kommuniziert mit den einzelnen Komponenten des Stacks. Eine Ethernet Master Extension erweitert einen Master Brick. Also muss die Software mit dem Master Brick kommunizieren, und diesen via isEthernetPresent() fragen, ob eine Ethernet Extension zur Verfügung steht. Dann kann mit BrickMaster::get/setEthernetConfiguration() gearbeitet werden.

 

Die API des RED Bricks brauchst Du dafür nicht.

 

Gruß

Bernhard

 

Geschrieben

Hi,

 

Danke für die schnelle Antwort. Ich habe das noch mal so probiert, aber ich bekomme bei isEthernetPresent() false zurück, da die Ethernet Extension bei vorhandenem RED Brick ja eben diesem zugeordnet wird.

 

Deshalb die Frage: Wie kann ich die Konfiguration der Ethernet Extension über die API ändern, wenn diese dem RED Brick zugeordnet ist?

Geschrieben

Hallo,

 

im Falle des RED Bricks fungiert die Ethernet Extension wie eine normale Ethernet-Schnittstelle des Rechners. Daher gibt es in diesem Fall auch keine TF API.

 

Seit RED Brick Image 1.10 nutzen wir "Network Manager" für das Handling der Schnittstellen. Mittels Aufruf von "nmcli" können die Einstellungen auch händisch gesetzt werden. Anleitungen wie das geht gibt es im Netz. Vorgehen wäre als, dass das eigene Programm auf dem RED Brick dieses Kommando aufruft.

 

Eine Alternative wäre die DBus Schnittstelle vom Network Manager zu nutzen. Dies ist aber ggf. zu umständlich.

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...