TXT 4.0 Python Programmierung

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
gbrue
Beiträge: 14
Registriert: 06 Feb 2022, 09:40

TXT 4.0 Python Programmierung

Beitrag von gbrue » 18 Feb 2022, 15:22

Hallo,

ich arbeite mich langsam in Python und Fischertechnik computing ein.

Ich habe einen TXT Controller. Ich habe gelernt, mit Hilfe des Moduls FTROBOPY den Prozessor mit Python anzusprechen und zu steuern.

Ich überlege mir, noch einen TXT 4.0 Prozessor zuzulegen. Gibt es da auch ein Modul, was ich in Python einbinden kann um den TXT 4.0 anzusprechen ?

Wo ist das ggf. zu bekommen ?

Oder geht das nur über die Software ROBO Pro Coding ?

Vielen Dank für Eure Unterstützung

Gunther

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

Re: TXT 4.0 Python Programmierung

Beitrag von vleeuwen » 18 Feb 2022, 16:09

FTROBOPY is Python library for the TXT only.

Programming for the TXT4.0 goes in a completely different way.

For the TXT4.0 you need the RoboPro coding to get some experience with the interaction with the sensors and actuators; this via Blockly. Blockly is a Python generator that uses only a subset of Python.
Can also be programmed directly in Python with RoboPro coding in textual mode.

With good experience with more generic program development tools, you can also work remotely with MS-VS code or Eclipse remote. These tools allows remote program development on the TXT4.0; RoboPro coding does it in a similar way.
=================google translate====================
FTROBOPY ist eine Python-Bibliothek für TXT und die Kommunikation über eine Transfer Area.

Ganz anders funktioniert der TXT4.0.

Für den TXT4.0 benötigen Sie die RoboPro-Codierung, um etwas Erfahrung mit der Interaktion mit den Sensoren und Aktoren zu sammeln; Dies über Blockly. Blockly ist ein Python-Generator, der nur eine Teilmenge von Python verwendet.
Kann auch direkt in Python mit RoboPro-Codierung im Textmodus programmiert werden.

Mit guter Erfahrung mit allgemeineren Programmentwicklungstools können Sie auch remote mit MS-VS-Code oder Eclipse arbeiten. Ermöglicht die Remote-Programmentwicklung auf dem TXT4.0; Der RoboPro-Code macht es auf ähnliche Weise.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

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

Re: TXT 4.0 Python Programmierung

Beitrag von Torsten » 18 Feb 2022, 19:36

Hallo Gunther,

Auf der untersten Ebene sind der TXT und der TXT 4.0 sich recht ähnlich: Insbesondere die unterste Python-Ebene des TXT 4.0 ist in vielen Funktionen nahzu identisch zum ftrobopy auf dem TXT. Einfache ftrobopy-Programme laufen fast ohne Änderung auch auf dem TXT 4.0. Das Python import-Modul heisst auf dem TXT 4.0 allerdings nicht mehr "ftrobopy", sondern einfach "ft".

Hier ist ein ftrobopy Beispielprogramm zur Motorsteuerung auf dem TXT:

Code: Alles auswählen

import time
import ftrobopy

txt=ftrobopy.ftrobopy("auto")

m1=txt.motor(1)
m1.setSpeed(512)
time.sleep(2)
m1.setSpeed(0)
Hier ist das entsprechende Beispiel-Programm für den TXT 4.0:

Code: Alles auswählen

import time
import ft

txt=ft.fttxt2("auto")

m1=txt.motor(1)
m1.setSpeed(512)
time.sleep(2)
m1.setSpeed(0)
Bis auf den Modul- (ftrobopy --> ft) und Klassennamen (ftrobopy --> fttxt2) sind die Programme identisch.

ftrobopy wird in einer der nächsten Versionen auch den TXT 4.0 unterstützen. Vorerst allerdings nur im sog. "Download"- bzw. TransferArea-Modus. D.h. das ftrobopy-Programm läuft auf dem TXT/TXT 4.0. Der "Online"-Modus, bei dem die ftrobopy-Programme auf einem PC laufen, wird noch etwas dauern, ist aber auch geplant. Dafür wird man dann vorher ein (C++-)Programm auf dem TXT 4.0 starten müssen, welches die ROBOPro-Kommunikation über den Port 65000 emuliert. Möglicherweise kann man damit dann auch RoboPro auf dem TXT 4.0 benutzen. Die Unterstützung der Camera im "Online"-Modus wird auch noch irgendwann folgen.

