Arduino melde und schalt System (RocNet+MQTT)

Post Reply
eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Arduino melde und schalt System (RocNet+MQTT)

Post by eporocrail » 24.06.2016, 09:30

Hallo Rocrailer

Ich bin fasziniert von Rocrail und Arduino.

Ich habe mir Gedanken gemacht über ein Konzept für die Erstellung von ein komplettes melde und schalt System basierend auf Arduino und Raspi.
Das Konzept möchte ich jetzt mit euch Rocrailer teilen.

Stand der Dinge ist das die software für den Dekoder fertig ist. Basierend auf Arduino NANO bin ich soweit das vier unterschiedliche versionen von Dekoder funktionieren: Type 0 mit 2 x 16 sensoren, 1 x 16 relais und 1 x 16 Servos. Type 1 mit 16 sensoren. Type 2 mit 16 Relais und Type 3 mit 16 Servos.
Da die Software modular aufgebaut worden ist, ist es ziemlich einfach ein andere erwünschte Kombination zu erstellen. Wo sinnvoll ist OOP benutzt worden. Timer Interrupt Steuerung kommt zum Einsatz.

Das Thema was ich noch weitergehend ausgraben muss ist die sichere daten Übertragung zwischen Master und Dekoder. Wenn möglich soll das quasi im Hintergrund ablaufen.

Hier scheint MQTT und Mosquito ein sehr gute stabile Lösung zu bieten. Zudem ist es einfach auf Raspi zu implementieren.

Und gerade hier scheint mir ein Weg in die Zukunft zu liegen für Rocrail.

Wann das System im ganzen funktioniert, werde ich die Software via Github publik machen.

Wenn ich mein ganze Entdeckungsreise jemandem schmackhaft gemacht haben möchte, könnte er mal in den Anhang weiter lesen.
Da ist ein mehr detaillierte Beschreibung vorhanden. Ist zwar im Englisch da ich das Konzept auch English sprachige Entwickler vorgelegt habe.

Viel Spass

Ellard
Attachments
Design Struduino.pdf
Design StruDuino
(67.4 KiB) Downloaded 92 times

rjversluis
Site Admin
Posts: 39848
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Arduino melde und schalt System

Post by rjversluis » 24.06.2016, 14:53

Hallo Ellard,

alle Achtung; Schönes Konzept. :)
Ich denke das wegen der einfache Arduino Programmierung viel interessiert sind.
Aber mit diese Sommerliche Temperaturen gibt es nicht so viele responses, aber die kommen bestimmt noch wenn es abgekühlt ist. ;)
Und zusammen mit DCC++ läuft die ganze Anlage auf basis von Arduino's.

ste111
Posts: 278
Joined: 27.01.2010, 20:47

Re: Arduino melde und schalt System

Post by ste111 » 24.06.2016, 17:09

Hallo Ellard,

wenn Du RS485 als Bus nehmen möchtest, warum nicht gleich BiDiB?
Vielleicht kannst Du Dir mal anschauen, ob Du das BiDiB-Protokoll auf Arduino umsetzen kannst. Im OpenDCC-Forum wurde das auch angesprochen.

Grüße
Stephan

rjversluis
Site Admin
Posts: 39848
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Arduino melde und schalt System

Post by rjversluis » 24.06.2016, 17:57


eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Re: Arduino melde und schalt System

Post by eporocrail » 25.06.2016, 15:37

Hi Rob,

Lob vom Meister tut einen Gut!!!!

eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Re: Arduino melde und schalt System

Post by eporocrail » 25.06.2016, 15:53

Hallo Stephan,

Ich weiss nicht ob du den Anhang auch gelesen hasst. Das Thema MQTT und Mosquito sieht in dem Sinne vielversprechend aus das dan das Thema "Protokol" weitgehend vom Tisch scheint zu sein. Elemente die Daten generieren bieten diese Daten an an ein "Broker", sagen wir mal Berichten Vermittler. Elemente die Daten brauchen, abonnieren sich auf diese Daten. Quasi im Hintergrund werden die Daten uebertragen mit das MQTT Protokol. Aber das Protokol ist transparent und weiter fuer den Benutzer von die uebertragungs Dienst nicht interessant. Zudem wird Quality of Service geboten in drei Stufen. Das bedeutet das wenn mann Moechte 100% Sicherheit geboten wird das die Daten einwandfrei uebertragen werden.
In sofern ich jetzt diese Materie kapiere, kann jeder art von Daten uebertragen werden. Fuer mich sieht das ganze viel versprechend aus.
Dazu kommt das die software fuer den Broker einfach zu installieren ist auf Raspi. Die client software ist verfuegbar fuer Arduino.

Also vieles zu entdecken und zu ein fuer uns nutzbares System zusammnen zu fuegen.

