Node-RED : IoT mit Rocrail MQTT Client Service

Internet of Things, MQTT, Node-RED

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby rjversluis » 27.12.2017, 17:38

Hi Claus,

größte Manko an der ganze Geschichte ist das es mehrere extra Abhängigkeiten gibt.

Ohne fundierte System Kenntnis ist der Hürde zu hoch.

Ein Use-Case wäre wenn Rocrail der WLANmaus nicht unterstützen würde, dann könnte man es mit knowhow und Programmierkenntnis mittels Node-RED mit einander verknüpfen.
Aber das macht niemand weil der Aufwand zu groß ist und es dann einfacher wäre um der kleine z21 zu kaufen.
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 - CANGCx ] - [ G: CBUS - CANGCx ]
rjversluis
Site Admin
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby peter&basti » 27.12.2017, 17:52

Hallo Rob,

gibt es in der node-red Umgebung eigentlich einen Node, der zb auf einem Raspi in eine Datenbank schreibt?

Usecase:

- Textausgabe der Fahrplaninformationen aus RR in eine mini DB, per Script und Textfeld, so wie das auch bei den Bahnsteiganzeigen funktioniert.
(so wie das Script von Gerrit derzeit läuft) Es könnten aber mit einem Query schlichtweg alle FP ausgelesen werden und alle relativen berechnet werden für 24 Stunden, bzw. eine Woche bei Systemstart.
- Fahrplan Anzeige dann zB auf HTML Basis mit ÖBB oder DB stylesheets, Uhrzeit Ticker kommt minütlich von Rocrail. auch über ein Textfeld.
- Datenbankzugriff dann immer 10 Zeilen nach Uhrzeit und Anzeige auf dem Miniscreen

Dann könnte Gerrit einen guten Teil der Scripte wegtun und der Rest läuft zB auf einem Rocnetnode :wink:

Infrastruktur (Raspi3 und 5 Zoll Display) zum testen hätte ich schon ... :wink:

Das wäre ein Rocrail-nativer Usecase der viele Anwender ansprechen könnte...
Liebe Grüße / best regards
Peter


System: DCC 2-Leiter H0, Rocrail 64bit auf Win10 Pro 64
Traktion: OpenDCC GBM
Fahrweg: RocNetNode & GCA PI01/2/3, GCA41/Arduino RFID, GCA145 Drehscheibe, etc.
Decoder: 99% Zimo
Experimentell: MQTT & Node-Red
peter&basti
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby rjversluis » 27.12.2017, 17:56

Hi Peter,

es gibt fast für alles ein Node, auch für Datenbanken.
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 - CANGCx ] - [ G: CBUS - CANGCx ]
rjversluis
Site Admin
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby nice2have » 27.12.2017, 18:00

Hallo Peter,
ganz so einfach ist das nicht :wink: Du mußt auch regelmäßig den Status vom Zug weiterleiten. Da hilft die Datenbank erst einmal nicht. Aber ich bin ja dran, brauche nur Zeit das Ganze reifen zu lassen. Rob hat hier schon gute Ansätze geliefert, mehr kann er auch nicht tun :wink: Ich brauche einfach Zeit :D

Nachtrag: Mein Ziel ist es das ganze HTML und CSS basiert als einfache Lösung zur Verfügung zu stellen. Das soll aber ein rundes Paket werden.
MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby peter&basti » 27.12.2017, 18:18

Hallo Gerrit,

ich wollte nur mal einen Use-Case skizzieren .... :wink:
Eine DB Struktur mit den FP Basisinformationen müsste man nicht sortieren, das ist mein Gedanke.
Liebe Grüße / best regards
Peter


System: DCC 2-Leiter H0, Rocrail 64bit auf Win10 Pro 64
Traktion: OpenDCC GBM
Fahrweg: RocNetNode & GCA PI01/2/3, GCA41/Arduino RFID, GCA145 Drehscheibe, etc.
Decoder: 99% Zimo
Experimentell: MQTT & Node-Red
peter&basti
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby nice2have » 28.12.2017, 17:22

Moin zusammen,

Ich möchte hier jetzt auch mal ein Erfolgserlebnis berichten :wink:
so - nach ein paar Anlaufschwierigkeiten ist es mir nun auch gelungen den Broker unter OSX zum Laufen zu bekommen :oops:
Das ist eigentlich nicht schwierig, hat mich aber trotzdem einige Recherche im Internet gekostet.
Deshalb hier mal eine kleine Anleitung dazu:
Der MQTT Broker "Mosquitto" wird bei OSX über Homebrew installiert. dazu muß man als erstes Hombrew installieren.
Dann läd man sich mosquitto herunter
Code: Select all
brew install mosquitto

