TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

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
Benutzeravatar
fishfriend
Beiträge: 2535
Registriert: 26 Nov 2010, 11:45

TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

Beitrag von fishfriend » 17 Jun 2026, 19:24

Hallo...
Im Grunde geht es darum zwei TXT 4.0 über MQTT zu verbinden. Das Endziel ist (auch) einen ESP32 über MQTT einzubinden.
Es scheitert an der Verbindung. Ich kriege es gerade nicht hin, den zweiten TXT(2) beim Access Point vom ersten TXT(1) anzumelden.
Ich stelle mich gerade wie ein DAU an. Ich möchte alles Schritt für Schritt nachvollziehen.
Was mir Auffällt. das man nicht immer mit 1883 vom PC aus drauf zugreifen kann. Aber das ist erst mal nebensächlich.
Am besten wäre es wenn man den Access Point vom TXT (1) über Robo Pro Coding und den Client TXT (2) über die STEM machen könnte.
Nun erst mal nur die erste Sache:
1. Möglichkeit TXT 4.0 (1) <---> TXT 4.0 (2)
Access Point vom einem TXT 4.0 (1) der andere soll angemeldet werden.
Ich dachte erst es liegt am Passwort. Blöde Frage welches Passwort? Ich meine alle ausprobiert zu haben.
Ich vermute schon fast, dass die neuste STEM oder Robo Pro Coding Version einen Bug hat.
Aber das Problem sitzt ja eher 30cm vor dem Bildschirm.
Deswegen die Bitte ob mal jemand Schritt für Schritt mich da durchleiten kann.

Ich habe auch ein Verständnissproblem. Ist es in einem WLAN Netzwerk möglich einen TXT 4.0 Broker zu betreiben der nicht einen Sccess Point eingeschaltet hat? Wie würde man darauf zugreifen?
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
calliope
Beiträge: 176
Registriert: 11 Mär 2025, 12:02

Re: TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

Beitrag von calliope » 17 Jun 2026, 20:30

Ich verwende nicht das häusliche WLAN.
1. txt40-sWp6 Access Point starten, zeigt sein WLAN Passwort an.
2. txt40-TYMx WLAN Client damit verbinden, Passwort vom 1. eingeben.
3. WLAN am Windows PC ebenfalls mit txt40-sWp6 Access Point verbinden
4. ROBO Pro Coding einen TXT40 verbinden
Screenshot 2026-06-17 200820.png
Screenshot 2026-06-17 200820.png (65.48 KiB) 431 mal betrachtet
5. ROBO Pro Coding 'Neues Fenster' zweite Instanz der App starten und den anderen TXT40 verbinden

In zwei Fenstern ROBO Pro Coding können beide TXT40 getrennt voneinander gesteuert werden.

Bei MQTT kommt es auf die TXT40 Firmware an. Bei 3.x kommst du nicht auf den internen MQTT Broker.
Es ist aber einfach einen eigenen mosquitto Prozess im Linux zu starten.
Suche im GitLab nach calliope/MQTT_Broker_Basic und calliope/MQTT_Publisher.
Das auf die beiden TXT40 übertragen müsste funktionieren. (Den Broker auf den Access Point, den Publisher auf den WLAN Client.)
In den zwei ROBO Pro Coding Fenstern sind die Ausgaben in der Konsole zu sehen.

UPDATE: Bei TXT 4.0 Firmware 3.1.11-24 und 5.0.1-25 läuft dauerhaft ein MQTT Broker auf Port 3883. Standard-Zugangsdaten: ft / fischertechnik
Der ist über die WLAN / LAN IP Adresse von außen erreichbar.
Zum Koppeln wäre ROBO Pro Coding 6.5.2 erforderlich, die ist aber noch nicht veröffentlicht.
Ab welcher TXT 4.0 Firmware Version der MQTT Broker auf 3883 läuft, weiß ich nicht.

Mein Profilbild ist übrigens ein MQTT Sender für den TXT40 Broker.
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

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

Re: TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

Beitrag von fishfriend » 20 Jun 2026, 21:41

Hallo...
Es klingt blöde, aber geht nicht.
Ich hab momentan die aktuelle Firmware 3.1.10 drauf.
Soweit ist das ausprobiert habe:
Interner Broker läuft, mit einem Programm auf dem TXT 4.0 (1).
Zugriff auf externen Broker geht.
Ich hab keinen Zugriff auf Access Point. Vom meiner Warte her würde ich sagen, dass ich alle Passwörter ausprobiert habe.
Frage: Welches Passwort muss ich nehmen?

Das (Verständniss-) Problem das ich auch habe ist, dass man ja nur "eine" IP nutzen kann. Ich kann also nicht auf dem TXT 4.0 (2) sagen, ich möchte den Broker 127.0.0.1 auf dem TXT4.0 (1) mit der IP 192.168.... nutzen. Wenn das ginge, könnte ich ja auch aus dem WLAN zugreifen.
Ich vermute schon fast, dass das geht.
Aber wie gesagt ich komme nicht weiter.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
calliope
Beiträge: 176
Registriert: 11 Mär 2025, 12:02

