Arduino melde und schalt System (RocNet+MQTT)

Arduino melde und schalt System (RocNet+MQTT)

Postby 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
You do not have the required permissions to view the files attached to this post.
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby 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.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Arduino melde und schalt System

Postby 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
OpenDCC
ste111
 

Re: Arduino melde und schalt System

Postby rjversluis » 24.06.2016, 17:57

Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Arduino melde und schalt System

Postby eporocrail » 25.06.2016, 15:37

Hi Rob,

Lob vom Meister tut einen Gut!!!!
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby 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!
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby 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
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby rjversluis » 30.06.2016, 11:06

Hi Ellard,

wenn Interesse besteht kann ich auch in Rocrail MQTT anbieten.

Wo ist das Protokoll Dokumentiert?
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Arduino melde und schalt System

Postby eporocrail » 30.06.2016, 12:29

Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby rjversluis » 30.06.2016, 12:52

Hallo Ellard,

und der Kommunikationsweg ist? TCP/IP? UDP?
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Arduino melde und schalt System

Postby 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!
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby 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.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Arduino melde und schalt System

Postby 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.
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby 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!
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Arduino melde und schalt System

Postby 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
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Next

Return to Arduino (DE)