Hallo zusammen,
ich bin mir ehrlich gesagt nicht sicher, wo dieser Beitrag hingehört. Es ist weder eine konkrete Frage noch ein fertiges Produkt, und als Werbung ist es auch nicht gemeint. Falls er woanders besser aufgehoben ist, verschiebt ihn gerne oder sagt mir Bescheid.
Wir (das sind ein Kollege und ich) haben eine Arduino-Library und ein kleines Breakout-Board gebaut, mit denen man eigene Mikrocontroller-Projekte an den KNX-Bus hängen kann. Bevor wir weitermachen, würden wir gern wissen, was ihr davon haltet.
Angefangen hat das mit unserer Diplomarbeit an einer HTL. Da haben wir einen KNX-Taster gebaut, vom TP-UART2 aufwärts alles selbst. Eigentlich kommen wir aus der Robotik und sind dort von Adafruit und Co. ziemlich verwöhnt: Board anstecken, Library einbinden, nach fünf Minuten läuft es. So etwas haben wir für KNX nicht gefunden, was schade ist. Unserer Meinung nach sollte man als Maker seine Ideen schnell und einfach in sein Smart Home integrieren können, das geht immerhin bei ZigBee, Matter usw. auch. KnxTpUart, KONNEKTING und OpenKNX kennen wir natürlich, aber ein Board mit passender Library, das genauso einfach funktioniert, gibt es unseres Wissens noch nicht.
Uns ist klar, dass KNX vor allem robust und zuverlässig sein muss. Trotzdem fanden wir, dass man auch im KNX-Smarthome mit einem Arduino schnell mal eine Idee umsetzen können sollte.
Library
Der Stack war durch die Diplomarbeit großteils fertig, also haben wir im Sommer eine Open-Source-Library daraus gemacht. Sie läuft mit jedem TP-UART2. Am Bus getestet haben wir sie mit einem TP-UART2 und mit unserem Board. Gruppenadressen und physikalische Adresse stehen direkt im Sketch, für das eigene Gerät braucht man also kein ETS-Projekt. Aktuell werden 17 DPTs unterstützt, alles andere geht über ein generisches Objekt. Getestet haben wir sie bisher auf ESP32, STM32, RP2040, AVR und Renesas.
Einfach etwas auf den Bus senden:
Oder mit einem Geräteobjekt inklusive Statusrückmeldung:
Breakout-Board
Was uns dann noch gefehlt hat, war ein günstiges Breakout-Board. Gefunden haben wir eigentlich nur BCUs, die man umbauen muss, oder Boards, die teuer und schwer zu bekommen sind. Also haben wir selbst eines entwickelt. Es basiert auf dem STKNX, davor sitzt ein ATtiny1616, der nach außen einen TP-UART2 nachbildet. Für die Library macht das keinen Unterschied, das zeitkritische Bus-Timing bleibt auf dem Board, und weil sich der STKNX bei Platinenfertigern bestücken lässt, ist das Ganze deutlich günstiger. Zum Host hin ist das Board galvanisch getrennt und läuft mit 3,3 V wie mit 5 V. Versorgt wird es aus dem Bus, der Mikrocontroller braucht eine eigene Versorgung.
Bridge_Closeup_Handheld.webp
Bridge_Breadboard_Wide.webp
Im Moment gibt es das Board nur als Entwicklungsmuster. Später wollen wir eine kleine Serie machen, das soll hier aber nicht der Punkt sein. Die Library läuft auch ohne unser Board.
Mehr Infos gibt es auf www.konnextra.at, der Code ist dort ausführlicher dokumentiert für Interessierte.
Wir haben in dieses Projekt sehr viel Herzblut gesteckt, und würden uns über Feedback, Gedanken oder Ideen dazu sehr freuen! Unsere Perspektive auf KNX ist wahrscheinlich nicht die breiteste, weswegen wir sehr gespannt auf eure Meinung dazu sind! Gerne auch kritisch!
Liebe Grüße,
Florian und Vincent
ich bin mir ehrlich gesagt nicht sicher, wo dieser Beitrag hingehört. Es ist weder eine konkrete Frage noch ein fertiges Produkt, und als Werbung ist es auch nicht gemeint. Falls er woanders besser aufgehoben ist, verschiebt ihn gerne oder sagt mir Bescheid.
Wir (das sind ein Kollege und ich) haben eine Arduino-Library und ein kleines Breakout-Board gebaut, mit denen man eigene Mikrocontroller-Projekte an den KNX-Bus hängen kann. Bevor wir weitermachen, würden wir gern wissen, was ihr davon haltet.
Angefangen hat das mit unserer Diplomarbeit an einer HTL. Da haben wir einen KNX-Taster gebaut, vom TP-UART2 aufwärts alles selbst. Eigentlich kommen wir aus der Robotik und sind dort von Adafruit und Co. ziemlich verwöhnt: Board anstecken, Library einbinden, nach fünf Minuten läuft es. So etwas haben wir für KNX nicht gefunden, was schade ist. Unserer Meinung nach sollte man als Maker seine Ideen schnell und einfach in sein Smart Home integrieren können, das geht immerhin bei ZigBee, Matter usw. auch. KnxTpUart, KONNEKTING und OpenKNX kennen wir natürlich, aber ein Board mit passender Library, das genauso einfach funktioniert, gibt es unseres Wissens noch nicht.
Uns ist klar, dass KNX vor allem robust und zuverlässig sein muss. Trotzdem fanden wir, dass man auch im KNX-Smarthome mit einem Arduino schnell mal eine Idee umsetzen können sollte.
Library
Der Stack war durch die Diplomarbeit großteils fertig, also haben wir im Sommer eine Open-Source-Library daraus gemacht. Sie läuft mit jedem TP-UART2. Am Bus getestet haben wir sie mit einem TP-UART2 und mit unserem Board. Gruppenadressen und physikalische Adresse stehen direkt im Sketch, für das eigene Gerät braucht man also kein ETS-Projekt. Aktuell werden 17 DPTs unterstützt, alles andere geht über ein generisches Objekt. Getestet haben wir sie bisher auf ESP32, STM32, RP2040, AVR und Renesas.
Einfach etwas auf den Bus senden:
Code:
#include <KonnextraKNX.h>
KonnextraKNX knx("1.1.5");
void setup() {
knx.begin();
knx.send("0/1/1", Dpt1(true)); // einschalten
knx.send("0/4/2", Dpt9(21.5f)); // Temperatur senden
}
void loop() {
knx.loop();
}
Code:
#include <KonnextraKNX.h>
KonnextraKNX knx("1.1.5");
KnxLight lamp(knx, "0/1/1", "0/3/0"); // Schalten, Status
void setup() {
knx.begin();
lamp.onUpdate(onLampChanged);
lamp.toggle();
}
void loop() {
knx.loop();
}
void onLampChanged(bool on) {
// auf Statusänderung reagieren
}
Breakout-Board
Was uns dann noch gefehlt hat, war ein günstiges Breakout-Board. Gefunden haben wir eigentlich nur BCUs, die man umbauen muss, oder Boards, die teuer und schwer zu bekommen sind. Also haben wir selbst eines entwickelt. Es basiert auf dem STKNX, davor sitzt ein ATtiny1616, der nach außen einen TP-UART2 nachbildet. Für die Library macht das keinen Unterschied, das zeitkritische Bus-Timing bleibt auf dem Board, und weil sich der STKNX bei Platinenfertigern bestücken lässt, ist das Ganze deutlich günstiger. Zum Host hin ist das Board galvanisch getrennt und läuft mit 3,3 V wie mit 5 V. Versorgt wird es aus dem Bus, der Mikrocontroller braucht eine eigene Versorgung.
Bridge_Closeup_Handheld.webp
Bridge_Breadboard_Wide.webp
Im Moment gibt es das Board nur als Entwicklungsmuster. Später wollen wir eine kleine Serie machen, das soll hier aber nicht der Punkt sein. Die Library läuft auch ohne unser Board.
Mehr Infos gibt es auf www.konnextra.at, der Code ist dort ausführlicher dokumentiert für Interessierte.
Wir haben in dieses Projekt sehr viel Herzblut gesteckt, und würden uns über Feedback, Gedanken oder Ideen dazu sehr freuen! Unsere Perspektive auf KNX ist wahrscheinlich nicht die breiteste, weswegen wir sehr gespannt auf eure Meinung dazu sind! Gerne auch kritisch!
Liebe Grüße,
Florian und Vincent


Kommentar