Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

  • thesing
    antwortet
    Zitat von proggerKA Beitrag anzeigen
    Dann wird die Firmware aber jedes mal beim parametrieren rüber geladen oder?
    Natürlich nicht. In der Loadprocedure wird die Firmwareversion des Gerätes geprüft und nur bei bedarf die Firmware aktualisiert.

    Es gab einen Thread hier über "Erstes Programmieren über ETS dauert lange" hier im Forum. Ich weiß nur nicht mehr welches Gerät das war.

    Edit: Der hier glaub ich: https://knx-user-forum.de/forum/%C3%...ige-ladezeiten
    Zuletzt geändert von thesing; 12.04.2021, 19:29.

    Einen Kommentar schreiben:


  • jeff25
    antwortet
    Also ich würde die Firmware mit in die knxprod packen dann ist sie da wo sie hin gehört.

    Einen Kommentar schreiben:


  • thewhobox
    antwortet
    Dann wird die Firmware aber jedes mal beim parametrieren rüber geladen oder?
    Je nach Firmware könnte das schon deutlich länger dauern.

    Statt nem Plugin könnte man auch ne eigenständige Anwendung machen, die einfach nur die Firmware-Updates rüber schiebt.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Warum so kompliziert? Man muss doch nur die neue Firmware in die knxprod packen und dort die LoadProcedure entsprechend anpassen. So machen es die Hersteller doch auch. Ein ETS-Plugin würde ich nicht mehr machen. Wer weiß ob das in der nächsten ETS-Version noch geht. Und von der ETS-Inside ganz zu schweigen.

    Einen Kommentar schreiben:


  • thewhobox
    antwortet
    Zitat von mumpf Beitrag anzeigen
    könntest Du?
    Ja^^

    Ich hab heute einfach mal mit bisschen rumgespielt.
    Mein AddIn kann bisher nur die Seriennummer auslesen und wenn das Gerät nicht antwortet stürzt die ETS ab xD (hab den Fehler gefunden)

    Generell ist es nur eine Klassenbibliothek in C# mit dem .net Framework 4
    Darin sind dann Benutzer Steuerelemente (WPF).


    Gruß Mike

    P.s.: Und ja man hat zugriff auf das ETS Projekt und auch auf das selektierte Gerät.
    Angehängte Dateien
    Zuletzt geändert von thewhobox; 12.04.2021, 15:13.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Mike,

    Zitat von proggerKA Beitrag anzeigen
    Man könnte ja ein ETS AddIn machen,
    könntest Du? Ich könnte nämlich mit meinem derzeitigen Wissen kein ETS-Plugin schreiben. Ich würde gerne in der ETS ein Plugin haben, dass es erlaubt, die Parameter meiner Logikkanäle oder 1-Wire-Kanäle zu exportieren und wieder zu importieren. Damit könnte man dann auch eine Visualisierung der Logik machen etc.
    Die Frage ist: Wie schreibt man so ein Addin? Und hat das dann Zugriff auf die in der ETS gepflegten Eigenschaften des Gerätes?

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • thewhobox
    antwortet
    Hallo,

    mir käme zum Update per ETS eine Idee.
    Man könnte ja ein ETS AddIn machen, der die Daten rüber schickt.
    Man müsste sich dann natürlich noch ein Schema einfallen lassen, dass man keine falsche Firmware drauf laden kann.
    Und eine Abfrage ob das Gerät das überhaupt unterstütz.
    Aber theoretisch hat man ja im APCI von 1011111000 bis 1011111110 Platz für Herstellespezifische Anweisungen.


    Gruß Mike

    Einen Kommentar schreiben:


  • OutOfSync
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Zum Ausbau von Geräten: Ich weiß ja nicht, was Du machst, ich habe die Geräte in Berker-Sensormodulen in einer UP-Dose drin sitzen. Ich nutze zum Debuggen den Segger J-Link mini, der kann ja auch über SWD programmieren. Jetzt habe ich die alle mit so einem 15-cm SWD-Flachbandkabel in der UP-Dose versenkt. Zum programmieren brauche ich den J-Link nur an das SWD-Kaben anzuschließen und spare mir so den Ausbau.
    Hi Waldemar,

    ich habe bisher Geräte für die Hutschiene (Easymeter Stromzähler auslesen und 8-fach Relay mit Extrasensoren für die Gartenbewässerung) und LED-Dimmer gebaut. Da ist der ESP32 gesockelt und ich kann ihn einfach ausbauen und flashen. Mit OTA geht das eigentlich auch sehr gut ohne Ausbau aber bei Änderungen am Stack die KNX Parameter im Flash (stimmt, nicht EEPROM...) betreffen muss alles gelöscht werden. Entladen und Neuprogrammieren würde auch gehen aber das hatte letztes Mal nicht funktioniert. Das muss ich mir nochmal angucken.

    Viele Grüße
    Julius

    PS: Ich habe jetzt die beiden Pull Requests für Seriennummer und Partielles Programmieren erstellt.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Thomas,

    Zitat von thesing Beitrag anzeigen
    - Telegrammgröße: Für knx-ip (und evtl. auch RF) passt die so. Ich denke auch eher, dass es am Stack und nicht am Buffer des seriellen Port hängt. Ich schlage vor mal auf der Geräteseite die empfangenen Bytes mit printHex() auszugeben und zu schauen, ob die Telegramme bis zum Stack kommen. Falls ja liegt es am Stack und nicht am Buffer. Sonst kann man auch ein #define für die Telegrammgröße hinzufügen.
    danke fürs Feedback. Um den Punkt kümmere ich mich... ich hätte ja auch auf die Idee kommen können, das im Stack zu überprüfen.

    Melde mich, wenn ich was gefunden habe,
    Gruß, Waldemar

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Hallo allerseits,

    schön wie sich das alles entwickelt:

    Nur kurz ein paar Anmerkungen:
    - Telegrammgröße: Für knx-ip (und evtl. auch RF) passt die so. Ich denke auch eher, dass es am Stack und nicht am Buffer des seriellen Port hängt. Ich schlage vor mal auf der Geräteseite die empfangenen Bytes mit printHex() auszugeben und zu schauen, ob die Telegramme bis zum Stack kommen. Falls ja liegt es am Stack und nicht am Buffer. Sonst kann man auch ein #define für die Telegrammgröße hinzufügen.
    - Partielle Programmierung/Seriennummern etc: immer her mit den Pull-request. Neue Features sind immer gut.
    - Firmwareupdate über die Gruppenkommunikation entspricht überhaupt nicht der Spezifikation. Dafür gibt es andere Möglichkeiten. Spontan würde ich da an ein weiteres Objekt (wie Adresstabelle, Assoziationstabelle usw. ) denken. Das würde für die ETS die Firmware darstellen und könnte dann auch darüber geschrieben werden. Man müsste die Firmware dann in der knxprod wahrscheinlich als "baggage" mitgeben. Schaut einfach mal in die knxprods der Hersteller wie die das lösen.
    - RP2040: Warum nicht einfach beides? Da die Arduino-Version wahscheinlich on-top des anderen Sdks gebaut wird, kann man auch einfach jetzt die Platform ohne arduino erstellen und später für eine Rp2040arduine-Version zusätzlich erstellen. (Gleiches gilt für die anderen Platformen auch: wer eine Portierung für sein Lieblings-RTOS machen möchte: immer her damit.)

    Viele Grüße,
    Thomas

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von keil Beitrag anzeigen
    würde ich mich auch an eine Unterstützung des Raspberry Pi Pico RP2040
    dafür Daumen hoch !

    mit Arduino oder ohne? Arudino Support kommt ja, nur fertig ist er noch nicht.
    Ich würde *mit* bevorzugen.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    habe auch die Seriennummer bei meinen Modulen aktiviert, scheint wirklich keine Nebeneffekte zu haben. Zumindest funktioniert es bei 3 Modulen ohne weiteres. Für den SAMD funktioniert Julius Coding auf jeden Fall.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Wie machst Du Dein OTA?

    Wenn man genug Flash hat (2*Nutzgröße), könnte man ja immer in den Bereich schreiben, der gerade nicht genutzt wird und dann müsste man nur nach dem Reset einen Dispatcher haben, der in den "richtigen" Bereich springt, der andere stünde dann wieder zum Überschreiben zur Verfügung.

    Als ich mit dem Ganzen anfing, war ich noch idealistisch und dachte, bei 256k Flash im SAMD bekommt man das locker hin, ich brauch ja nicht mehr als 50k für meine Firmware. 80k knx-Stack und dann 2 x 50k bekommt man schon irgendwie hin. Dummerweise bin ich jetzt schon bei ca. 100k Firmware und 10k Parameterblock, das war es dann.

    Aber interessieren würde es mich schon, wie Du das machst. BT low power kann ich mir noch vom Bus vorstellen, aber WLAN nicht mehr...

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • keil
    antwortet
    ... wenn es jetzt die Möglichkeit eines Firmwareupdates über den Bus gäbe... (das darf ja auch gerne etwas länger dauern...)

    Weil ein paar meiner Geräte ebenfalls schlecht zu erreichen sind habe ich bewusst den NANO 33 IoT mit dem WLAN/Bluetooth Modul gewählt. Das „OTA“ Update klappt ziemlich gut, allerdings habe ich das noch nicht mit dem knx-Stack getestet (antriggern würde ich das ganze über ein KO auf dem Bus).
    Mit der Stromaufnahme des ublox NINA-W102 (ist ein ESP32) könnte es im Low Power Mode sogar komplett über den Bus versorgt klappen (aber das ist alles noch nur theoretisch überlegt).
    Zuletzt geändert von keil; 11.04.2021, 17:05.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Julius,

    nach allem, was ich über die Seriennummer weiß, liegt das daran (habe aber nur hier im Forum angelesenes Wissen). Deswegen wäre es auch besser, wenn die Default-Seriennummer im Stack einfach 0 wäre statt 0x01020304. Die 0 wird in der ETS als Ausnahme behandelt, für all die alten Geräte, die keine Seriennummer hatten. In meinem Stack hatte ich das so gemacht.

    Ich habe inzwischen auch Dein Coding drin, beim ersten Gerät gab es (noch) keine Probleme, noch 20 todo .

    Zum Ausbau von Geräten: Ich weiß ja nicht, was Du machst, ich habe die Geräte in Berker-Sensormodulen in einer UP-Dose drin sitzen. Ich nutze zum Debuggen den Segger J-Link mini, der kann ja auch über SWD programmieren. Jetzt habe ich die alle mit so einem 15-cm SWD-Flachbandkabel in der UP-Dose versenkt. Zum programmieren brauche ich den J-Link nur an das SWD-Kaben anzuschließen und spare mir so den Ausbau.

    Warum EEPROM? Der Flash von ESP32 ist doch groß genug?

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X