Viele Grüße
Torsten

gbrue
Beiträge: 14
Registriert: 06 Feb 2022, 09:40

Re: TXT 4.0 Python Programmierung

Beitrag von gbrue » 19 Feb 2022, 19:18

Danke für Eure Antworten.

Torsten: ich habe noch keinen TXT4.0, aber wenn: wie komme ich denn an das neue Modul ft heran ?

Liegt das irgendwo auf der Cloud? Oder ist das schon im TXT4.0 integriert ?

Gunthe

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

Re: TXT 4.0 Python Programmierung

Beitrag von Torsten » 19 Feb 2022, 19:30

Hallo Gunther,

das ist schon auf dem TXT installiert.

Viele Grüße
Torsten

Benutzeravatar
PHabermehl
Beiträge: 2436
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: TXT 4.0 Python Programmierung

Beitrag von PHabermehl » 19 Feb 2022, 20:01

Torsten hat geschrieben:
18 Feb 2022, 19:36
ftrobopy wird in einer der nächsten Versionen auch den TXT 4.0 unterstützen. Vorerst allerdings nur im sog. "Download"- bzw. TransferArea-Modus. D.h. das ftrobopy-Programm läuft auf dem TXT/TXT 4.0. Der "Online"-Modus, bei dem die ftrobopy-Programme auf einem PC laufen, wird noch etwas dauern, ist aber auch geplant. Dafür wird man dann vorher ein (C++-)Programm auf dem TXT 4.0 starten müssen, welches die ROBOPro-Kommunikation über den Port 65000 emuliert. Möglicherweise kann man damit dann auch RoboPro auf dem TXT 4.0 benutzen. Die Unterstützung der Camera im "Online"-Modus wird auch noch irgendwann folgen.

Viele Grüße
Torsten
:D :D :D :D :D

Thorsten, Du sprichst da große Worte ganz gelassen aus... Das ist ja großartig. Vielen Dank für die Infos und Deine kontinuierlichen Beiträge für die Community!

Gruß
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Techum
Beiträge: 84
Registriert: 25 Dez 2014, 20:50
Kontaktdaten:

Re: TXT 4.0 Python Programmierung

Beitrag von Techum » 20 Feb 2022, 11:33

PHabermehl hat geschrieben:
19 Feb 2022, 20:01
Thorsten, Du sprichst da große Worte ganz gelassen aus... Das ist ja großartig. Vielen Dank für die Infos und Deine kontinuierlichen Beiträge für die Community!
Hier fehlt ganz eindeutig eine LIKE Funktion! Dem Statement schließe ich mich ganz ausdrücklich an. :!:

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

Re: TXT 4.0 Python Programmierung

Beitrag von vleeuwen » 20 Feb 2022, 13:39

In principle, communication based on a TA is fairly easy to establish using a Berkely socket on the TXT4.0.
This can be done both in Python and within RoboPro coding; in my example of the web socket communication, replace the web socket with a Berkely socket. In Python this will result in relatively slow communication but such an interface in C++ will be faster.
In the TX-C/TXT local C++ code there are sufficient clues for what should be sent and what should be received.

However, this only covers communication with the actors and sensors; communication with the I2C, USB and camera is not included.
Communication based on the TA is not bound to Python, so the remote programs in C++ and C# could work just like on the TXT.
The big question will probably be: "Is the 10ms refresh rate of the TX-C/TXT in remote mode feasible again? This plays an important role when working with closed control loops.
Communication via a TA with an application on the local device will be a lot faster.
===============Google translate========================================
Prinzipiell lässt sich die Kommunikation auf Basis eines TA recht einfach über eine Berkely-Socket am TXT4.0 aufbauen.
Dies kann sowohl in Python als auch innerhalb der RoboPro-Codierung erfolgen; Ersetzen Sie in meinem Beispiel der Web-Socket-Kommunikation den Web-Socket durch einen Berkely-Socket. In Python führt dies zu einer relativ langsamen Kommunikation, aber eine solche Schnittstelle in C++ wird schneller sein.
Im lokalen C++-Code von TX-C/TXT gibt es genügend Hinweise darauf, was gesendet und was empfangen werden soll.

