Fehlermeldungen bei Start von IDLE 3.13.6

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
BobbyWander
Beiträge: 4
Registriert: 21 Aug 2025, 15:07

Fehlermeldungen bei Start von IDLE 3.13.6

Beitrag von BobbyWander » 21 Aug 2025, 18:10

Hallo Torsten,

ich bin neu hier und habe Probleme mit der Zusammenarbeit zwischen TXT4.0 Firmware-Version 3.1.10 und ftrobopy-Version 2.0.2.
Es treten folgende Fehlermeldungen auf:

Code: Alles auswählen

WARNING: ResponseID  0x0 of queryStatus command does not match
Traceback (most recent call last):
  File "C:\Users\Robert\OneDrive\Dokumente\Python\Home_Idle.py", line 5, in <module>
    txt = ftrobopy.ftrobopy('192.168.2.140', 65000)
  File "C:\Users\Robert\AppData\Local\Programs\Python\Python313\Lib\site-packages\ftrobopy.py", line 2815, in __init__
    self.queryStatus()
  File "C:\Users\Robert\AppData\Local\Programs\Python\Python313\Lib\site-packages\ftrobopy.py", line 368, in queryStatus
    self._m_devicename = m_devicename.decode('utf-8').strip('\x00')
AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'?
Das folgende Programm habe mit IDLE-3.13.6 erstellt:

Code: Alles auswählen

import ftrobopy
import time

# Verbindung herstellen
txt = ftrobopy.ftrobopy('192.168.2.140', 65000)
print("Verbindung hergestellt")

# Motor- und Tasterobjekt anlegen
motorX = txt.motor(1)
endX = txt.input(1)

# Motor starten
motorX.setSpeed(512)  # halbe Geschwindigkeit
print("Motor läuft... Taster drücken zum Stoppen!")

while True:
    if endX.state():  # falls Taster gedrückt
        print("Taster gedrückt, Motor stoppen.")
        motorX.setSpeed(0)
        break
    time.sleep(0.1)

print("Fertig.")
Der ftrobopy_server läuft auf den Controller, und ich habe mit ssh ft@192.168.2.140 auf PowerShell den ftrobopy_server gestartet.
Liegt es vielleicht daran, dass der TXT-Controller mit ftrobopy-Version 2.0.2 nicht kompatibel sind?

Ich hoffe auf baldige Antwort und verbleibe mit freundlichen Grüßen
BobbyWander

Torsten
Beiträge: 327
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: Fehlermeldungen bei Start von IDLE 3.13.6

Beitrag von Torsten » 21 Aug 2025, 21:38

Hallo BobbyWander,

das Verhalten, das Du beschreibst konnte ich mit meinem Setup nicht reproduzieren, obwohl ich die gleichen Versionen verwende:

- TXT 4.0 (3.1.10)
- ftrobopy (2.0.2)
- ftrobopy_server (0.9.7)
- Python 13.3.6

Ich arbeite allerdings nicht mit der IDLE-Umgebung unter Windows, sondern direkt mit python3 in der Linux Kommandozeile. Das sollte aber eigentlich keinen Unterschied machen.

Der Fehler, den Du beschreibst, kann auftreten, wenn die Kommunikation zwischen dem TXT 4.0 und dem PC mit ftrobopy gestört ist. Ist Deine WLAN-Verbindung zwischen TXT 4.0 und PC stabil ? Tritt der Fehler immer auf ? Läuft parallel zu ftrobopy vielleicht auch noch eine ROBO Pro oder eine Robopro Coding Session auf Deinem PC ? Evtl. hilft es auch den ftrobopy_server auf dem TXT 4.0 mal neu zu starten. [Anmerkung: derzeit muss der ftrobopy_server immer neu gestartet werden, wenn ein Python-Programm nicht korrekt mit stopOnline() beendet wurde. Sonst bekommt der ftrobopy_server nicht mit, wenn ein Python Script fertig ist und das nächste Script kann keine neue Verbindung aufbauen].

Ich hoffe, ich konnte dir ein paar hilfreiche Tips geben. Lass uns wissen, wenn es immer noch nicht funktioniert.

Viele Grüße
Torsten

BobbyWander
Beiträge: 4
Registriert: 21 Aug 2025, 15:07

Re: Fehlermeldungen bei Start von IDLE 3.13.6

Beitrag von BobbyWander » 22 Aug 2025, 18:17

Hallo Torsten,

meine WLAN-Verbindung ist stabil und der Fehler tritt - leider- immer auf. Es läuft weder ROBO Pro noch eine Robo Pro Coding Session auf meinem PC. Da ich gerade mit den TXT 4.0 in Verbindung getreten bin, sticht dieser Punkt auch nicht.

Ich versuche schon seit etwa 2 Wochen diese Probleme zu lösen. Ich habe es mit ChatGPT (habe Account), mit Github - examples versucht. Leider kein Erfolg.

