ftrobopy herunterladen und in python einbinden.
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
ftrobopy herunterladen und in python einbinden.
Gott zum Gruß,
ich habe den txt und möchte mit Windows, Python auf dem Laptop arbeiten. Ich bin nicht in der Lage,ftrobopy herunterzuladen und in Python einzubinden. Es ist nirgendwo klar beschrieben oder ich bin überfordert?
LG
Joachim
ich habe den txt und möchte mit Windows, Python auf dem Laptop arbeiten. Ich bin nicht in der Lage,ftrobopy herunterzuladen und in Python einzubinden. Es ist nirgendwo klar beschrieben oder ich bin überfordert?
LG
Joachim
Re: ftrobopy herunterladen und in python einbinden.
Ergänzung:
Ich hatte installiert mit
pip install ftrobopy
Dann ein Beispiel getestet:
import ftrobopy
ftrob = ftrobopy.ftroboclass()
ftrob.startMotor(1, 100)
ftrob.wait(2000)
ftrob.stopMotor(1)
ftrob.stopOnline()
Und bekomme die Fehlermeldung:
AttributeError: module 'ftrobopy' has no attribute 'ftroboclass'
Ich hatte installiert mit
pip install ftrobopy
Dann ein Beispiel getestet:
import ftrobopy
ftrob = ftrobopy.ftroboclass()
ftrob.startMotor(1, 100)
ftrob.wait(2000)
ftrob.stopMotor(1)
ftrob.stopOnline()
Und bekomme die Fehlermeldung:
AttributeError: module 'ftrobopy' has no attribute 'ftroboclass'
Re: ftrobopy herunterladen und in python einbinden.
Hallo Joachim,
das Python-Programm, das Du zeigst, passt nicht zu ftrobopy.
Programme, die ftrobopy verwenden, sehen typischerweise so aus:
(Für dieses Beispiel sollte ein roter Encodermotor an M1 und C1 des TXT angeschlossen sein)
Ein anderes Beispiel einer an Output Nr. 8 (O8) angeschlossenen LED, die 10 mal blinken soll:
Viele Grüße
Torsten
das Python-Programm, das Du zeigst, passt nicht zu ftrobopy.
Programme, die ftrobopy verwenden, sehen typischerweise so aus:
(Für dieses Beispiel sollte ein roter Encodermotor an M1 und C1 des TXT angeschlossen sein)
Code: Alles auswählen
import ftrobopy
ftrob = ftrobopy.ftrobopy('auto')
m1 = ftrob.motor(1)
m1.setDistance(200)
m1.setSpeed(300)
while not m1.finished():
ftrob.updateWait()
ftrob.stopOnline()
Code: Alles auswählen
import time
import ftrobopy
ftrob = ftrobopy.ftrobopy('auto')
led1 = ftrob.output(8)
for i in range(10):
led1.setLevel(300)
time.sleep(0.5)
led1.setLevel(0)
time.sleep(0.5)
ftrob.stopOnline()
Torsten
Re: ftrobopy herunterladen und in python einbinden.
Grüß Dich,
ich habe das Lampen Beispiel kopiert und ausgeführt.
Bekomme Fehlermeldung:
PS C:\pythonprogramm> & C:/Users/chef/AppData/Local/Programs/Python/Python39/python.exe c:/pythonprogramm/test.py
Exception ignored in: <function ftrobopy.__del__ at 0x0000023E0E1F4D30>
Traceback (most recent call last):
File "c:\pythonprogramm\ftrobopy.py", line 1433, in __del__
self.stopCameraOnline()
File "c:\pythonprogramm\ftrobopy.py", line 511, in stopCameraOnline
if not self.cameraIsOnline():
File "c:\pythonprogramm\ftrobopy.py", line 174, in cameraIsOnline
return (not self._camera_stop_event.isSet()) and (self._camera_thread is not None)
AttributeError: 'ftrobopy' object has no attribute '_camera_stop_event'
Traceback (most recent call last):
File "c:\pythonprogramm\test.py", line 3, in <module>
ftrob = ftrobopy.ftrobopy('192.168.7.2')
TypeError: __init__() missing 1 required positional argument: 'port'
PS C:\pythonprogramm>
LG
Joachim
ich habe das Lampen Beispiel kopiert und ausgeführt.
Bekomme Fehlermeldung:
PS C:\pythonprogramm> & C:/Users/chef/AppData/Local/Programs/Python/Python39/python.exe c:/pythonprogramm/test.py
Exception ignored in: <function ftrobopy.__del__ at 0x0000023E0E1F4D30>
Traceback (most recent call last):
File "c:\pythonprogramm\ftrobopy.py", line 1433, in __del__
self.stopCameraOnline()
File "c:\pythonprogramm\ftrobopy.py", line 511, in stopCameraOnline
if not self.cameraIsOnline():
File "c:\pythonprogramm\ftrobopy.py", line 174, in cameraIsOnline
return (not self._camera_stop_event.isSet()) and (self._camera_thread is not None)
AttributeError: 'ftrobopy' object has no attribute '_camera_stop_event'
Traceback (most recent call last):
File "c:\pythonprogramm\test.py", line 3, in <module>
ftrob = ftrobopy.ftrobopy('192.168.7.2')
TypeError: __init__() missing 1 required positional argument: 'port'
PS C:\pythonprogramm>
LG
Joachim
Re: ftrobopy herunterladen und in python einbinden.
Wurde die Fehlermeldung nach dem Blinken angezeigt oder vorher ?
Falls nach dem Blinken erst, dann war das ein Fehler beim Beenden des Programms. In diesem Fall sollte es ausreichen, nach dem ftrob.stopOnline() noch eine letzte Zeile einzufügen:
time.sleep(0.5)
Damit sollte es keine Timing Probleme beim Beenden mehr geben.
Falls nach dem Blinken erst, dann war das ein Fehler beim Beenden des Programms. In diesem Fall sollte es ausreichen, nach dem ftrob.stopOnline() noch eine letzte Zeile einzufügen:
time.sleep(0.5)
Damit sollte es keine Timing Probleme beim Beenden mehr geben.
Re: ftrobopy herunterladen und in python einbinden.
So weit kommt das Programm nicht. Es steigt aus bei line 3
File "c:\pythonprogramm\test.py", line 3, in <module>
ftrob = ftrobopy.ftrobopy('192.168.7.2')
TypeError: __init__() missing 1 required positional argument: 'port'
File "c:\pythonprogramm\test.py", line 3, in <module>
ftrob = ftrobopy.ftrobopy('192.168.7.2')
TypeError: __init__() missing 1 required positional argument: 'port'
Re: ftrobopy herunterladen und in python einbinden.
Ergänzung
Habe eine Änderung eingebracht. Das auto ersetzt.
import time
import ftrobopy
ftrob = ftrobopy.ftrobopy('192.168.7.2' , 65000)
#ftrob = ftrobopy.ftrobopy('auto')
led1 = ftrob.output(8)
for i in range(10):
print(" i = ",i)
led1.setLevel(300)
time.sleep(0.5)
led1.setLevel(0)
time.sleep(0.5)
ftrob.stopOnline()
time.sleep(0.5)
läuft durch bringt das i
aber die Lampe blinkt nicht.
habe + an c1 lk , und minus an c1 rechts angeschlossen, wahrscheinlich falsch.
Habe eine Änderung eingebracht. Das auto ersetzt.
import time
import ftrobopy
ftrob = ftrobopy.ftrobopy('192.168.7.2' , 65000)
#ftrob = ftrobopy.ftrobopy('auto')
led1 = ftrob.output(8)
for i in range(10):
print(" i = ",i)
led1.setLevel(300)
time.sleep(0.5)
led1.setLevel(0)
time.sleep(0.5)
ftrob.stopOnline()
time.sleep(0.5)
läuft durch bringt das i
aber die Lampe blinkt nicht.
habe + an c1 lk , und minus an c1 rechts angeschlossen, wahrscheinlich falsch.
Re: ftrobopy herunterladen und in python einbinden.
Entschuldige, wenn ich nerve.
Mir vergeht auch so langsam die Lust.
wenn ich an o7 und o8 anschließe, kommen meldungen
File "c:\pythonprogramm\ftrobopy.py", line 1433, in __del__
self.stopCameraOnline()
File "c:\pythonprogramm\ftrobopy.py", line 511, in stopCameraOnline
if not self.cameraIsOnline():
File "c:\pythonprogramm\ftrobopy.py", line 174, in cameraIsOnline
return (not self._camera_stop_event.isSet()) and (self._camera_thread is not None)
AttributeError: 'ftrobopy' object has no attribute '_camera_stop_event'
PS C:\pythonprogramm>
Mir vergeht auch so langsam die Lust.
wenn ich an o7 und o8 anschließe, kommen meldungen
File "c:\pythonprogramm\ftrobopy.py", line 1433, in __del__
self.stopCameraOnline()
File "c:\pythonprogramm\ftrobopy.py", line 511, in stopCameraOnline
if not self.cameraIsOnline():
File "c:\pythonprogramm\ftrobopy.py", line 174, in cameraIsOnline
return (not self._camera_stop_event.isSet()) and (self._camera_thread is not None)
AttributeError: 'ftrobopy' object has no attribute '_camera_stop_event'
PS C:\pythonprogramm>
Re: ftrobopy herunterladen und in python einbinden.
Hallo Joachim,
ich habe das bei mir nochmal ausprobiert und es funktioniert aus meinem TXT (mit original ft Firmware 4.7.0) ohne Probleme. Die LED blinkt auch. Meine ftrobopy-Version ist die "2.0.0 stable" ( das kannst du abfragen mit print(ftrobopy.version()) ).
Hier ist ein Bild von meiner Verkabelung, der Bildschirmausgabe und des Python-Programmes (die Einrückung muss genau so sein, wie in meinem Bild, in Deinem Post oben war leider die Einrückung nicht zu erkennen). Viele Grüße
Torsten
ich habe das bei mir nochmal ausprobiert und es funktioniert aus meinem TXT (mit original ft Firmware 4.7.0) ohne Probleme. Die LED blinkt auch. Meine ftrobopy-Version ist die "2.0.0 stable" ( das kannst du abfragen mit print(ftrobopy.version()) ).
Hier ist ein Bild von meiner Verkabelung, der Bildschirmausgabe und des Python-Programmes (die Einrückung muss genau so sein, wie in meinem Bild, in Deinem Post oben war leider die Einrückung nicht zu erkennen). Viele Grüße
Torsten
Re: ftrobopy herunterladen und in python einbinden.
Du hast mir das Wochenende gerettet. Danke, dass du nicht aufgegeben hast.
Es blinkt!!!
2 Punkte noch
Bei print(ftrobopy.version()) erhalte ich als Ergebnis: 0.98
Wo kann ich nachlesen, wie ich verkable. Die falsche Verkablung war mein Fehler, wie ich jetzt im Nachhinein festgestellt habe.
Es blinkt!!!
2 Punkte noch
Bei print(ftrobopy.version()) erhalte ich als Ergebnis: 0.98
Wo kann ich nachlesen, wie ich verkable. Die falsche Verkablung war mein Fehler, wie ich jetzt im Nachhinein festgestellt habe.
Re: ftrobopy herunterladen und in python einbinden.
Hallo,
wegen Version von ftrobopy. Habe auf dem PC (Ubuntu) via pip3 install --user ftrobopy installiert. Mit ftrobopy.version() erhalte ich 1.8.
Hätte gerne die 2.0. Wie bekomme ich dies auf meinen Laptop installiert?
Danke
Kräml
wegen Version von ftrobopy. Habe auf dem PC (Ubuntu) via pip3 install --user ftrobopy installiert. Mit ftrobopy.version() erhalte ich 1.8.
Hätte gerne die 2.0. Wie bekomme ich dies auf meinen Laptop installiert?
Danke
Kräml
Re: ftrobopy herunterladen und in python einbinden.
Hallo,
es gibt deswegen auf Github einen bugreport zu dem pip-Modul von ftrobopy. https://github.com/ftrobopy/ftrobopy/issues/35. Vielleicht kann @torsten mal ein neues Modul hochladen (Wink mit Zaunpfahl!)? Ansonsten kannst Du die Sourcen in deinen PYTHONPATH kopieren. Ich selber habe sie in Linux in
~/.local/lib/python3.11/site-packages.
Ralf
es gibt deswegen auf Github einen bugreport zu dem pip-Modul von ftrobopy. https://github.com/ftrobopy/ftrobopy/issues/35. Vielleicht kann @torsten mal ein neues Modul hochladen (Wink mit Zaunpfahl!)? Ansonsten kannst Du die Sourcen in deinen PYTHONPATH kopieren. Ich selber habe sie in Linux in
~/.local/lib/python3.11/site-packages.
Ralf
Re: ftrobopy herunterladen und in python einbinden.
Hallo,
cool ein:
hat sehr geholfen. Danke für den Hinweis.
Danke auch an Thorsten für ftrobopy_server auf dem TXT4. So kann man den TXT und TXT4 recht gut mit dem gleichen Softwarestack betreiben.
Kräml
cool ein:
Code: Alles auswählen
wget -O ~/.local/lib/python3.8/site-packages/ftrobopy.py https://raw.githubusercontent.com/ftrobopy/ftrobopy/master/ftrobopy.py
Danke auch an Thorsten für ftrobopy_server auf dem TXT4. So kann man den TXT und TXT4 recht gut mit dem gleichen Softwarestack betreiben.
Kräml
Re: ftrobopy herunterladen und in python einbinden.
Hallo,
ich habe gerade die ftrobopy Version 2.0.0 auf pypi.org hochgeladen.
sollte also jetzt die Version 2.0.0 installieren.
Viele Grüße
Torsten
ich habe gerade die ftrobopy Version 2.0.0 auf pypi.org hochgeladen.
Code: Alles auswählen
pip install ftrobopy
Viele Grüße
Torsten
Re: ftrobopy herunterladen und in python einbinden.
Hallo Torsten,
danke fürs hochladen.
Kräml
danke fürs hochladen.
Kräml
Re: ftrobopy herunterladen und in python einbinden.
Hallo zusammen,
habe ftrobopy gerade ohne großen Aufwand in Visual Studio 2022 eingebunden. VS2022 nutzt Python 3.9 so dass die Installation im Prinzip gleich bleibt. Nur die Pfade liegen nicht mehr in AppData sondern unter Programme_x86 Microsoft Visual Studio.
Was wirklich gut daran ist, dass eine Projektverwaltung zur Verfügung steht.
Bequemer geht's nicht. Zumal ich seit mittlerweile 31 Jahren diese IDE nutze (C#, SQL Server, C/C++ mit VisualMicro für ftDuino und Arduino, AVR Studio - mit VB 3.0 habe ich tatsächlich 1992 angefangen).
.
habe ftrobopy gerade ohne großen Aufwand in Visual Studio 2022 eingebunden. VS2022 nutzt Python 3.9 so dass die Installation im Prinzip gleich bleibt. Nur die Pfade liegen nicht mehr in AppData sondern unter Programme_x86 Microsoft Visual Studio.
Was wirklich gut daran ist, dass eine Projektverwaltung zur Verfügung steht.
Bequemer geht's nicht. Zumal ich seit mittlerweile 31 Jahren diese IDE nutze (C#, SQL Server, C/C++ mit VisualMicro für ftDuino und Arduino, AVR Studio - mit VB 3.0 habe ich tatsächlich 1992 angefangen).
.
Re: ftrobopy herunterladen und in python einbinden.
... und der Debugger funktioniert natürlich auch ...
. Abbildung: Halt an einem Breakpoint.
. Abbildung: Halt an einem Breakpoint.
Re: ftrobopy herunterladen und in python einbinden.
Super! Ich kann noch Pycharm und VSCode weiterempfehlen. Hast Du schon mal ausprobiert, ob man mit VS2022 auch über SSH entwickeln kann, d.h. die .py-Datei liegt auf dem TXT und wird dort ausgeführt? VSCode kann das, ich habe es aber noch nicht ausprobiert. Die Umgebungsvariablen PYTHONPATH und DISPLAY sollten seit kurzem korrekt gesetzt sein, so dass das prinzipiell funktionieren kann.
lg,
Ralf
PS: Ich entwickle mit Emacs, kann das eher nicht empfehlen, wenn man neu anfängt.
lg,
Ralf
PS: Ich entwickle mit Emacs, kann das eher nicht empfehlen, wenn man neu anfängt.
Re: ftrobopy herunterladen und in python einbinden.
Hi Ralf,
Das wird der nächste Schritt sein. Mir ging es erstmal darum, dass es funktioniert. Der Komfort, sprich die autonome Ausführung auf dem TXT, sinnvoller Weise mit Autostart nach Einschalten, das wäre dann die Königsklasse.
@alle
Mal etwas ganz Anderes:
Bei mir funktioniert die Funktion stop() des Motorobjekts nicht (motor1.stop() ). Wenn ich setSpeed(0) verwende bleibt der Motor zuverlässig stehen. Ist das schon mal wem aufgefsllen?
Beste Grüße Frank
Das wird der nächste Schritt sein. Mir ging es erstmal darum, dass es funktioniert. Der Komfort, sprich die autonome Ausführung auf dem TXT, sinnvoller Weise mit Autostart nach Einschalten, das wäre dann die Königsklasse.
@alle
Mal etwas ganz Anderes:
Bei mir funktioniert die Funktion stop() des Motorobjekts nicht (motor1.stop() ). Wenn ich setSpeed(0) verwende bleibt der Motor zuverlässig stehen. Ist das schon mal wem aufgefsllen?
Beste Grüße Frank