Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

    #16
    In der CreateKnxProd.exe.config gibt es eine applicationSettings-Sektion

    Code:
        <applicationSettings>
            <CreateKnxProd.Properties.Settings>
                <setting name="ETS5Path" serializeAs="String">
                    <value>C:\Program Files (x86)\ETS4</value>
                </setting>
            </CreateKnxProd.Properties.Settings>
        </applicationSettings>
    Dort muss der Pfad zu den Dlls eingetragen werden. Der Name ist zwar ETS5Path es muss aber ein Pfad zu den ETS4-Dlls sein.
    Konkret werden Knx.Ets.Converter.ConverterEngine.dll und Abhängigkeiten benötigt.
    Man kann die Dlls auch einfach in das Verzeichnis der exe kopieren. Das Programm startet auch ohne die ETS-Dlls. Diese sind lediglich zum Export als knxprod nötig.
    Zuletzt geändert von thesing; 04.04.2018, 21:02.

    Kommentar


      #17
      Ich habe nun ein Release von CreateKnxProd auf github erstellt. Einfach zip-Datei runterladen entpacken, ggf. CreateKnxProd.exe.config anpassen und exe starten.

      Kommentar


        #18
        Super Projekt

        Kommentar


          #19
          thesing
          Zitat von thesing Beitrag anzeigen
          Sisamiwe Wofür genau brauchst du denn eine Anleitung? Sketch kompilieren? Knxprod erstellen? Gerät programmieren?
          Ich habe großes Interesse an der Lösung, da ich ich ein KNX System im Hause habe und das nun durch IoT Devices erweitern will. Dazu möchte ich Deine Lösung testen. Aber irgendwie fehlt mir der Einstieg.

          Vielleicht helfen die Antworten auf die folgenden konkreten Fragen:
          - Wie sieht die Hardwarekonfiguration aus? Ein ESP8266 ist klar, und der Programmiertaster???
          - Wie binde ich Deine Sketches in den eigentlichen Sketch ein oder umgekehrt?

          ​​​​​​​Danke

          Kommentar


            #20
            Sisamiwe :
            Ich habe den ersten Beitrag angepasst.
            Ich empfehle ein NodeMCU-Board. Da ist schon alles drauf. Die Onboard-Led wird zur Programmier-Led und der Flash-Taster zum Programmiertaster.

            Ich habe überlegt das Framework der Demo mit den Zuständen zu einer Lib zu machen. Dann wäre ein Beispielsketch wieder nur eine Datei. Vielleicht integriere ich das auch in die knx-esp Lib. Dann wird die aber noch ESP-spezifischer. Ich dachte eigentlich daran später man normale Arduinos mit TPUART zu unterstützen.
            (Wenn ich mir mal die Hardware besorgt hab.)

            Was meint ihr?

            Kommentar


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

              Kommentar


                #22
                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.

                Kommentar


                  #23
                  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?

                  Kommentar


                    #24
                    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.

                    Kommentar


                      #25
                      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?

                      Kommentar


                        #26
                        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

                        Kommentar


                          #27
                          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

                          Kommentar


                            #28
                            Hallo,

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

                            Kommentar


                              #29
                              Hallo
                              anbei mein Output des Busmonitors in PDF, hoffe das hilft.
                              Angehängte Dateien

                              Kommentar


                                #30
                                geiles Projekt

                                Kommentar

                                Lädt...
                                X