Fabrik mit Mosquitto Server verbinden.

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Fabbel
Beiträge: 4
Registriert: 26 Jan 2024, 20:07

Fabrik mit Mosquitto Server verbinden.

Beitrag von Fabbel » 25 Apr 2024, 14:23

Guten Tag,
ich würde gerne mehrere Fischertechnik Fabriken über ein Node Red Dashbord einsehen und steuern können. Und zwar unabhängig von der Fischertechnik Cloud. Meine Idee ist es dazu mit den Fabriken je eine MQTT Bridge zu einem Mosquitto Server auf einem Raspberry Pi aufzubauen.

Kann mir jemand sagen wie das genau geht, bzw was zu beachten ist. Insbesondere die conf Files?

Gibt es vielleicht andere Ideen wie sich das Projekt ggf einfacher realisieren lässt?

beste grüße Fabian

Benutzeravatar
fishfriend
Beiträge: 1826
Registriert: 26 Nov 2010, 11:45

Re: Fabrik mit Mosquitto Server verbinden.

Beitrag von fishfriend » 25 Apr 2024, 22:25

Hallo...
Welche der Fabriken? TXT, TXT 4.0, SPS...
Ich greife mal etwas vor. Ich bin aber nicht derjenige, der die Grundlagenforschung macht. Ich arbeite nur zu, bzw probiere es aus.
"Wir" sind gerade am experimentieren mit MQTT auf dem TXT 4.0.
Axel hat ein lauffähiges Beispiel gemacht. Ich hatte viele Probleme es zum laufen zu bekommen. Es läuft auch nicht 100% zuverlässig, da die Mosquitto-Testseite manchmal sehr spät und machmal gar nicht antwortet. Manchmal lief das Programm nur am TXT 4.0 selbst, mal auch vom PC.
Mehrere schnelle Anfragen hintereinander an den Server, wurden nicht beantwortet. -Kann- aber auch am Status/Qualität der Anfrage liegen. Ich hab genau das noch nicht weiter ausprobiert.
Es war schon bei uns zu Hause die Idee, einen eigenen Mosquitto Server im Homenetzwerk einzurichten um eine schnellere und sichere Antwort zu bekommen.

Ich gebe zu, mir sind die Grundlagen wie das Ganze funktioniert schon klar. Wenn es ums Eingemachte geht wirds schwer (für mich). Man erkennt nicht unbedinngt die Fehlerquellen.
Der Mosquitto Server stellt ja "nur" den Broker. Es ist scheinbar möglich, auch den Brocker über den (einen) TXT 4.0 selbst, laufen zu lassen bzw. er hat es scheinbar schon drauf. Ist aber (noch) nicht dokumentiert.

Momentan ist es so, dass das Node Red auf dem TXT 4.0 läuft. Es ist nicht nötig, es auf dem PC zu installieren. Hab ich aber auch erst präter rausbekommen. (Man kann aber dadurch die Anfragen bzw den Hardbeat sehen.)

Der PC greift über den Browser auf das Dashbord -auf- dem TXT 4.0 zu.
So der Stand der Dinge momentan.

Um nun mehrere Fabriken anzusteuern, muss man erst ein gutes Konzept haben.
Im Grunde läuft die Fabrik ja nur automatisch an, wenn eine Anfrage kommt. Es ist kein Rundlauf oder Demo-Modus erstmal vorgesehen.
Wenn man nur dies Konzept nimmt, hat man nur ein Dashboard und je nachdem welche man anwählt, läuft dann nur diese an.
Man kann es auch so erweitern, dass nur bestimmte Farben auf jew. einer Fabrik produziert werden.
Man "könnte" auch Bausteine austauschen lassen, also von einer zur anderen transportieren lassen.

Jetzt wo ich die Frage noch mal lese, sind wohl die conf-Files von einer TXT-Anlage. Oder SPS?
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

vleeuwen
Beiträge: 1570
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Fabrik mit Mosquitto Server verbinden.

Beitrag von vleeuwen » 26 Apr 2024, 13:33