Um den Broker als Server jetzt dauerhaft zu starten, wenn man den Rechner einschaltet gibt man im Terminal folgendes ein
Code: Select all
ln -sfv /usr/local/opt/mosquitto/*.plist ~/Library/LaunchAgents

Danach ist ein Neustart notwendig. Wenn man diesen vermeiden möchte, kann man den Broker auch direkt starten mit
Code: Select all
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mosquitto.plist


Mit
Code: Select all
launchctl start homebrew.mxcl.mosquitto
kann man den Broker neu starten.
Mit
Code: Select all
launchctl stop homebrew.mxcl.mosquitto
kann man den Broker stoppen.

Jetzt habe ich mir Rob's Beispiel genommen und nachgestellt - Es funktioniert
Code: Select all
20171228.165926.645 r9999I mqttread OClntCon 0766 broker publish: [<sys cmd="go"/>]
20171228.165926.645 r9999a mqttread OModel   2556 sys: go
20171228.165926.645 r9999I mqttread OModel   2599 informing 14 listeners of a system event name=sys val=go...
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 1216_008-3: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 2070_058-9: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 2016_084-2: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 1016_038-0: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 1116_202-1: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 1014_008-5: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 4124_003-7: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 1044_501-3: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 1116_179-1: sys
20171228.165926.646 r9999a mqttread OLoc     0820 event for loco 4020_277-2: sys
20171228.165926.647 r9999a mqttread OLoc     0820 event for loco 2016_012-4: sys
20171228.165926.647 r9999a mqttread OLoc     0820 event for loco 1116_147-8: sys
20171228.165926.647 r9999a mqttread OLoc     0820 event for loco 1144_248-2: sys
20171228.165926.647 r9999a mqttread OWeather 0102 event for weather : sys go
20171228.165926.654 r9999c tid0x4C3 OVirtual 0595 Global power ON
20171228.165948.333 r9999I mqttread OClntCon 0766 broker publish: [<sys cmd="stop"/>]
20171228.165948.333 r9999a mqttread OModel   2556 sys: stop
20171228.165948.333 r9999I mqttread OModel   2599 informing 14 listeners of a system event name=sys val=stop...
20171228.165948.333 r9999a mqttread OLoc     0820 event for loco 1216_008-3: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 2070_058-9: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 2016_084-2: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 1016_038-0: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 1116_202-1: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 1014_008-5: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 4124_003-7: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 1044_501-3: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 1116_179-1: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 4020_277-2: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 2016_012-4: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 1116_147-8: sys
20171228.165948.334 r9999a mqttread OLoc     0820 event for loco 1144_248-2: sys
20171228.165948.334 r9999a mqttread OWeather 0102 event for weather : sys stop
20171228.165948.336 r9999c tid0x4C3 OVirtual 0580 Global power OFF


Jetzt kämpfe ich noch damit, das die Verbindung zwischendurch abgebaut wird.
Code: Select all
20171228.170117.400 r9999I mqttread OSocket  0677 Other side has closed connection.
20171228.170117.411 r9999W mqttread OClntCon 0746 mqtt broken socket
20171228.170122.415 r9999I mqttread OMQTT    0129 trying to connect to broker 127.0.0.1:1883
20171228.170122.422 r9999I mqttread OMQTT    0133 connected to 127.0.0.1:1883 with ID [RocrailService]
20171228.170122.423 r9999I mqttread OMQTT    0344 SUBSCRIBE: Topic=rocrail/service/client
20171228.170252.543 r9999I mqttread OSocket  0677 Other side has closed connection.
20171228.170252.560 r9999W mqttread OClntCon 0746 mqtt broken socket
20171228.170257.561 r9999I mqttread OMQTT    0129 trying to connect to broker 127.0.0.1:1883
20171228.170257.562 r9999I mqttread OMQTT    0133 connected to 127.0.0.1:1883 with ID [RocrailService]
20171228.170257.562 r9999I mqttread OMQTT    0344 SUBSCRIBE: Topic=rocrail/service/client
MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby rjversluis » 28.12.2017, 17:34

Hi Gerrit,

normal startet Rocrail ein KeepAlive prozess, aber wenn der Mosquitto der KeepAlive Wert verschluckt wird immer wieder die Verbindung gekappt.
Am beste Mosquitto auf Raspi oder NAS laufen lassen.
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 - CANGCx ] - [ G: CBUS - CANGCx ]
rjversluis
Site Admin
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby nice2have » 28.12.2017, 17:58

Hi Rob,
NAS habe ich nur als Fritzbox, wo es ja bekanntlich nicht geht :(
Einen Pi habe ich leider auch noch nicht, das wird aber wohl die nächste Anschaffung 8)
MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby lordbrummi » 30.12.2017, 10:15

Hallo zusammen,

nur mal eine andere Idee für einen Anwendungsfall:

Ich habe derzeit einen Amazon Echo2 zum testen da (Alexa mach dies....).
Für Alexa gibt es Apps, die dort 'Skills' heissen. Unter anderem auch einen Hue Skill mit dem sich die Lampen und Szenen per Sprache steuern lassen, was sehr gut funktioniert.

Vielleicht wäre das eine Idee (für MQTT oder Skill, ich bin da in dem Thema leider nicht drin), RR per Sprache zu steuern.

Grüße Dieter
TamsMC, Servodecoder und Magnetartikeldecoder, S88 Rückmeldung, OpenCar und 3-Leiter Bahn, Win10 64bit, RR 64bit
lordbrummi
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby rjversluis » 30.12.2017, 11:13

Hi Dieter,

Alexa, Siri...
Das ging mit Win95 schon. Hinter ein Kollege sage: "Alles selektieren", "Löschen".
Also ich schalte diese Mist immer aus.

alexa.jpg
You do not have the required permissions to view the files attached to this post.
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 - CANGCx ] - [ G: CBUS - CANGCx ]
rjversluis
Site Admin
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby lordbrummi » 30.12.2017, 11:21

Hi Rob,

ja ich kenne die Problematik rund um dieses Thema.
Aber ein RR sprachgesteuert wäre schon witzig:
RR, Lok 0815 stop.... :wink:

Grüße Dieter
TamsMC, Servodecoder und Magnetartikeldecoder, S88 Rückmeldung, OpenCar und 3-Leiter Bahn, Win10 64bit, RR 64bit
lordbrummi
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby peter&basti » 30.12.2017, 12:45

Hi Dieter,

wenn schon akustische Steuerung, dann höchstens den Abfahrtspfiff des Zugführers....
Da gibt's auch wenig(er) Verwechslungsgefahr :wink:

Also schon mal Pfeiferl besorgen, falls nicht vorhanden :wink:

... und Deine Cars reagieren dann auf "Tatü Tata" wenn ein Einsatzfahrzeug kommt und fahren zur Seite :?: ..... :idea:
Liebe Grüße / best regards
Peter


System: DCC 2-Leiter H0, Rocrail 64bit auf Win10 Pro 64
Traktion: OpenDCC GBM
Fahrweg: RocNetNode & GCA PI01/2/3, GCA41/Arduino RFID, GCA145 Drehscheibe, etc.
Decoder: 99% Zimo
Experimentell: MQTT & Node-Red
peter&basti
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby lordbrummi » 30.12.2017, 13:04

peter&basti wrote:... und Deine Cars reagieren dann auf "Tatü Tata" wenn ein Einsatzfahrzeug kommt und fahren zur Seite :?: ..... :idea:


Hallo Peter,

ja die biegen dann bei nächster Gelegenheit ab oder fahren in die Bushaltestelle.
Man muß nur mittels xml Script prüfen, ob von hinten ein Einsatzfahrzeug kommt und mittels Blockclasses steuert man den Weg frei :wink:

Grüße Dieter
TamsMC, Servodecoder und Magnetartikeldecoder, S88 Rückmeldung, OpenCar und 3-Leiter Bahn, Win10 64bit, RR 64bit
lordbrummi
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby Schorse » 30.12.2017, 13:44

Hallo,

Aber ein RR sprachgesteuert wäre schon witzig:

ich hatte ja schon vor einigen Jahren unterstellt das jemand (in ähnlicher Weise) danach fragt...Die Technik bewegt sich ja in diese Richtung.
Viele Grüße Gerd
Schorse
 

Re: Node-RED : IoT mit Rocrail MQTT Client Service

Postby nice2have » 02.01.2018, 09:52

Hallo Rob,
vermutlich mal eine "dumme" Frage, aber was muß genau im MQTT-Node für eingehende Infos eingestellt werden, damit mir im Debug die Infos angezeigt werden ?

Ich nehme das Minimal-Beispiel, wie hier beschrieben:
http://wiki.rocrail.net/doku.php?id=nodered:nodered-en#sample_flow_1

Was bei mir funktioniert ist die "Sende-Richtung", sprich ich kann Power on / off schalten. Über den MQTT "rocrail/service/info" bekomme ich aber über msg.payload nichts angezeigt.

Bei MQTT habe ich Server: 127.0.0.1 und Port: 1883 QoS: 1 (also Default-Werte eingestellt).

Da die Einstellungen in der Sende-Richtung funktionieren, kann es ja eigentlich nicht an den Server-Einstellungen liegen, trotzdem bekomme ich keine Infos über "rocrail/service/info" herein :?
MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

PreviousNext

Return to IoT (DE)