ms303 Posted February 2, 2018 at 03:14 PM Share Posted February 2, 2018 at 03:14 PM 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. Quote Link to comment Share on other sites More sharing options...
bernhard.graeuler Posted February 2, 2018 at 11:26 PM Share Posted February 2, 2018 at 11:26 PM 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 Quote Link to comment Share on other sites More sharing options...
ms303 Posted February 5, 2018 at 09:14 AM Author Share Posted February 5, 2018 at 09:14 AM 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? Quote Link to comment Share on other sites More sharing options...
batti Posted February 8, 2018 at 11:09 AM Share Posted February 8, 2018 at 11:09 AM 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. Quote Link to comment Share on other sites More sharing options...
ms303 Posted February 16, 2018 at 02:39 PM Author Share Posted February 16, 2018 at 02:39 PM Hallo, vielen Dank. Ich habe es mit nmcli-Befehlen in einem Shell-Skript gelöst und es funktioniert wie gewünscht! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.