Ankündigung

Einklappen
Keine Ankündigung bisher.

[HowTo] Eibd unter Windows

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • division
    antwortet
    Zitat von do13 Beitrag anzeigen
    Kommt darauf an. Dafür hast du doch dein wiregate
    Stimmt....

    Zitat von do13 Beitrag anzeigen
    Ich dachte du wolltest eibd auf windows nur für eine Applikation einsetzen?
    Richtig... eigentlich brauche ich das alles nicht.... ich wollte gestern nur eben mal testen ob das auch so klappt.... Also ob das reden vom Windows Rechner mit dem eibd des Wiregates auch klappt. Nicht das ich ewig da in irgend welchen Quellcode rumfummle und es daran nicht liegt....



    Zitat von do13 Beitrag anzeigen
    Nur mal angetestet und bin dann doch bei C++ geblieben
    Genau sowas ist ja auch groupswrite... und das ging eben nicht... naja nacher noch mal gucken.

    Warum bist du bei c++ geblieben? Gibts da spezielle gründe? .NET macht einem bei vielem das Leben schon leichter.

    Was hasst du da programmiert im bezug auf eibd und KNX?

    Einen Kommentar schreiben:


  • do13
    antwortet
    Zitat von division Beitrag anzeigen
    Ist das aber nicht genau das was man vom eibd haben will?
    Kommt darauf an. Dafür hast du doch dein wiregate
    Ich dachte du wolltest eibd auf windows nur für eine Applikation einsetzen?

    Zitat von division Beitrag anzeigen
    Das kenne ich so garnich.... sind das auch Programme aus den Beispielen? Muss ich nacher dann mal testen wenn ich wieder zu Hause bin.
    Ja sind es.

    Zitat von division Beitrag anzeigen
    Hast du mit dieser C# Klasse mal was gemacht?
    Nur mal angetestet und bin dann doch bei C++ geblieben

    Einen Kommentar schreiben:


  • division
    antwortet
    Zitat von do13 Beitrag anzeigen
    Damit wird der EIBNET/IP server part nicht gestartet.
    Ist das aber nicht genau das was man vom eibd haben will?

    Zitat von do13 Beitrag anzeigen
    Was passiert z. Bsp. bei vbusmonitor1 bzw. maskver? Kommt dann eine Antwort vom eibd / wiregate?
    Das kenne ich so garnich.... sind das auch Programme aus den Beispielen? Muss ich nacher dann mal testen wenn ich wieder zu Hause bin.

    Melde mich dann.

    Hast du mit dieser C# Klasse mal was gemacht?

    Einen Kommentar schreiben:


  • do13
    antwortet
    Zitat von division Beitrag anzeigen
    Also ich habe ja einen eibd auf dem Wiregate laufen.... wenn ich auf dem Wiregate groupswrite ausführe geht wunderbar das Licht an....

    Code:
    groupswrite ip:127.0.0.1 0/2/0 1
    Wenn ich nun auf meinem Windows PC groupswrite ausführe

    Code:
    groupswrite.exe ip:<wiregate ip> 0/2/0 1
    passiert quasi nix... Das Licht geht nicht an und es gibt keine Fehlermeldung in der Console.....

    Es sieht so aus als ob entweder einfach nix ankommt.... oder das Wiregate das nicht haben will.

    Firewall und so ist alles aus...

    Eventuell muss man Routing und/oder Tunneling oder so am Wiregate noch an oder aus machen.
    Nein. Die eibd tools nutzen direkt ein eibd spezifisches Protokoll entweder über einen lokalen Socket oder (wie oben) per IP. Durch die Option -i wird dies beim eibd aktiviert. Diese Option sollte bei Dir gesetzt sein, ansonsten würde das groupswrite ip:127.0.0.1 0/2/0 1 auch nicht gehen.

    Was passiert z. Bsp. bei vbusmonitor1 bzw. maskver? Kommt dann eine Antwort vom eibd / wiregate?
    Wenn nicht, dann solltest du mal versuchen mit Wireshark zu schauen ob überhaupt eine Kommunikation mit dem eibd auf dem Wiregate aufgebaut wird.

    Zitat von division Beitrag anzeigen
    Und das mit dem eibd starten un dabei das -S weglassen ist ja schön und gut, sollte nur mal jemand klären wozu das -S steht.....
    Damit wird der EIBNET/IP server part nicht gestartet. Deshalb kommt auch die Fehlermeldung nicht mehr. Wenn du EIBNET/IP server jedoch benötigst müsste man schauen warum das Backend nicht initialisiert werden kann.

    Die Erklärung für das -S liefert Dir auch eibd selber:
    Code:
    eibd --help
    ...
      -S, --Server[=ip[:port]]   starts the EIBnet/IP server part
    ....

    Einen Kommentar schreiben:


  • division
    antwortet
    Zitat von do13 Beitrag anzeigen
    groupswrite und co funktionieren ohne Probleme mit meinem eibd auf einer Linuxbox.
    Eibd selber bringt bei mir auch die Fehlermeldung. Allerdings kann man ihn auch ohne Parameter -S aufrufen. Dann geht es.

    Welche Fehlermeldung kommt bei groupswrite und wie rufst du das auf?
    Also ich habe ja einen eibd auf dem Wiregate laufen.... wenn ich auf dem Wiregate groupswrite ausführe geht wunderbar das Licht an....

    Code:
    groupswrite ip:127.0.0.1 0/2/0 1
    Wenn ich nun auf meinem Windows PC groupswrite ausführe

    Code:
    groupswrite.exe ip:<wiregate ip> 0/2/0 1
    passiert quasi nix... Das Licht geht nicht an und es gibt keine Fehlermeldung in der Console.....

    Es sieht so aus als ob entweder einfach nix ankommt.... oder das Wiregate das nicht haben will.

    Firewall und so ist alles aus...

    Eventuell muss man Routing und/oder Tunneling oder so am Wiregate noch an oder aus machen.

    Und das mit dem eibd starten un dabei das -S weglassen ist ja schön und gut, sollte nur mal jemand klären wozu das -S steht.....

    Viele Grüße

    Einen Kommentar schreiben:


  • alex73
    antwortet
    So, jetzt geht es bei mir auch.

    Habe ebenfalls "-S" weggelassen. Somit starte ich den eibd folgendermassen:
    Code:
    ./eibd.exe -T -D -i -t255 -e1.1.81 ipt:192.168.2.103
    und kann jetzt mit -t255 brav die Layer debug messages (telegramme und protokoll heartbeats) sehen.

    Code:
    vbusmonitor1.exe ip:localhost
    gibt ebenfalls brav bei jeder message laut.

    Und endlich habe ich dank http://www.hoerndlein.de/cms/artikel-a-software/34-european-installation-bus-eib-knx/46-eibtimepl-send-time-and-date-to-knx-eib eine aktuelle uhrzeit auf meinen tastern :-)

    Was ich noch anmerken moechte: wenn die ETS verbunden war, dann hat mir eibd folgenden trace mit der fehlermeldung "error 24" geliefert:
    Code:
    $ ./eibd.exe -R -D -i -t255 -e1.1.81 ipt:192.168.2.103
    Layer 2(009E05F8,4F31B2FF) Open
    Layer 0(009F07F8,4F31B2FF) Open
    Layer 0(009F07F8,4F31B2FF) Openend
    Layer 2(009E05F8,4F31B2FF) Opened
    Layer 3(00A10C40,4F31B2FF) Open
    Layer 4(00A31028,4F31B2FF) GroupCacheInit
    Layer 1(009F07F8,4F31B2FF) Send(020): 08 01 C0 A8 02 6D 0E 58 08 01 C0 A8 02 6D 0E 58 04 04 02 00
    Layer 0(009F07F8,4F31B2FF) Send(026): 06 10 02 05 00 1A 08 01 C0 A8 02 6D 0E 58 08 01 C0 A8 02 6D 0E 58 04 04 02 00
    Layer 0(009F07F8,4F31B2FF) Recv(008): 06 10 02 06 00 08 00 24
    Layer 1(009F07F8,4F31B2FF) Recv(002): 00 24
    Layer 1(009E05F8,4F31B2FF) Connect failed with error 24
    Layer 4(00A31028,4F31B302) GroupCacheDestroy
    Layer 4(00A31028,4F31B302) GroupCacheClear
    Layer 3(00A10C40,4F31B302) Close
    Layer 2(009E05F8,4F31B302) Close
    Layer 0(009F07F8,4F31B302) Close
    Und jetzt eine visu suchen ...

    Betreffend "-S", kann ich da zur problemfindung/behebung noch etwas brauchbares beitragen?

    Danke soweit mal,
    Alex.

    Einen Kommentar schreiben:


  • do13
    antwortet
    Zitat von division Beitrag anzeigen
    Hat noch nicht wirklich geklappt. Hab nun das gleich Problem wie Alex.

    Habe hier Windows 7 und als Schnittstelle die IP des Wiregates angegeben.

    Geht weder der EIBD zu starten noch groupswrite oder so etwas.

    Noch eine Idee?
    Also ich habe die o.g. Pakete mal unter Windows7 64Bit ausprobiert.
    groupswrite und co funktionieren ohne Probleme mit meinem eibd auf einer Linuxbox.
    Eibd selber bringt bei mir auch die Fehlermeldung. Allerdings kann man ihn auch ohne Parameter -S aufrufen. Dann geht es.

    Welche Fehlermeldung kommt bei groupswrite und wie rufst du das auf?

    Einen Kommentar schreiben:


  • division
    antwortet
    Hat noch nicht wirklich geklappt. Hab nun das gleich Problem wie Alex.

    Habe hier Windows 7 und als Schnittstelle die IP des Wiregates angegeben.

    Geht weder der EIBD zu starten noch groupswrite oder so etwas.

    Noch eine Idee?

    Einen Kommentar schreiben:


  • division
    antwortet
    Ok... das hat schon mal funktioniert... Hab den eibd, die C# Klasse und auch alle Demoprogramme.

    Nun muss ich mal sehen wie man die Klasse Sinnvoll in einem C# Projekt einsetzen kann. Eventuell fehlt mir da noch das Grundwissen des ganze eibd Themas so dass ich wohl nicht drum rum komme, die Doku zu lesen.

    Gibt es eventuell C# Demoprojekte von jemandem der die zur Verfügung stellen möchte in dem die Klasse eingebunden ist?

    Einen Kommentar schreiben:


  • division
    antwortet
    Super!

    Den Konstruktor hatte ich auch schon gesehen..... Nachdem ich die Frage gestellt hatte.

    Danke aber trotzdem.....

    Ich werde mal die letzte Version compilieren um an die letzte Version der Klasse zu kommen....

    Mal sehen wie weit das alles so klappt.

    Prinzipiell müsste cygwin ja auch die ganzen kleinen demos auch kompilieren.... groupswrite und sowas. Damit könnte ich ja schon mal meine ersten Ideen Skripten bis da aus dem Visual Studio mal was vernünftiges rausgefallen ist.....

    Oder?

    Einen Kommentar schreiben:


  • do13
    antwortet
    Zitat von division Beitrag anzeigen
    Am liebsten wäre mir:

    C# Quellcode -> EIBD unter 192.168.X.X (Wiregate) -> KNX -> Fertig

    Ist sowas denkbar? Oder muss ich:

    Viele Grüße
    Natürlich geht auch das.
    Schau dir den Konstruktor der Klasse an:

    Code:
    public EIBConnection (String host):
         this (host, 6720) 
    { 
    }
    Da gibst du entweder localhost oder IP/Name vom wiregate ein.
    Einzig eibd muss mit dem Parameter -i gestartet sein.

    Dirk

    Einen Kommentar schreiben:


  • division
    antwortet
    Zitat von do13 Beitrag anzeigen
    Dies ist eine C# Klasse zum Zugriff auf einen eibd Server.
    Vielen Dank erstmal....

    Kann ich in der Klasse nicht gleich das Wiregate als EIBD Server angeben? Ich muss doch nicht noch einen neuen EIBD im Windows haben nur damit ich im C# Quellcode mit dem localhost arbeiten kann....

    Am liebsten wäre mir:

    C# Quellcode -> EIBD unter 192.168.X.X (Wiregate) -> KNX -> Fertig

    Ist sowas denkbar? Oder muss ich:

    C# Quellcode -> Lokaler EIBD -> EIBD auf dem Wiregate -> KNX -> Fertig

    Viele Grüße

    Einen Kommentar schreiben:


  • do13
    antwortet
    Zitat von division Beitrag anzeigen
    Wie sieht denn das aus mit diesem Konstrukt....

    1. Ich hab ein Wiregate mit eibd und deren KNX Schnittstelle.
    2. Ich möchte von einem Windows Rechner eibd benutzen.
    3. Kann ich dieses eibd für Windows nutzen und als Busschnittstelle das Wiregate nutzen oder brauche einen "extra" Schnittstelle?

    Gerne würde ich mit c# da einiges machen....
    Das wird gehen. Eibd baut ein File namens EIBConnection.cs. Dies ist eine C# Klasse zum Zugriff auf einen eibd Server.
    Hier das einer älteren Version:
    http://www.auto.tuwien.ac.at/~mkoegler/eib/EIBConnection-0.0.3.cs

    Dirk

    Einen Kommentar schreiben:


  • division
    antwortet
    Wie sieht denn das aus mit diesem Konstrukt....

    1. Ich hab ein Wiregate mit eibd und deren KNX Schnittstelle.
    2. Ich möchte von einem Windows Rechner eibd benutzen.
    3. Kann ich dieses eibd für Windows nutzen und als Busschnittstelle das Wiregate nutzen oder brauche einen "extra" Schnittstelle?

    Gerne würde ich mit c# da einiges machen....

    Einen Kommentar schreiben:


  • alex73
    antwortet
    Ich denke, da hab ich wohl zu viel versprochen:

    Stdout:
    Code:
    [EMAIL="admin@localhost:/cygdrive/c/Work/EIB/eibd-cygwin/TheReapMan.net"]admin@localhost:/cygdrive/c/Work/EIB/eibd-cygwin/TheReapMan.net[/EMAIL]
    $ strace -n -o eibd_admin.trace.txt ./eibd.exe -S -T -D -i -t255 ipt:192.168.2.103
    Layer 7(00000000,4F30D25D) EIBD should not run as root
    W00000001: EIBD should not run as root
    Layer 2(00CA98A0,4F30D25F) Open
    Layer 0(00CA9A98,4F30D25F) Open
    Layer 0(00CA9A98,4F30D25F) Openend
    Layer 2(00CA98A0,4F30D25F) Opened
    Layer 3(00CC9EE0,4F30D25F) Open
    Layer 0(00CEA338,4F30D25F) Open
    Layer 0(00CEA338,4F30D25F) Openend
    Layer 0(00CEA338,4F30D260) Close
    11832357 [main] eibd 369016 exception::handle: Exception: STATUS_ACCESS_VIOLATION
    Das strace file im anhang.
    Angehängte Dateien

    Einen Kommentar schreiben:

Lädt...
X