Du bist meine letzte Hoffung, um das Programm ohne Fehlermeldung zum Laufen zu bringen.

Viele Grüße
BobbyWander

Torsten
Beiträge: 327
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: Fehlermeldungen bei Start von IDLE 3.13.6

Beitrag von Torsten » 22 Aug 2025, 20:43

Hallo BobbyWander,

Ich habe es nun auch mit Windows11 und IDLE probiert und kann auch hier das Problem nicht reproduzieren. Bei mir klappt alles ohne Fehler.
Irgendetwas scheint in Deinem Setup anders zu sein als bei mir ... aber was ?

Welche Version von ftrobopy_server verwendest Du ?
Kannst Du evtl. mal genau schreiben, wie Du den ftrobopy_server startest ? Vielleicht geht dabei etwas schief ?
Wie sieht die Ausgabe von ftrobopy_server aus, wenn Du das auf dem TXT 4.0 startest ?

Viele Grüße
Torsten

BobbyWander
Beiträge: 4
Registriert: 21 Aug 2025, 15:07

Re: Fehlermeldungen bei Start von IDLE 3.13.6

Beitrag von BobbyWander » 22 Aug 2025, 21:55

Hallo Torsten,

vielen Dank für die schnelle Unterstützung.

Ich habe überhaupt keinen Setup benutzt, ich nur habe die Datei 'ftrobopy.py' per 'pip install ftrobopy' insalliert.

Ich starte den ftrobopy_server folgender Maßen. Es handelt sich um um eine Kopie des PowerShell-Fenster's:
PS C:\Users\Robert> ssh ft@192.168.2.140
ft@192.168.2.140's password:
ft@txt40-1Eax:~$ python3 /opt/ft/workspaces/ftrobopy_server/ftrobopy_server.py &
ft@txt40-1Eax:~$ ftrobopy_server listening on 65000
Connected by ('192.168.2.135', 52908)

Ich habe ein Foto beigefügt. Es befindet sich im Anhang. Ich habe keine Ahnung welche ftrobopy_server-Version ich besitze. Wie stellt man das fest?
Den nach folgnende Code habe auf meinen TXT4.0-Controller installiert:

Code: Alles auswählen

# ftrobopy_server

#!/usr/bin/env python3

import socket
import time

HOST = '0.0.0.0'
PORT = 65000

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    print("ftrobopy_server listening on {}".format(PORT))
    while True:
        conn, addr = s.accept()
        with conn:
            print("Connected by {}".format(addr))
            while True:
                try:
                    data = conn.recv(1024)
                    if not data:
                        break
                    conn.sendall(b'ACK')
                except:
                    break
Viele Grüße
BobbyWander

Torsten
Beiträge: 327
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: Fehlermeldungen bei Start von IDLE 3.13.6

Beitrag von Torsten » 22 Aug 2025, 23:34

Hallo BobbyWander,

der ftrobopy_server, den Du verwendest, kann nicht funktionieren. Das ist ein leerer Dummy-Server, der gar nichts tut, sondern nur den Empfang von Daten bestätigt.
Wo hast Du das Python-Script denn her ?

Der echte ftrobopy_server ist kein Python-Script, sondern ein kompiliertes C++ Programm. Du findest das Binary auf github unter: https://github.com/ftrobopy/ftrobopy_server

Du kannst das Binary per scp auf den TXT4 kopieren und dann dort in einem ssh-Fenster starten mit:
./ftrobopy_server

Dort wird dann auch die Version von ftrobopy_server angezeigt.

Sobald dieser ftrobopy_server läuft, sollte die Online-Ansteuerung des TXT4.0 mit ftrobopy von einem PC aus funktionieren.

Viele Grüße
Torsten

BobbyWander
Beiträge: 4
Registriert: 21 Aug 2025, 15:07

Re: Fehlermeldungen bei Start von IDLE 3.13.6

Beitrag von BobbyWander » 23 Aug 2025, 18:24

Hallo Torsten,

ich habe den Server aus dem Internet (ChatGPT) erhalten.

Ich habe den ftrobopy_server.cpp erfolgreich auf meinen TXT4.0-Controller kopiert.
Danach folgte dieses:

Code: Alles auswählen

ft@txt40-1Eax:~$ scp ftrobopy_server ft@192.168.2.140:workspaces
ft@192.168.2.140's password:
ftrobopy_server                                                                       100%  599   161.0KB/s   00:00
ft@txt40-1Eax:~$ chmod a+x ftrobopy_server
ft@txt40-1Eax:~$ ./ftrobopy_server
./ftrobopy_server: line 2: import: not found
./ftrobopy_server: line 3: import: not found
./ftrobopy_server: line 5: HOST: not found
./ftrobopy_server: line 6: PORT: not found
./ftrobopy_server: line 8: syntax error: unexpected "("
ft@txt40-1Eax:~$
Kannst Du mir bitte eine Schritt-für-Schritt-Anleitung zu senden.

Vieler Grüße
BobbyWander

Antworten