Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

  • Bernator
    antwortet
    Schade
    Was mir beim drüberfliegen noch aufgefallen ist, kann es sein das bei der Action A1 im Transport Layer am Ende ein enableConnectionTimeout(); fehlt?

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Erst mal: Das Telegramliste als Zip ist super.
    Ets5 funktioniert anders als ETS4. Er schaut ob das Gerät ein Router ist. Die Anfrage wird nicht korrekt vom Gerät beantwortet. Daher der Abbruch.
    Ich muss mir eine ETS5-Umgebung aufbauen und das nachstellen. Bis dahin funktioniert wohl nur ETS4.

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    Hab auch Probleme beim programmieren über die ETS, anbei die Busmonitor Aufzeichnung nur vom setzen der PA....
    Die ETS findet den ESP nachdem der ProgButton gedrückt wurde, danach startet der ESP neu in der ETS steht was von lade IP Konfiguration und da kommt dann ein Fehler.
    Kannst du sagen was da schief läuft?

    Edit: im pdf ist einiges abgeschnitten, daher nochmal als ETS Busmonitor xml
    Angehängte Dateien
    Zuletzt geändert von Bernator; 10.04.2018, 21:55.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Ich habe ein bisschen Code hin- und hergeschoben und dem Beispielsketch um ein paar Kommentare ergänzt. Details dazu im ersten Post.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    appi Bist du noch beim Programmieren der Geräteadresse? Es sieht mir ganz danach aus, dass knxd/eibd dazwischen funkt. Ich stoppe den immer zum Programmieren der Geräteadresse.
    Wenn der esp beim reset hängen bleibt, steht was mit wdt reset in der Konsole. Im Log vom Busmonitor wurde die Spalte Typ abgeschnitten. Probier mal einfach die Zeilen zu markieren und mit STRG-C zu kopieren.
    Ich werde mal ein bisschen mehr Debuginfo in die serielle Konsole einbauen.

    Einen Kommentar schreiben:


  • Aquilin
    antwortet
    geiles Projekt

    Einen Kommentar schreiben:


  • appi
    antwortet
    Hallo
    anbei mein Output des Busmonitors in PDF, hoffe das hilft.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Hallo,

    welche ETS Version nutzt du? Ich bräuchte zur Analyse einen Mitschnitt des Ganze aus dem Gruppenmonitor als Pastebin o.ä.

    Einen Kommentar schreiben:


  • appi
    antwortet
    Hallo
    Hoffe jemand hat noch einen Tipp für mich. Ich bin immer noch am üben mit dem programmieren des NodeMCU aus ETS 5.
    Was ich mache:
    1. NodeMCU mit langem Knopfdruck in den WPS Mode -> funktioniert
    2. NodeMCU meldet sich am WLAN an -> funktioniert
    3. Reset NodeMCU manuell
    4. NodeMcu durch langen Knopfdruck in den Programiermodus -> funktioniert
    5. in der ETS5 Gerät programieren -> Status wechselt von Programmiertste drücken ( wird gemacht ) auf programmieren und dann auf Gerät wird neu gestartet.
    anbei der Printout aus der Konsole in der Arduino IDE:
    short button press
    Leave Running
    Enter ProgramMode
    -> 06 10 05 30 00 11 29 00 B0 C0 11 80 00 00 01 01 00
    <- 06 10 05 30 00 11 29 00 B0 E0 00 00 00 00 01 01 40
    -> 06 10 05 30 00 11 29 00 B0 C0 11 80 00 00 01 01 40
    -> 06 10 05 30 00 13 29 00 B0 C0 11 80 00 00 03 00 C0 12 01
    -> 06 10 05 30 00 11 29 00 B0 C0 11 80 00 00 01 01 00
    <- 06 10 05 30 00 11 29 00 B0 E0 12 01 00 00 01 01 40
    -> 06 10 05 30 00 11 29 00 B0 C0 12 01 00 00 01 01 40
    -> 06 10 05 30 00 12 29 00 BC D0 11 64 23 09 02 00 80 00
    -> 06 10 05 30 00 12 29 00 BC D0 11 3F 23 08 02 00 80 00
    -> 06 10 05 30 00 12 29 00 BC D0 11 08 23 01 02 00 80 00
    -> 06 10 05 30 00 12 29 00 BC D0 11 0D 23 02 02 00 80 00
    -> 06 10 05 30 00 12 29 00 BC D0 11 1D 23 04 02 00 80 00
    -> 06 10 05 30 00 13 29 00 BC D0 11 3F 21 08 03 00 80 12 3F
    -> 06 10 05 30 00 13 29 00 BC D0 11 64 21 09 03 00 80 19 1D
    Ich denke:
    Die Kommunikation läuft
    Das Gerät wird gefunden
    Das Gerät kommt nicht aus dem Programmiermodus oder kann die Parameter nicht im EEPROM ablegen oder der Restart geht nicht.

    Danke für einen Tipp und gruss
    Remo

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Hallo,

    zum rechtlichen: Ich bin kein Anwalt. Daher möchte ich dazu keine große Diskussion eröffnen. Aber trotzdem kurz meinen (!) Standpunkt:
    - Ich glaube nicht, dass man das entpacken eins Zip-Archives und das Lesen von XML-Dateien als Reverse Engineering bezeichnet kann.
    - Ein Programm das ähnliche XML-Dateien erstellen kann halte ich auch für harmlos. Wenn der Aufruf von Methoden aus fremden Dlls halte ich auch nicht für illegal.
    - Es kann sein, dass durch das Erstellen von .knxprod-Dateien gegen irgendwelche Klauseln der Lizenz von ETS verstößt. Aber das Programm dient in dem Fall nur zu Demonstration des Machbaren.
    - Viele Projekte wie z.B. Openwrt und andere Linux auf Toaster sind durch Reverse Engineering entstanden.
    - Beim Selfbus-Projekt wird ähnlich vorgegangen. Dort wird eine vd1-Datei erzeugt, die dann in ETS importiert werden kann (und dabei konvertiert wird)

    - zur Platform: es ist ein KNX-IP Stack. Damit funktioniert er nur mit Geräten mit IP-Anbindung. Das Portieren ist relativ einfach:
    https://github.com/thelsing/knx-esp/...ter/platform.h muss für die Platform implementiert werden. Ich habe dies für ESP8266 und Linux getan. Ich habe den Stack erst auf Linux entwickelt und dann portiert. Ein Raspberry Pi kann somit problemlos ein KNX-Gerät werden.
    Ich habe vor auch noch KNX-TP zu unterstützen. Der Aufwand dazu hält sich auch in Grenzen. Es wird also irgendwann gehen. Unklar ist auch welche BCU ich dann nehme. Ich besitze derzeit noch keine entsprechende Hardware. Zuerst sicher eine Siemens-BCU oder so. Ganz viel später vielleicht die Selfbushardware. Mal sehen ob es eine MCU gibt auf die Arduino portiert wurde und der Selfbus Sende-Empfangscode läuft.

    - zur Größe: Auf dem Esp8266 wird Binary ca. 350KB groß. Da sind aber auch noch relativ viele ungenutze Libs aus dem ESP-Core drin. Beim SAMD21 wird ein Sketch der die Lib ohne jeglichen platformspezifischen Code einbindet ca. 32KB groß.

    - zu Mindestanforderungen: Nachdem Leute Linux auf einem 8-Bit Prozessor gestartet haben (http://dmitry.gr/?r=05.Projects&proj...ux%20on%208bit) sollte man auch dort den KNX-Stack laufen lassen können. Konkret getestet habe ich nur Linux und ESP8266.

    - zur weiteren Roadmap: Ich weiß nicht wie viel Zeit ich in Zukunft in das Projekt stecken kann. Ich habe in den letzen Wochen relativ viel Zeit investiert, das es schon zu gut funktioniert hat. Ich wolle das nicht 80% fertig auf meinem Rechner vergammeln lassen. Nun ist der Frühling da und meine Außenanlagen wollen angelegt werden (Terasse, Wege, Carport etc.). Aktuell will ich sicher stellen, das der Code nicht nur bei mir funktioniert. Dann will ich aus dem Feedback wenigstens ein paar Readmes auf Github schreiben. CreateKnxProd soll auch noch Englisch lernen. Außerdem will ich mit dem Stack und einem BME680 meine Lüftung steuern. Dann gibt es noch diese sonoff Schalter die ich mal testen wollte...
    Kurz: Nichts ist fest und Hilfe willkommen

    Einen Kommentar schreiben:


  • Sonnengruesser
    antwortet
    Wow thesing das klingt echt toll! Danach rufen viele Bastler schon seit Jahren . Zwei Fragen dazu:
    -) Bis auf ganz wenige Ausnahmen wollte niemand eine ETS-fähige Arduino Anbindung machen, weil die rechtliche Seite unklar ist (reverse engineering der knxprod-files, etc.). Wie siehst du das?
    -) Kann dein Stack auch auf anderen Plattformen verwendet werden (Uno, Micro...)? Mindestanforderungen? Platzbedarf?

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Das Board sollte gehen. Bei anderen Boards ohne extra Taster und Led muss man auch nur zusätzlich anschließen. Dazu gibt es etliche Tutorials.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von thesing Beitrag anzeigen
    Ich empfehle ein NodeMCU-Board. Da ist schon alles drauf. Die Onboard-Led wird zur Programmier-Led und der Flash-Taster zum Programmiertaster.
    NodeMCU gibt es viele. Würde diese hier, ein Wemos D1 funktionieren?

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Das Board ist nur über Wlan über einen IP-Router mit dem Bus verbunden. Es muss also immer extern versorgt werden. Es verbraucht speziell beim Senden relativ viel Strom: http://bienonline.magix.net/public/esp8266-strom.html

    Wenn man damit und einem TPUART einen IP-Router bauen will, muss man den ESP also immer zusätzlich versorgen.

    Einen Kommentar schreiben:


  • Masifi
    antwortet
    kannst du das NodeMCU Board direkt über einen KNX-Transceiver versorgen, oder muss man sich da was selber vom Bus holen ?!

    Einen Kommentar schreiben:

Lädt...
X