Group Write

Direktes senden an eine KNX Gruppenadresse.

KNiXuino Library

Die KNiXuino Library stellt dir verschiedene Klassen und Funktionen zur Verfügung, mit denen dir das Ansteuern des KNX-Bus erleichtert wird.

Lade dir die aktuelle Version der Library hier herunter. Dann spiele sie einfach in dein Library Verzeichnis des Arduino. Und starte die Arduino IDE neu. Jetzt stehen dir die KNiXuino Libs zur Verfügung.

An eine GA senden

Die Library stellt eine Connection Klasse zur Verfügung. Hier findest du ein kleines Skript (bzw. ist dieses auch bei den Examples der Library). In diesem Skript kannst du ein Licht ansteuern.

#include <Arduino.h>

#include "KNXConnection.h"

uint16_t group = ga(1,2,1);

KNXConnection knx;  

void setup() {
  Serial.begin(9600);
  Serial.println("Ready ! Switch on and off by entering 0 and 1 ...");
}

void loop() {
}

void serialEvent()
{
  char ch = Serial.read();
  if (ch == '0') knx.write(group, 0, 1);
  if (ch == '1') knx.write(group, 1, 1);
} // end keyboardInput

Erklärung

Erklärung:

Zuerst wird die Gruppenadresse in der Variablen ga abgelegt. In meinem Fall ist diese - die schon bekannte - 1/2/1. Mit Hilfe des GA-Tools im Footer wissen wir natürlich, dass dies der dezimalen GA 2561 entspricht, man könnte also auch uint16_t ga = 2561; schreiben. Ich verwende hier aber die Hilfsfunktion ga, welche diese Umwandlung erledigt. Du musst hier die GA von einem deiner Lichter einfügen.

Dann wird noch ein Objekt der Klasse KNXConnection angelegt. Man legt einfach ein einziges Objekt dieser Klasse an und hat darüber die Lese- und Schreibfunktionen der Library.

setup: Hier wird nur die Verbindung zum Serial Monitor geöffnet und eine kleine Meldung ausgegeben.

loop: Die Loop Funktion muss existieren. Beim Start des Arduino wird zuerst die Setup Funktion ausgeführt, danach immer wieder die Loop. Hier muss man gar nichts machen.

serialEvent: Die Funktion serialEvent wird automatsich aufgerufen, wenn Daten über die Serial Schnittstelle (=Serial Monitor) empfangen werden. Je nachdem ob 0 oder 1 empfangen wird, wird an die Connection Klasse ein write geschickt. Dieses sollte das Licht ein- und ausschalten. Du kannst also durch eintippen von 0 oder 1 im serial monitor dein Licht steuern