@@ -4,14 +4,14 @@ Bibliothek zur Implementierung von vereinfachten Netzwerken auf Arduino-Boards.
...
@@ -4,14 +4,14 @@ Bibliothek zur Implementierung von vereinfachten Netzwerken auf Arduino-Boards.
Die Funktionalitaeten entsprechen dem Stand der Technik, die Umsetzung ist didaktisch reduziert.
Die Funktionalitaeten entsprechen dem Stand der Technik, die Umsetzung ist didaktisch reduziert.
Für eine Nutzung der Bibliothek wird eine drahtlose Schnittstelle benoetigt, wleche sich an der Seriellen Schnittstelle betreiben lässt.
Für eine Nutzung der Bibliothek wird eine drahtlose Schnittstelle benoetigt, wleche sich an der Seriellen Schnittstelle betreiben lässt.
Wir empfehlen unsere IR-Link-Module, die Sie selbst herstellen koennen (Schaltplan und Layout bei uns anfragen - Kontakt über [letsgoING.org](httsp://letsgoING.org)
Wir empfehlen unsere IR-Link-Module, die Sie selbst herstellen koennen (Schaltplan und Layout bei uns anfragen - Kontakt über [letsgoING.org](httsp://letsgoING.org)
oder z. B. hier erwerben koennen: [Hinweise zur Bestellung bei Aisler](#bestellung-bei-aisler).
oder z. B. hier erwerben koennen: [Hinweise zur Bestellung bei Aisler](#bestellung-bei-aisler).
## Download
## Download
Start download with the button on the right side. Choose the right format and start the download.
Start download with the button on the right side. Choose the right format and start the download.


After download install library:
After download install library:
https://www.arduino.cc/en/guide/libraries section "Importing a .zip Library"
https://www.arduino.cc/en/guide/libraries section "Importing a .zip Library"
...
@@ -21,14 +21,16 @@ https://www.arduino.cc/en/guide/libraries section "Importing a .zip Library"
...
@@ -21,14 +21,16 @@ https://www.arduino.cc/en/guide/libraries section "Importing a .zip Library"
## Beispiele
## Beispiele
**Broker:**
**Broker:**
- sPSN_Broker.ino **->** Broker Applikation (muss nicht angepasst werden)
- sPSN_Broker.ino **->** Broker Applikation (muss nicht angepasst werden)
**Clients:**
**Clients:**
- sPSN_Client1(2).ino **->** Client Applikationen die sich gegenseitig einen analogen bzw. digtalen Wert senden
- sPSN_Client1(2).ino **->** Client Applikationen die sich gegenseitig einen analogen bzw. digtalen Wert senden
- sPSN-ClientMinimal.ino **->** Minimal-Code für den einfachen Einstieg
- sPSN-ClientMinimal.ino **->** Minimal-Code für den einfachen Einstieg
- sPSN-Chat.ino **->** Chat-Applikation die Nachrichten unter eigenem Namen austauschen lässt
- sPSN-Chat.ino **->** Chat-Applikation die Nachrichten unter eigenem Namen austauschen lässt
## Funktionen und Parameter
## Funktionen und Parameter
### Client
### Client
...
@@ -56,7 +58,7 @@ int psnClient.subscribe(char* topic);
...
@@ -56,7 +58,7 @@ int psnClient.subscribe(char* topic);
intpsnClient.subscribe(char*topic,intlength);
intpsnClient.subscribe(char*topic,intlength);
// param1: Topic String/char-Array
// param1: Topic String/char-Array
// param2: Anzahl Zeichen des Topics
// param2: Anzahl Zeichen des Topics
// return ERROR-Wert: DN_ERROR_NO_ERROR,
// return ERROR-Wert: DN_ERROR_NO_ERROR,
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten)
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten)
#Anzahl der aboonierten Topics ausgeben
#Anzahl der aboonierten Topics ausgeben
...
@@ -71,62 +73,62 @@ int getSubscribedTopic(char*, int);
...
@@ -71,62 +73,62 @@ int getSubscribedTopic(char*, int);
// DN_ERROR_NO_TOPIC (Topic unter der angegebenen Nummer nicht verfügbar)
// DN_ERROR_NO_TOPIC (Topic unter der angegebenen Nummer nicht verfügbar)
#Topic eines anderen Clients entfernen
#Topic eines anderen Clients entfernen
boolpsnClient.unsubscribe(char*topic);
boolpsnClient.unsubscribe(char*topic);
// param: Topic String/char-Array
// param: Topic String/char-Array
boolpsnClient.unsubscribe(char*topic,intlength);
boolpsnClient.unsubscribe(char*topic,intlength);
// param1: Topic String/char-Array
// param1: Topic String/char-Array
// param2: Anzahl Zeichen des Topics
// param2: Anzahl Zeichen des Topics
// return true wenn Daten versendet / false wenn nicht
// return true wenn Daten versendet / false wenn nicht
#Daten unter Topic veroeffentlichen
#Daten unter Topic veroeffentlichen
intpsnClient.publish(char*topic,char*payload);
intpsnClient.publish(char*topic,char*payload);
// param1: Topic String/char-Array;
// param1: Topic String/char-Array;
// param2: payload-char-Array
// param2: payload-char-Array
// return: ERROR-Wert: DN_PUBLISH_SUCCESSULL,
// return: ERROR-Wert: DN_PUBLISH_SUCCESSULL,
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten),
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten),
// DN_ERROR_PAYLOAD_LEN (Payload zu lange - wird abgeschnitten)
// DN_ERROR_PAYLOAD_LEN (Payload zu lange - wird abgeschnitten)
intpsnClient.publish(char*topic,boolpayload);
intpsnClient.publish(char*topic,boolpayload);
// param1: Topic String/char-Array;
// param1: Topic String/char-Array;
// param2: payload vom Datentyp bool (wird in char-Array gewandelt)
// param2: payload vom Datentyp bool (wird in char-Array gewandelt)
// return: ERROR-Wert: DN_PUBLISH_SUCCESSULL,
// return: ERROR-Wert: DN_PUBLISH_SUCCESSULL,
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten),
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten),
// DN_ERROR_PAYLOAD_LEN (Payload zu lange - wird abgeschnitten)
// DN_ERROR_PAYLOAD_LEN (Payload zu lange - wird abgeschnitten)
intpsnClient.publish(char*topic,intpayload);
intpsnClient.publish(char*topic,intpayload);
// param1: Topic String/char-Array;
// param1: Topic String/char-Array;
// param2: payload vom Datentyp int (wird in char-Array gewandelt)
// param2: payload vom Datentyp int (wird in char-Array gewandelt)
// return: ERROR-Wert: DN_PUBLISH_SUCCESSULL,
// return: ERROR-Wert: DN_PUBLISH_SUCCESSULL,
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten),
// DN_ERROR_TOPIC_LEN (Topic zu lang - wird abgeschnitten),
// DN_ERROR_PAYLOAD_LEN (Payload zu lange - wird abgeschnitten)
// DN_ERROR_PAYLOAD_LEN (Payload zu lange - wird abgeschnitten)