TXT 4.0 Python Programmierung
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
TXT 4.0 Python Programmierung
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
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
Re: TXT 4.0 Python Programmierung
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.
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.
Re: TXT 4.0 Python Programmierung
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:
Hier ist das entsprechende Beispiel-Programm für den TXT 4.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
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)
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)
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
Re: TXT 4.0 Python Programmierung
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: 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
Re: TXT 4.0 Python Programmierung
Hallo Gunther,
das ist schon auf dem TXT installiert.
Viele Grüße
Torsten
das ist schon auf dem TXT installiert.
Viele Grüße
Torsten
- PHabermehl
- Beiträge: 2439
- Registriert: 20 Dez 2014, 22:59
- Wohnort: Bad Hersfeld
Re: TXT 4.0 Python Programmierung
Torsten hat geschrieben: ↑18 Feb 2022, 19:36ftrobopy 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
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
Re: TXT 4.0 Python Programmierung
Hier fehlt ganz eindeutig eine LIKE Funktion! Dem Statement schließe ich mich ganz ausdrücklich an.PHabermehl hat geschrieben: ↑19 Feb 2022, 20:01Thorsten, 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!
Re: TXT 4.0 Python Programmierung
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.
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.
- MasterOfGizmo
- Beiträge: 2722
- Registriert: 30 Nov 2014, 07:44
Re: TXT 4.0 Python Programmierung
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
Re: TXT 4.0 Python Programmierung
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
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
Re: TXT 4.0 Python Programmierung
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
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
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
Zur Verwendung von ftrobopy im Download-Modus gibt man bei der Initialisierung die Localhost-Adresse (127.0.0.1) an.
Viele Grüße
Torsten
Re: TXT 4.0 Python Programmierung
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
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