Ankündigung

Einklappen
Keine Ankündigung bisher.

KONNEKTING Logikmodul

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

    KONNEKTING Logikmodul

    Hallo,

    das was ihr hier auf die Beine stellt ist wirklich Klasse.
    Ich habe mir aber trotzdem überlegt, ob man nicht als Standard-Feature irgendwie immer ein Logikmodul mitbekommt, weshalb auch nicht-Bastler einen Grund haben, KONNEKTING zu verwenden.

    Auf einem SAMD21 läuft inzwischen Python als Interpreter Sprache (CircuitPython / MicroPython). Damit müsste man wunderbar Logiken erstellen können. Die Skripte könnten prinzipiell direkt mit der KONNEKTING Suite über KNX runtergeladen werden.

    Händisch Python Skripte zu schreiben ist dann auch nicht so toll. Die könnten dann z.B. wieder mit Blockly grafisch erstellt werden.

    Was meint ihr?




    #2
    Darüber habe ich auch schon nachgedacht. Schon seit längerem. Das problem ist: wir bräuchten eine library die neben unserer library laufen würde und den Logik Code interpretiert. Micropython wäre so ein Interpreter, aber der läuft soweit ich weiß exklusiv. Das heißt wir müssten konnekting komplett nach micropython portieren.
    hinzu kommt:
    Yet it is compact enough to fit and run within just 256k of code space and 16k of RAM.
    --> damit wäre schon 50% des SAMD RAM aufgebraucht und der komplette Speicher voll.

    Micropython scheint für größere Controller gedacht zu sein:

    Das Pyboard läuft auf einem STM32 mit Cortex M4 mit 168Mhz, 1024k ROM und 192k RAM.

    Ob man das noch vom Bus aus versorgen kann weiß ich nicht.

    Alles in allem wäre es fein wenn wir für Arduino eine library finden würden die zur Laufzeit einfachen Code interpretieren könnte ohne das präzise Timing von KNX zu gefährden. Aber ich bin hier noch nicht fündig geworden.

    Wenn hier jemand mehr weiß: bitte melden.

    Gruß Alex

    Kommentar


      #3
      Das Adafruit Feather M0 Express hätte z.B. noch 2MB externes FLASH und würde man z.B. auch über exp-tech.de bekommen.

      Trotzdem braucht der Python Interpreter schon wirklich viel Resourcen.

      Kommentar


        #4
        Mein M0dularis+ hat auch 4MB externen SPI Flash. Aber die controller können nicht einfach Code von externem Speicher ausführen. Der ESP ist da eine Ausnahme. Aber den kann man nicht wirklich gut direkt vom Bus versorgen.

        Kommentar


          #5
          Braucht man wenn man Micropython und ein Logikmodul hat wirklich noch Konnekting?

          Man würde die Logik doch nicht über die Suite Parametrieren. Und dann kann man die GAs auch direkt im Code definieren.

          https://forum.micropython.org/viewto...​​​​

          Versorgung geht doch auch über gelb/weiss.

          Gruß,
          Hendrik

          Kommentar


            #6
            Braucht man wenn man Micropython und ein Logikmodul hat wirklich noch Konnekting?
            Ich würde sagen: Ja. Oder willst du bei jeder anpassung der Logik das Ding wieder per USB anschließen und was neues drauf schieben?
            Klar, du kannst auch das Ding mit gelb/weiß versorgen, den ESP oder ähnliches nehmen und über WLAN und ein Webinterface die Logik aufspielen. Aber die Ausgangsfrage war ja, ob man nicht als Basis, für quasi alle Controllerarten, so was wie ein Logik-Modul mit KONNEKTING realisiert.

            Die Idee ist nach wie vor gut und hatte ich wie gesagt auch schon. Aber MicroPython hat quasi seinen eigenen Bootloader, so dass kein normales Arduino mehr drauf läuft und unser KONNEKTING Library dann auch nicht.

            Man "könnte" KONNEKTING nach MicroPython portieren. Aber persönlich hab ich einfach keine Zeit eine weitere Baustelle aufzumachen und dann auch noch zwei KONNEKTING Implementierungen grundlegend zu supporten.

            Man würde die Logik doch nicht über die Suite Parametrieren. Und dann kann man die GAs auch direkt im Code definieren.
            Wenn ich die GAs in den Code schreiben muss, dann kann ich auch die Logik in den Code schreiben. Dann brauch ich überhaupt kein KONNEKTING, und auch kein Micropython.

            Was hier helfen würde, wäre eine Arduino Library die "Scriptcode" oder ähnliches interpretieren kann. Das Problem hierbei ist eigentlich nur, dass dieser "Interpreter" auch wieder Zeit braucht um den Script-Code zu interpretieren und auszuführen. Das "kann" das Zeitgefüge im Code aber auch schnell durcheinander bringen und Telegramme können übersehen werden.

            Versteht mich nicht falsch: Ein Logik-Modul das sich quasi frei programmieren lässt und über die Suite parametrisierbar wäre.. Das wäre der Hammer. Aber ich sehe da aktuell noch keinen Weg. Was nicht heißt dass es keinen gibt. Man muss ihn nur finden.

            Vielleicht ist ja auch jemand Fit und kann eine einfache if-this-then-that Enginge basteln die man mit Daten aus einem extra Speicher (SD-Karte, SPI-Flash-Chip (der auf meinem Controller serienmäßig mit drauf ist), ...) holen kann...

            Kommentar


              #7
              Mal kurz nach Arduino + Interpreter gesucht. Da gibts ja mittlerweile doch was:

              http://bitlash.net/
              https://n.mtng.org/ele/arduino/iarduino.html
              https://github.com/robinhedwards/ArduinoBASIC
              https://github.com/paladin-t/my_basic

              Müsste man mal evaluieren und schauen was man da draus machen könnte.

              Kommentar


                #8
                Habe ich mir auch schon angeschaut. Tiny Basic Plus hätte ich noch gefunden.

                https://github.com/BleuLlama/TinyBasicPlus​​​​​​

                Ist alles nicht optimal. Vielleicht wäre doch der bessere Ansatz immer die Firmware zu übertragen. Hast du schon mal getestet ob das über die Suite gehen würde, vor allem wie lange das dauert. Schau dir mal Ardublockly an, vielleicht wäre das ein Ansatz für einen Logikeditor.

                https://sensebox.de/blog/2017-06-27-ardublocklysenseBox
                ​​​​​​https://github.com/sensebox/ardublockly

                Kommentar


                  #9
                  Versteht mich nicht falsch: Ein Logik-Modul das sich quasi frei programmieren lässt und über die Suite parametrisierbar wäre.. Das wäre der Hammer. Aber ich sehe da aktuell noch keinen Weg. Was nicht heißt dass es keinen gibt. Man muss ihn nur finden.
                  Aber will man das?
                  Mich schrecken die per ETS parametrierbaren Logikmodule ab. Die Logik programmiere ich lieber als Skript oder meinetwegen in blockly.
                  --> ESP mit Webinterface.

                  Gruß,
                  Hendrik

                  Kommentar


                    #10
                    Ich sprach davon die Logik mit der Suite auf das Gerät zu schieben, nicht davoda die Logik mit der Suite kompliziert zu eerstelle. Bearbeiten kann man die Logik dann immer noch mit einem anderen Tool. Der Upload wäre quasi ein File-Upload, als Teil der Suite Parametrisierung. Eben das was in der ETS nicht geht.
                    Die Vorarbeit ist mit beta5 gerade in der Entstehung...

                    Kommentar


                      #11
                      Was versteht man eigentlich unter Logik Modul auf einem Device? Was wäre da ein realitätsnahes Beispiel für Nichtbastler?
                      Als Nichtbastler hat man meiner Meinung schon mit der Konnekting Hardware ein Problem und wird auch kaum KNX benutzen

                      Im Endeffekt will man vermutlich das da
                      https://microduinoinc.com/mcookie/

                      mit mDesigner
                      http://wiki.microduinoinc.com/MDesigner:_Arduino_mode


                      Kommentar


                        #12
                        Das ganze Device ist dann ein "Logikmodul". Du brauchst keine I/O Pins, KNX Telegramme kommen in Sketch an, und je nach eingestellter Logik gehen Telegramme wieder raus. Quasi eine Art if-this-then-that.
                        mit der Hardware musst du da dann nicht kampfen. Es reicht ein nacktes MI oder ein nackter M0dularis+ Controller.

                        Oder anders: sowas wie hier: https://www.mdt.de/Logikmodul.html

                        Nur besser :-)

                        Kommentar


                          #13
                          Was wären deine größten Bedenken, wenn man versuchen würde KONNEKTING und Python Lib gemeinsam zu kompilieren.

                          Hätte noch ein kleines Board mit M4 gefunden.

                          Adafruit ItsyBitsy M4 Express featuring ATSAMD51

                          Erwartest du dass man die vom Bus aus nicht versorgen kann.


                          Kommentar


                            #14
                            Was wären deine größten Bedenken, wenn man versuchen würde KONNEKTING und Python Lib gemeinsam zu kompilieren.
                            Was heißt "Python Lib"?! Bisher hab ich nur gesehen, dass dieses Python Teil "exclusiv" läuft. D.h. wenn Python läuft, läuft da kein Arduino-C++-Sketch und umgekehrt.

                            Was wir bräuchten ist eine tatsächliche Arduino Library die es einem erlaubt Python Code (geladen von einem beliebigen Speicher (SD-Karte, separater Flash, ...) aus einem Arduino setup()/loop() Sketch heraus auszuführen. Ich habe noch nichts gefunden in Richtung Python.

                            Wenn wir da was finden können wir das mal zusammen mit KONNEKTING ausprobieren.

                            Die größten Hürden die dann noch zu nehmen wären:

                            * Wie schnell läuft der Python-Code? Bremst das unser KONNEKTING System das regelmäßig task() aufgerufen haben will?
                            * Wie viele Ressourcen frisst das? Was brauchen wir an RAM oder ROM Reserven dafür.

                            Wenn wir so ein Board wie das PyBoard mit 168Mhz brauchen, besteht das Risiko dass der Strombedarf zu groß ist und wir Probleme bekommen das aus dem Bus zu versorgen. Ein beispiel: Des ESP8266 aus dem Bus versorgt funktioniert nicht zuverlässig. Aber der hat auch WLAN an Board. Kann man ausschalten, hilft nur noch sonderlich viel, da man beim einschalten erstmal immer WLAN hat und das ausschalten muss.

                            Gruß
                            Alex
                            Zuletzt geändert von tuxedo; 19.11.2018, 08:49.

                            Kommentar


                              #15
                              Zitat von tuxedo Beitrag anzeigen
                              Oder anders: sowas wie hier: https://www.mdt.de/Logikmodul.html
                              Nur besser :-)
                              Whoot? Sowas gibts wirklich für die ETS XD
                              Das ist dann doch eigentlich ein homeserver der halt nur viel weniger kann und direkt am KNX hängt :-)

                              Fährt man da nicht mit einem RPI und node-red um einiges günstiger, besser und nichtbastler freundlicher? (IP interface hat eh jeder)
                              Versorgung ist da ja kein Problem weil die Logikmodule ja im Schaltschrank sitzen.
                              (zumindest wenn man es wirklich mit dem MDT logikmodul vergleichen will)



                              Kommentar

                              Lädt...
                              X