Jump to content

Ändern der IP eines RED Brick mit Ethernet Extension über API


ms303

Recommended Posts

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.

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...