When you run the MQTT broker locally (on you laptop, raspberry pi or TXT or TXT4.0 and also the node-red dashboard inside your local network, you don't need the bridge.
The bridge needs to be used in case that you need cloud functionality.

It is possible to connect more factories with one MQTT broker.
The probleem could be the topics. The root needs to be different otherwise the topics of the different factories will be mix-up.
For the moment I am not sure if this is the case in the original software

With the original 9V factory4.0 (TXT based, C++ program) it was very easy to run the mqtt broker and the node-red dashboard on a different device in a local network without internet connection.

Have fun with the mosquitto MQTT broker, read well the most recent mosquitto.conf documentation; it is easy to change.
There is now a new version of paho libraries too (from end 2023).
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Fabbel
Beiträge: 4
Registriert: 26 Jan 2024, 20:07

Re: Fabrik mit Mosquitto Server verbinden.

Beitrag von Fabbel » 27 Apr 2024, 08:57

Guten Tag,

@Holger:
Bei den Fabriken handelt es sich um Lernfabrik 4.0 mit 9v. Diese wird über mehrere TT Controller gesteuert und besitzt einen zentralen Broker. Bisher habe ich lokal in einer Fabrik mit meinem Node Red Dashboard gearbeitet. Das hat gut funktioniert.

@vleeuwen:

Ziel ist es aber nun von einem Dashboard auf mehrere Fabriken zugreifen zu können. Gibt es hier Ideen wie sich dies auch anders realisieren lässt?

Meine Idee war jeweils eine Bridge von den Txt Brokern der fabriken zu einem zentralen Broker aufzubauen und dort mit node Red auf alle Fabriken zuzugreifen. Ich würde mich sehr freuen wenn jemand eine andere Idee hat oder mir bei dem Vorschlag tipps geben kann.

beste grüße
Fabian

Benutzeravatar
fishfriend
Beiträge: 1826
Registriert: 26 Nov 2010, 11:45

Re: Fabrik mit Mosquitto Server verbinden.

Beitrag von fishfriend » 27 Apr 2024, 15:22

Hallo...
Nur damit ich es richtig verstanden habe. Ich gehe davon aus, dass es die TXT 9V ist und nicht die TXT 4.0 9V Fabrik.
Ich bin mir nicht 100% sicher mit dem, weil ich auf dem TXT noch nicht gemacht habe.

Wie vleeuwen schon geschrieben hat, müssen die Topics für jede Fabrik anders sein.
Vermutlich soll es ein zentrales Dashboard werden in dem alle erseinen. Oder?

Ist halt die Frage...
Wenn die TXTs die MQTT drauf haben, unterschiedliche IPs haben und man mit verschiedenen Tabs vom Browser auf jew. eine Fabrik zugreift, sollte es auch gehen. Normalerweise ist es beim Browser so eingestellt, dass man nicht Fensterübergreifend Daten austauschen kann. -Soweit ich das in Erinnerung habe-. Somit sollten auch keine Topics der anderen Fabrik empfangen/gesendet werden können. Man hat ja nicht Node Red auf dem Rechner sondern greift auf das Node Red auf dem jew. TXT zu.
Man muss halt "nur" den Tab wechseln.
Ich vermute aber, das es nicht das ist was du möchtest.

Wie gesagt ich kann auch falsch liegen.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

vleeuwen
Beiträge: 1570
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Fabrik mit Mosquitto Server verbinden.

Beitrag von vleeuwen » 27 Apr 2024, 17:56

@vleeuwen:

Ziel ist es aber nun von einem Dashboard auf mehrere Fabriken zugreifen zu können. Gibt es hier Ideen wie sich dies auch anders realisieren lässt?

Meine Idee war jeweils eine Bridge von den Txt Brokern der fabriken zu einem zentralen Broker aufzubauen und dort mit node Red auf alle Fabriken zuzugreifen. Ich würde mich sehr freuen wenn jemand eine andere Idee hat oder mir bei dem Vorschlag tipps geben kann.
What you ask is very easy to implement in case you understand the basics of MQTT and NODE-RED and the principals of message flow programming.

In the mosquitto.cnf you will find all the answers on your questions.
You can also bridge between the MQTT brokers on the TXT's and a new MQTT broker on another device(s) in your local network.
You only need to adapt the cnf and password file.

And extend the existing NodeRed application to your personal needs.
NodeREd accts as a MQTT client to.
Programming in Node-Red is message flow programming (message = topic , payload) and manipulating this messages with ECMAscript (Jscript). message flow programming is very different from imperative programming/OOP
The MQTT message are also topic+payload.
The payload is very often JSON encoded data.

It is also possible to use a Python program to control these factories. Put a MQTT-client in your application (paho mqtt python module)

Code: Alles auswählen

import paho.mqtt.client as mqtt
import paho.mqtt as pm
from paho.mqtt.enums import CallbackAPIVersion

See also:
mosquitto.cnf => https://mosquitto.org/man/mosquitto-conf-5.html
General MQTT doc => https://mosquitto.org/documentation/
Downloads MQTT => https://mosquitto.org/download/
NodeRed => https://nodered.org/docs/
NodeRed downloads => https://mosquitto.org/download/
Paho mqtt python => https://pypi.org/project/paho-mqtt/

With Node-Red you need to download under settings }managed palette add-on nodes.

Actual version NodeRed:
26 Apr 23:13:54 - [info] Node-RED version: v3.1.9
26 Apr 23:13:54 - [info] Node.js version: v21.5.0
Actual version MQTT:
2.0.18
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Antworten