From bd1d46130a2f63c137ff61dbcd48187b930a369e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anian=20B=C3=BChler?= <anian.buehler@reutlingen-university.de> Date: Thu, 29 Apr 2021 11:28:18 +0200 Subject: [PATCH] added properties and keywords --- README.md | 4 +- example/sPSN_Broker/sPSN_Broker.ino | 10 ++--- example/sPSN_Server/sPSN_Server.ino | 57 +++++++++++++++++++++++++++++ keywords | 40 ++++++++++++++++++++ library.properties | 8 ++++ 5 files changed, 112 insertions(+), 7 deletions(-) create mode 100644 example/sPSN_Server/sPSN_Server.ino create mode 100644 keywords create mode 100644 library.properties diff --git a/README.md b/README.md index fa75e0e..797b14d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Library for implementing networks on Arduino boards. The functionalities correspond to state of the art technologies, which are didactically reduced. -##Supported so far: +## Supported so far: publish/subscribe network -## +### usage diff --git a/example/sPSN_Broker/sPSN_Broker.ino b/example/sPSN_Broker/sPSN_Broker.ino index 8b03893..da6837f 100644 --- a/example/sPSN_Broker/sPSN_Broker.ino +++ b/example/sPSN_Broker/sPSN_Broker.ino @@ -1,5 +1,5 @@ /** - *file: sPSN_Server.ino + *file: sPSN_Broker.ino *author: letsgoING -> info@letsgoing.de * *description: @@ -18,7 +18,7 @@ * - LED an Pin9 * * Für ein Chat-Netzwerk werden mindestens 3 Arduinos benötigt: - * Arduino1: sPSN_Server.ino (dieses Programm) + * Arduino1: sPSN_Broker.ino (dieses Programm) * - IR-Sender an Pin 11 IR-Empfänger an Pin10 * Arduino2-n: sPSN_Chat.ino * - IR-Sender an Pin 11 IR-Empfänger an Pin10 @@ -37,8 +37,8 @@ // Rx = 10 -> Empfänger | Tx = 11 -> Sender SoftwareSerial sSerial(10, 11); -//Erzeuge Server-Instanz -didacticPSNetServer psnBroker; +//Erzeuge Broker-Instanz +didacticPSNetBroker psnBroker; void setup() { //Starte Serielle Schnittstelle (zum PC) @@ -52,6 +52,6 @@ void setup() { } void loop() { - //hier verarbeitet der Server alle Daten + //hier verarbeitet der Broker alle Daten psnBroker.handleNetwork(); } diff --git a/example/sPSN_Server/sPSN_Server.ino b/example/sPSN_Server/sPSN_Server.ino new file mode 100644 index 0000000..8b03893 --- /dev/null +++ b/example/sPSN_Server/sPSN_Server.ino @@ -0,0 +1,57 @@ +/** + *file: sPSN_Server.ino + *author: letsgoING -> info@letsgoing.de + * + *description: + * Dieses Programm ist ein Teil eines Beispiels für ein einfaches Pub-Sub-Netzwerk. + * + * Für ein Sensor-Netwerk werden 3 Arduinos mit IR-Link-Modulen benötigt: + * Arduino1: sPSN_Broker.ino (dieses Programm) + * - IR-Sender an Pin 11 IR-Empfänger an Pin10 + * Arduino2: sPSN_Client1.ino + * - IR-Sender an Pin 11 IR-Empfänger an Pin10 + * - Taster an Pin2 + * - LED an Pin9 + * Arduino3: sPSN_Client2.ino + * - IR-Sender an Pin 11 IR-Empfänger an Pin10 + * - Poti an PinA0 + * - LED an Pin9 + * + * Für ein Chat-Netzwerk werden mindestens 3 Arduinos benötigt: + * Arduino1: sPSN_Server.ino (dieses Programm) + * - IR-Sender an Pin 11 IR-Empfänger an Pin10 + * Arduino2-n: sPSN_Chat.ino + * - IR-Sender an Pin 11 IR-Empfänger an Pin10 + * + *date: 14.12.2020 + *version: 1.0 + */ + +#include "SoftwareSerial.h" +#include "didacticNet.h" + +//lege Geschwindigkeit für serielle Schnittstellen fest +#define SERIAL_BAUD 2400 + +//lege Pins für SoftwareSerielle Schnittstelle fest +// Rx = 10 -> Empfänger | Tx = 11 -> Sender +SoftwareSerial sSerial(10, 11); + +//Erzeuge Server-Instanz +didacticPSNetServer psnBroker; + +void setup() { + //Starte Serielle Schnittstelle (zum PC) + Serial.begin(SERIAL_BAUD); + + //Starte SoftwareSerielle Schnittstelle (zu IR-Link-Modulen) + sSerial.begin(SERIAL_BAUD); + + //Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll + psnBroker.setStream(sSerial); +} + +void loop() { + //hier verarbeitet der Server alle Daten + psnBroker.handleNetwork(); +} diff --git a/keywords b/keywords new file mode 100644 index 0000000..b76b4a1 --- /dev/null +++ b/keywords @@ -0,0 +1,40 @@ +####################################### +# Syntax Coloring Map didacticNetwork +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +didacticPSNet KEYWORD1 SD +didacticPSNetBroker KEYWORD1 SD +didacticPSNetClient KEYWORD1 SD + +####################################### +# Methods and Functions (KEYWORD2) +####################################### +setCallback KEYWORD2 +setStream KEYWORD2 +handleNetwork KEYWORD2 +isDataToSend KEYWORD2 + +publish KEYWORD2 +subscribe KEYWORD2 +unsubscribe KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### +MSG_PRELIMITER LITERAL1 +MSG_DELIMITER LITERAL1 +MSG_SEPARATOR LITERAL1 + +MSG_PUBLISH LITERAL1 +MSG_SUBSCRIBE LITERAL1 +MSG_UPDATE LITERAL1 +MSG_TOPIC_MULTI LITERAL1 + +MAX_NR_TOPICS_CLIENT LITERAL1 +MAX_NR_TOPICS_BROKER LITERAL1 +MAX_LEN_TOPICS LITERAL1 +MAX_LEN_DATA LITERAL1 diff --git a/library.properties b/library.properties new file mode 100644 index 0000000..829209a --- /dev/null +++ b/library.properties @@ -0,0 +1,8 @@ +name=didacticNetwork +version=0.1 +author=letsgoING +maintainer=letsgoING <info@letsgoing.org> +sentence=Library for implementing networks on Arduino boards. The functionalities correspond to state of the art technologies, which are didactically reduced. +category=Communication +url=https://gitlab.reutlingen-university.de/letsgoing/libraries/didacticnetwork +includes=didacticNetwork.h -- GitLab