Dies umfasst jedoch nur die Kommunikation mit den Aktoren und Sensoren; Kommunikation mit I2C, USB und Kamera ist nicht enthalten.
Die auf dem TA basierende Kommunikation ist nicht an Python gebunden, sodass die Remote-Programme in C++ und C# genauso funktionieren könnten wie auf dem TXT.
Die große Frage wird wohl lauten: „Ist die 10ms Bildwiederholfrequenz des TX-C/TXT im Remote-Modus wieder realisierbar? Das spielt eine wichtige Rolle beim Arbeiten mit geschlossenen Regelkreisen.
Die Kommunikation über einen TA mit einer Anwendung auf dem lokalen Gerät wird viel schneller sein.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: TXT 4.0 Python Programmierung

Beitrag von MasterOfGizmo » 20 Feb 2022, 15:54

Techum hat geschrieben:
20 Feb 2022, 11:33
Hier fehlt ganz eindeutig eine LIKE Funktion! Dem Statement schließe ich mich ganz ausdrücklich an. :!:
Vor allem öffnet das lustigen Dingen die Tür. Damit könnte man dann einen Raspi per RoboPro steuern usw ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

kräml
Beiträge: 275
Registriert: 14 Aug 2020, 06:47

Re: TXT 4.0 Python Programmierung

Beitrag von kräml » 06 Jul 2023, 10:21

Hallo,

hab hier einen TXT4 und möchte mit ftrobopy herum spielen. Wenn ich das hier richtig verstanden habe, ist ft == ftrobopy? Wenn ja, wie stelle ich fest, welche Version auf dem TXT4 ist.

By the way. Hat jemand die python Version vom TXT4 auf 3.8 oder höher zum Laufen gebracht?

Gruß Kräml

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

Re: TXT 4.0 Python Programmierung

Beitrag von Torsten » 07 Jul 2023, 11:46

Hallo,

nur um kein Missverständnis aufkommen zu lassen:

Die Python-Bibliothek "ft", die in der TXT40 Firmware installiert ist, sieht in der Anwendung der Grundfunktionen zur Motor- und Output-Steuerung zwar nahezu identisch zu ftrobopy aus, hat aber unter der Haube nichts mit ftrobopy zu tun.

Wahrscheinlich hat sich der Softwarehersteller, der die Firmware für den TXT40 programmiert hat, einfach nur am Design von ftrobopy orientiert.

Um das "echte" ftrobopy auf dem TXT40 nutzen zu können, muss dort zuerst der ftrobopy_server installiert und gestartet werden (den entsprechenden Artikel dazu findet man in der ft:pedia 2/2022, ab Seite 123: https://ftcommunity.de/ftpedia/2022/202 ... 2022-2.pdf). Der Online-Modus kann dann bereits verwendet werden. Für den Download/Offline-Modus muss man ftrobopy zuerst noch mit

Code: Alles auswählen

pip install ftrobopy
auf dem TXT40 in einem Terminal installieren. (Am besten macht man das innerhalb einer Python venv-Umgebung. Dann benötigt man keine Admin-Rechte)

Zur Verwendung von ftrobopy im Download-Modus gibt man bei der Initialisierung die Localhost-Adresse (127.0.0.1) an.

Viele Grüße
Torsten

kräml
Beiträge: 275
Registriert: 14 Aug 2020, 06:47

Re: TXT 4.0 Python Programmierung

Beitrag von kräml » 08 Jul 2023, 08:14

Hollo Torsten,

danke für die Artikel. Hat mir sehr geholfen. Das mit den python_server hat schon gut geklaptt. Den Rest werde ich bei Gelgenheit testen.

Kräml

Antworten