Viel Spass!

eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Re: Arduino melde und schalt System

Post by eporocrail » 30.06.2016, 11:01

Hallo Rocrailer,

Ich bin wieder ein Schritt weiter. Ich bin angefangen ein komplettes Konzept an zu fertigen fuer dass Erfassen von Sensor Daten, uebermitteln von steuer Daten und presentieren von Status Daten zwischen Rocrail und Arduino componenten. Hierbei kommt auch RASPI zum einsatz.

Und zum schluss bin ich angefangen das ganze zu publizieren auf github.

Die Adresse ist : https://github.com/eporocrail/Rocarsys

Viel Spass!

Ellard

rjversluis
Site Admin
Posts: 39848
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Arduino melde und schalt System

Post by rjversluis » 30.06.2016, 11:06

Hi Ellard,

wenn Interesse besteht kann ich auch in Rocrail MQTT anbieten.

Wo ist das Protokoll Dokumentiert?

eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Re: Arduino melde und schalt System

Post by eporocrail » 30.06.2016, 12:29


rjversluis
Site Admin
Posts: 39848
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Arduino melde und schalt System

Post by rjversluis » 30.06.2016, 12:52

Hallo Ellard,

und der Kommunikationsweg ist? TCP/IP? UDP?

eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Re: Arduino melde und schalt System

Post by eporocrail » 30.06.2016, 13:01

Hi Rob,

MQTT laueft oben auf TCP/IP.

MQTT wird benutzt zwischen Benutzer von Daten und den Broker (MOSQUITTO), und zwischen Daten Lieferanten und den Broker(MOSQUITTO).
Benutzer und Lieferant sind unsichtbar fuer einander. Der Austausch soll quasi "near realtime" ablaufen. (werden wir sehen)
Ich nehme an du koentest nicht mehr machen als ein MQTT client einbauen in Rocrail, oder MOSQUITTO zusammen mit Rocrail verteilen.

Ich las mich ueberraschen was du damit anfangen kannst.

Viel Spass!

rjversluis
Site Admin
Posts: 39848
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Arduino melde und schalt System

Post by rjversluis » 30.06.2016, 13:18

eporocrail wrote: Ich nehme an du koentest nicht mehr machen als ein MQTT client einbauen in Rocrail
würdest das nicht ausreichen?

Hast du Beispiel Code oder verwendest du ein Library?
In Rocrail will ich kein ext. Library einbinden.

eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Re: Arduino melde und schalt System

Post by eporocrail » 30.06.2016, 13:19

Hi Rob

Ich werde noch welche Links zusammen bringen und dir schicken mit mehr Info.
Es gibt auch libraries in C++ etc.

Ich setze mich daran.

eporocrail
Posts: 920
Joined: 05.06.2012, 18:45
Location: Roosendaal, NL
Contact:

Re: Arduino melde und schalt System

Post by eporocrail » 30.06.2016, 13:27

Ich denke hier ist wass du brauchst: http://www.eclipse.org/paho/clients/cpp/
http://www.eclipse.org/paho/clients/c/embedded/

Ich habe eine unterliegende Seite gelinkt aber die ganse Website bringt Info ueber MQTT Client Sachen.

Meiner Meinung nach kannst du ziemlich einfach eine MQTT Client einbauen.

Etwas schwieriger wird es um ein Benutzerfreundlichen Weg aus zu tuefteln fuer das anbieten von Daten und das fragen um Daten.

Viel Spass!

rjversluis
Site Admin
Posts: 39848
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Arduino melde und schalt System

Post by rjversluis » 30.06.2016, 16:35

Hi,

ich habe mal ein kleine Anfang gemacht mit ein Broker unter Ubuntu, und als Client Rocrail.
Der Verbindung Klappt, Aber wenn Rocrail was zum Broker schickt wird sofort der Verbindung gekappt. 8)
Ich gehe mal davon aus das ich das Protokoll studieren muss. :)

Code: Select all

20160630.161218.232 r9999I main     OMQTT    0213 ----------------------------------------
20160630.161218.232 r9999I main     OMQTT    0214 MQTT Client 2.0.0
20160630.161218.232 r9999I main     OMQTT    0215   IID   : mqtt-1
20160630.161218.232 r9999I main     OMQTT    0216   Broker: 192.168.100.141:60123
20160630.161218.232 r9999I main     OMQTT    0217 ----------------------------------------
20160630.161218.233 r9999I mqtt-1   OMQTT    0149 Listener is started.
20160630.161218.233 r9999I main     OControl 1970 initDigInts OK
20160630.161218.233 r9999I mqtt-1   OMQTT    0160 connected to 192.168.100.141:60123
20

Post Reply

Return to “Arduino (DE)”