Re: TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

Beitrag von calliope » 21 Jun 2026, 08:44

Hallo Holger,
wir müssen TCP/IP und MQTT unterscheiden.
Jeder Controller ist ein Host. Jeder Host hat die IP Adresse 127.0.0.1 = localhost. Damit kann z.B. Python auf dem eigenen Gerät etwas machen. Auch wenn der Controller mit keinem Netzwerk verbunden ist. Mit 127.0.0.1 kann NIE auf einen anderen Host zugegriffen werden.

Der Host kann auch mit einem oder mehreren TCP/IP Netzwerken (WLAN, LAN, PAN) verbunden werden. In jedem Netzwerk bekommt der Host eine zusätzliche IP Adresse. Der Controller hat also mehrere IP Adressen.

Ein Dienst (Service) wie der MQTT Broker mosquitto bekommt beim Start gesagt auf welchen IP Adressen er horchen soll. Entweder nur auf 127.0.0.1 oder auf allen IP Adressen.

Um die vielen Dienste zu unterscheiden, bekommt jeder eine Port Nummer. Die wird beim verbinden zusätzlich zur IP Adresse gebraucht.

Auf dem TXT 4.0 läuft ein MQTT Broker nur auf 127.0.0.1:2883. Der horcht nicht auf den (WLAN) IP Adressen und kann deshalb von einem anderen Controller aus nicht erreicht werden. (Der wird vom Display gebraucht.) Den Broker kannst du zum koppeln nicht gebrauchen.

Es muss ein zweiter MQTT Broker auf einem anderen Port laufen, der auf allen IP Adressen horcht.


Ob die beiden Controller im häuslichen WLAN sind oder einer Access Point und der andere WLAN Client, ist egal. Sie müssen jeder eine IP Adresse im selben Subnetz haben.

Welches Passwort suchst du? Bei dem einen ist Access Point aktiviert. Tippst du darauf wird SSID und Passwort angezeigt.

Bei dem anderen ist WLAN aktiviert. Tipps du darauf wird die SSID vom anderen in der Liste der WLAN zu finden sein. Dort muss über die Bildschirmtastatur "Passphrase" eingegeben werden.

FG Lutz
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

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

Re: TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

Beitrag von fishfriend » 21 Jun 2026, 11:46

Hallo...
Danke das du dir dafür Zeit nimmst.
Sorry, wenn ich mich blöd anstelle, aber ich versuche nun Schritt für Schritt meine Fehler zu finden.
Hallo Holger,
wir müssen TCP/IP und MQTT unterscheiden.
Jeder Controller ist ein Host. Jeder Host hat die IP Adresse 127.0.0.1 = localhost. Damit kann z.B. Python auf dem eigenen Gerät etwas machen. Auch wenn der Controller mit keinem Netzwerk verbunden ist. Mit 127.0.0.1 kann NIE auf einen anderen Host zugegriffen werden.
Also:
TXT 4.0 (1) hat z.B. die Adresse 198.168..1 und hat selbst auch 127.0.0.1
TXT 4.0 (2) hat die Adresse 198.168..2 und hat selbst auch 127.0.0.1
Der Host kann auch mit einem oder mehreren TCP/IP Netzwerken (WLAN, LAN, PAN) verbunden werden. In jedem Netzwerk bekommt der Host eine zusätzliche IP Adresse. Der Controller hat also mehrere IP Adressen.
Die IPs des TXT bekommt er vom jew Router.
Ein Dienst (Service) wie der MQTT Broker mosquitto bekommt beim Start gesagt auf welchen IP Adressen er horchen soll. Entweder nur auf 127.0.0.1 oder auf allen IP Adressen.
Tja, da geht es schon los. Wie sind denn die Einstellungen?
Es läuft ja ein Moquitto Broker auf (jedem?) TXT 4.0. So wie ich das sehe kann man da nichts einstellen.
Um die vielen Dienste zu unterscheiden, bekommt jeder eine Port Nummer. Die wird beim verbinden zusätzlich zur IP Adresse gebraucht.
Man hat also :1883 :2883 (GUI) :3883 und :8883 zumindest werden die ab und an in MQTT Programmen benutzt.
Im Grunde von MQTT (nach Anleitung) sind es X883, wobei nur 1883 ohne Passwort sein soll.
Auf dem TXT 4.0 läuft ein MQTT Broker nur auf 127.0.0.1:2883. Der horcht nicht auf den (WLAN) IP Adressen und kann deshalb von einem anderen Controller aus nicht erreicht werden. (Der wird vom Display gebraucht.) Den Broker kannst du zum koppeln nicht gebrauchen.
Wenn ich das richtig verstehe, läuft auf dem TXT 4.0 ein MQTT Broker, der nur für die Node-Red Darstellung genutz wird. Und man nicht darüber hinaus mit dem machen.
Wobei man eventuell über Node-Red dann verbindung mit anderen aufnehmen kann?
Es muss ein zweiter MQTT Broker auf einem anderen Port laufen, der auf allen IP Adressen horcht.
Tja, wie startet man den und mit welchen EInstellungen (auf dem TXT 4.0 ?
Es wird scheinbar sonst auf einem anderen Gerät Pi, PC (Router) ... ein Broker gestartet wo denn der/die TXT 4.0 zugreifen.
Ob die beiden Controller im häuslichen WLAN sind oder einer Access Point und der andere WLAN Client, ist egal. Sie müssen jeder eine IP Adresse im selben Subnetz haben.
Welches Passwort suchst du? Bei dem einen ist Access Point aktiviert. Tippst du darauf wird SSID und Passwort angezeigt.
Tja, ich vermute da ist ein Fehler bei mir.
"Tippst du darauf" Oh man... Ja da gibt es noch einen Menüpunkt.
Bei dem anderen ist WLAN aktiviert. Tipps du darauf wird die SSID vom anderen in der Liste der WLAN zu finden sein. Dort muss über die Bildschirmtastatur "Passphrase" eingegeben werden.
Da muss ich noch ausprobieren.
FG Lutz
Danke schon mal.
Der Rest kommt später :-)
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

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

