Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

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

  • WagoKlemme
    antwortet
    Vielen Dank und Respekt vor all der Arbeit/Freizeit, die in diesem Projekt steckt.

    Ich habe mal die 63 Seiten durchgeackert. Die erste Hälfte war sehr spannend und auch nachvollziehbar. In der zweiten Hälfte, bin ich, je akademischer die Diskussion wurde, nicht mehr durchgestiegen. Praktische Umsetzungen sind leider immer weniger geworden.
    Wenn ich es richtig verstanden habe, gibt es inzwischen 3 Libs. Allerdings bin ich inzwischen so verwirrt, dass ich jetzt nicht mehr weiss, welche der 3 für mich am Besten geeignet ist. Oder ist das egal ?
    Ich bräuchte Floats aufm Bus für 2 Vorhaben:
    - 1 Pro micro für die Ultraschallmessung der Entfernung des Autos meiner Frau zur Wand, mit Ansteuerung einer Meldeleuchte per KNX und Lichtschranken im Torbereich.
    - 1 Pro micro mit BME280. Ich will den Luftdruck auf meiner Edomi-Visu haben, für lokalen Wettertrend.
    Die Setups sollen ohne Hilfsspannung laufen. Das soll der Buskoppler machen.

    Die Hardware ist unterwegs, sodaß ich bald loslegen kann.

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Ja, dann auch noch viel Spaß damit.

    Habe noch ein paar zusätzliche Änderungen vorgenommen, die bestimmte Mindestwerte an interne Funktionen übergeben, falls der ein oder andere Nutzer die Werten in "KnxTpUart.h" zu klein einstellen sollte.

    Etwas mehr Sicherheit, damit solche unangenehmen Aussetzer nicht zur Regel werden.

    Einen Kommentar schreiben:


  • jaykay
    antwortet
    Hallo Mag Gyver,

    sieht gut aus. Habe den Beispiel Sketch mit einem Pro Micro & einem Mega 2560 getestet und habe keine doppelten Ausgaben mehr bekommen.
    Vielen Dank für deine Änderung!

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo jaykay,


    ich habe die Empfangsroutine in der Library umgestellt.
    Lade dir doch gerade die neueste Version runter und probiere dies bei dir.

    https://bitbucket.org/thorstengehrig...forum/overview

    Bitte um Rückmeldung, danke im Voraus.
    Zuletzt geändert von Mag Gyver; 14.05.2017, 15:42.

    Einen Kommentar schreiben:


  • jaykay
    antwortet
    Mh, ich habe das Problem auch mit einem Mega 2560...
    Kann das noch an was anderem liegen? Zur Zeit verwende ich das ganze nur in meiner Testumgebung. Raspberr Pi mit BCU & KNXd als IP Gateway und sende die Telegramme per ETS Gruppenmonitor an den Arduino Mega mit BCU und Seriellemmonitor in der Aurduino IDE. Zwischen BCU und Arduino habe ich nur RX,TX & GND verbunden. Der Raspberry ist per ADUM1201 galv. getrennt.

    In den angehängten Beispielen habe ich per ETS drei Telegramme auf die GA 15/0/0 gesendet (ReceiveKNXTelegrams_ETS Gruppenmonitor.txt).
    Im Log des Arduino wird das letzte Telegramm 4 mal ausgegeben (ReceiveKNXTelegrams_SerialMonitor.txt) ...
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Ich verwechsle immer den ARDUINO (PRO) MICRO mit dem ARDUINO NANO.

    Der ARDUINO (PRO) MICRO hat den Mikroprozessor ATmega 32U4, das heißt einmal USB-Schnittstelle und einmal UART-Schnittstelle.
    Der ARDUINO NANO hat einen ATmega 328P, dieser hat nur eine UART-Schnittstelle.

    Danke. Eugenius. Ich sollte mir das irgendwann mal notieren.

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    ProMicro hat doch 2 Schnittstellen, Debug über USB und KNX über UART

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Eine Frage, an welcher Schnittstelle gibst du die "Debug-Daten" denn überhaupt aus?

    Der Pro Micro hat doch nur eine serielle Hardwareschnittstelle. Die KNX-BCU stören deine "Debug-Daten" nicht, aber es beschäftigt natürlich den ARDUINO.
    Die serielle Softwareschnittstelle ist eine Alternative, wenn es nur ums "Debugen" geht.

    Ich gehe die Sache gerne so an:
    • Entwicklung des Sketches ohne KNX-Library, bis die eventuellen Hardware-Softwareprobleme beseitigt sind
    • Einbindung der KNX-Library, Debug-Ausgabe über serielle Softwareschnittstelle falls notwendig
    • Alles ausgiebig in einer Testumgebung auf Herz und Nieren durchprüfen
    • Dann freuen (WAF sollte möglichst hoch sein)


    Ansonsten noch viel Spaß und natürlich auch Erfolg

    Einen Kommentar schreiben:


  • jaykay
    antwortet
    Danke, für deine Antwort. Ich habe mir das hier https://www.phpmonkeys.de/2017/03/17...sieren-teil-3/ auf den Pro Micro mit KNX BCU nach gebaut. Aber das Problem taucht bei mir auch mit dem Beispiel Sketch aus der Lib auf. Es hat mich nur verwirrt. Stören wird es vermutlich nicht.

    Da hier https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/33016-arduino-am-knx/page13 im Beispiel auch der Pro Micro verwendet wurde, hat es mich gewundert das nur ich das Problem habe und habe den Fehler erst mal in meinem Sketch bzw. meiner HW gesucht...

    Auf & Ab funktionieren, jetzt muss ich noch die Position über die Fahrzeit abschätzen.

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Ja aber bitte nicht mit "delay()" machen, damit legst du den Prozessor für die angegebene Zeit komplett lahm.
    Leider kenne ich weder deinen verwendeten Aufbau, noch den Sketch den du benützt.
    Entschuldige, aber meine Kristallkugel ist noch in der Wartung.

    Ich benütze den ARDUINO LEONARDO und den ARDUINO MICRO nicht, ich habe dies und das schon bei der seriellen Kommunikation dieser beiden Versionen gehört, doch nie mich damit auseinander gesetzt.

    Im Arduino-Forum kannst du durchaus mehr über das "Problem" serialEvent() oder Serial() beim ARDUINO LEONARDO bzw. ARDUINO MICRO erfahren.

    Anbei der Link

    HTML-Code:
    https://forum.arduino.cc/index.php?board=31.0
    Zuletzt geändert von Mag Gyver; 03.05.2017, 15:26.

    Einen Kommentar schreiben:


  • jaykay
    antwortet
    Danke für die Information. Der Mega ist leider etwas zu gross für meine Schaltung. Habe eigentlich einen Pro Micro verbaut.
    Aber wegen der Probleme habe ich den Beispiel Sketch mal mit einem Arduino Micro getestet, damit ich eine LED habe und meine eigene HW ausschliessen konnte.
    Die Loop im Beispiel ist ja leer. Ein delay() hat nicht geholfen.

    Mir ist leider nicht klar ob das ein Problem ist und nachher die Aktionen wirklich mehrfach aufgerufen werden oder ist das nur mit der verbundenen USB Schnittstelle ein Problem?

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo jaykay,

    der Sketch ist mit dem ARDUINO MEGA getestet. Der ARDUINO MICRO ist die kleine Version des ARDUINO LEONARDO, wie sich dieser im Detail verhält ist mir persönlich nicht bekannt.

    Es kommt vor das die Funktion "serialEvent()" oder "serialEvent1()" gerade bei einer leeren Funktion "loop()" öfters und mehrmals hintereinander aufgerufen wird, bedingt durch den schnellen Durchlauf.

    Leider sehe ich keine gleichen Zeit-Stempel in deinem angehängten Dokument.
    Zuletzt geändert von Mag Gyver; 02.05.2017, 19:52.

    Einen Kommentar schreiben:


  • jaykay
    antwortet
    Hallo,

    ich habe mal eine Frage zu dem Beispielen von Thorsten.
    Habe mir die Sourcen hier herunter geladen: https://bitbucket.org/thorstengehrig...c88a58e571.zip
    Dann den Sketch ReceiveKNXTelegrams.ino auf meinen Arduino Micro (mit Atmel 32U4) installiert und den Seriellen Monitor gestartet.
    Wenn ich dann einige mal die gleichen KNX Nachrichten per ETS 5 an die 15/0/0 schicke (im Beispiel 14 mal) kommen im Seriellen Monitor 17 mal der wert 1 an?

    Was läuft da falsch? Die Dateien im Zip File haben alle den 28.4 14:48 im Zeitstempel.
    Es ist egal ob 0 oder 1 als Wert gesendet werden.
    Angehängte Dateien
    Zuletzt geändert von jaykay; 02.05.2017, 18:56. Grund: Log File angehängt

    Einen Kommentar schreiben:


  • tuxedo
    antwortet
    Zur "Produktentwicklung": Ja, mit KONNEKTING kann man produkte entwickeln. Muss aber nicht. Ist auch kein Wochenlanger Mehraufwand im Vergleich zu anderen Libs. Ein Demo-Sketch kriegt ähnlich schnell zum laufen.

    Dass man jetzt kein Problem damit hat was neu zu coden und zu flashen leuchtet ein. Aber ob man das in 5 oder 10 Jahren auch noch so sieht... Ist jedem selbst überlassen. Ich klick mich da lieber schnell durch ne Anwendung (die ohne Installation auf allen Betriebssystemen läuft). Aber wie gesagt: Das kann/darf/soll jeder für sich wissen.


    Arduino kann man mittlerweile mit Eclipse entwickeln. Google mal nach "sloeber arduino ide" oder lies hier ein wenig: http://www.konnekting.de/2017/04/09/...sserem-niveau/

    Ich bin noch am experimentieren und schauen, ob ich meinen ICE Debugger mit der IDE dazu überredet bekomme den Code live zu debuggen....

    Einen Kommentar schreiben:


  • ebus
    antwortet
    KONNEKTING
    -------------------
    Ich möchte kein Produkt entwickeln, sondern genau EIN auf meine Installation zugeschnittenes Modul. Ich habe nach 10 Jahren in meiner KNX Installation mittlerweile äußerst stabile Adressstrukturen, die ich mit ziemlicher Sicherheit nie mehr ändern werde. Ich habe von daher keinen Mehrwert, wenn ich Adressen über die ETS ändern könnte. Auch Konfigurationsparameter wie Füllstand der Zisterne, ab dem aus dem Brunnen nachgeladen wird, sind bereits in Abhängigkeit vom Wasserbedarf empirisch ermittelt. Und selbst wenn sich da mal etwas ändern sollte, weil z.B. ein Stück Rasen zum Gemüsebeet wird, habe ich kein Problem, das dann im Code zu ändern, neu zu compilieren und zu flashen. Dass ich dann das Modul aus der Installation nehmen muss und nicht vom Sofa oder Remote machen kann, nehme ich für später in Kauf, da ich mir jetzt die Lernkurve spare.

    Python
    -----------
    Auch hier ist die Lernkurve der Hinderungsgrund. Wenn ich es mit vorhandenem Wissen machen kann, gibt es keinen Grund mir neues anzueignen. Was für mich allerdings eine Option ist, ist den C-Code zur KNX-Kommunikation in NodeMCU einzubetten, da mir die interaktive Entwicklungsumgebung für Lua auf ESP-Boards extrem gut gefällt. Woran es aber wohl scheitern wird, ist dass die von mir verwendeten Boards ESP-01 nur ein Päärchen TX/RX Pins haben, die ich aber zur Kommunikation mit KNX benötige. Von daher wird es wohl die ganz klassische Arduino IDE mit C.













    Einen Kommentar schreiben:

Lädt...
X