Re: TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

Beitrag von fishfriend » 21 Jun 2026, 15:15

Hallo...
Schritt 1 Verbinden ist schon mal geschafft.
Nun kommen die anderen.

Ich finde es Interessant, das es noch mehr zu MQTT von fischertechnik gibt.
In der facotry lib und in der facotry_variablen lib gibt es z.B. fur MQTT: set_client (so ähnlich)
Steht in der Lib der Factory_Main unter Importe.
Ich vermute, dass es mehrere Wege gibt einen Client zu machen.
Kann ja sein, dass man da auch den Broker beeinflussen kann.

Aber das ist eine andere Baustelle.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
calliope
Beiträge: 176
Registriert: 11 Mär 2025, 12:02

Re: TXT Problem Access Point und zweiten TXT 4.0 damit verbinden (MQTT)

Beitrag von calliope » 21 Jun 2026, 20:27

Hallo Holger ... ich war inzwischen bei einem 100. Geburtstag in der Verwandtschaft ...

Also es gibt außer der 127.0.0.1 = localhost, die jeder Computer der Welt hat, auf dem TXT 4.0 diese Möglichkeiten:
192.168.7.2 USB
192.168.8.2 WLAN Access Point
192.168.9.2 Bluetooth PAN
Die Adresse hat der immer, wenn sich ROBO Pro Coding über das entsprechende Protokoll verbindet.
Man kann sagen, der TXT 4.0 ist in dem Netzwerk Router, was aber nur interessant ist, wenn ein dritter Host in dem Netzwerk ist, zu dem es eine Route gibt. Das kann ich mir nur beim WLAN Access Point vorstellen.

Der TXT 4.0 (2) verbindet sich als Client mit den WLAN von (1). Das hast du inzwischen geschafft. Dort bekommt er eine IP Adresse 192.168.8.x aber nicht 192.168.8.2. Auf dem WLAN Client wird die (vom Router erhaltene) IP Adresse oben im Display angezeigt.

Jetzt sind beide im selben IP Netz und wenn der PC mit ROBO Pro Coding auch mit dem WLAN (1) verbunden ist, und eine andere Adresse 192.168.8.x hat, kann ROBO Pro Coding im Verbindungsdialog zwei TXT 4.0 sehen. (Oder man gibt die 192.168.8.2 und 192.168.8.x bei BENUTZERDEFINIERT ein.)
- Siehe Bild oben.


Jetzt MQTT:
Den existierenden Broker auf Port 2883 können wir nicht gebrauchen, weil der auf jedem TXT 4.0 nur auf 127.0.0.1 horcht, und die nicht von einem anderen Host erreichbar sind. Wir können den auch nicht ändern, und dann würde das Display nicht mehr funktionieren.
Node Red läuft ja auch lokal auf dem Host. Aber das kenne ich überhaupt nicht. Brauchen wir hier nicht.

Der MQTT Broker auf Port 1883 ist vom alten TXT Controller übrig geblieben und wird ab Firmware 5 nicht mehr vom System benutzt. Aber der Port ist für die Lernfabrik reserviert.

Bei der neuen Firmware 3 und 5 existiert ein (dritter) MQTT Broker auf Port 3883. Ob das bei dir der Fall ist, kannst du ausprobieren.
Screenshot 2026-06-21 201527.png
Screenshot 2026-06-21 201527.png (32.5 KiB) 11 mal betrachtet
Das müsste auf beiden TXT 4.0 funktionieren, (wenn sie mit WLAN verbunden sind).

Wenn die WLAN Verbindung steht und ROBO Pro Coding in zwei Fenstern mit beiden verbunden ist, kannst du meine oben genannten Beispiele von GitLab laden. Die starten einen eigenen MQTT Broker mosquitto im Linux.

Sonst kann ich das Starten eines eigenen mosquitto mit Portnummer und Benutzername / Passwort hier erklären.
Oder du wartest auf die neue Firmware, die soll vor den Sommerferien veröffentlicht werden. (Ich bin beta Tester.)
Dann ist vieles von dem, was du früher aufgeschrieben hast, nicht mehr wahr.

FG Lutz
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

Antworten