Seite 1 von 2
ftrobopy herunterladen und in python einbinden.
Verfasst: 30 Jun 2023, 17:53
von JoWo
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
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 30 Jun 2023, 18:13
von JoWo
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'
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 30 Jun 2023, 19:39
von axel57
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 01 Jul 2023, 09:19
von Torsten
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)
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()
Ein anderes Beispiel einer an Output Nr. 8 (O8) angeschlossenen LED, die 10 mal blinken soll:
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()
Viele Grüße
Torsten
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 01 Jul 2023, 10:21
von JoWo
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
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 01 Jul 2023, 14:10
von Torsten
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.
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 01 Jul 2023, 16:04
von JoWo
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'
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 01 Jul 2023, 17:18
von JoWo
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.
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 01 Jul 2023, 17:23
von JoWo
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>
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 01 Jul 2023, 21:51
von Torsten
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).
- IMG_6500.jpg (90.01 KiB) 9165 mal betrachtet
Viele Grüße
Torsten
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 02 Jul 2023, 10:07
von JoWo
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.
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 06 Jul 2023, 10:15
von kräml
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
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 06 Jul 2023, 11:44
von hypnotoad
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
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 06 Jul 2023, 13:18
von kräml
Hallo,
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
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
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 07 Jul 2023, 10:24
von Torsten
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
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 08 Jul 2023, 08:13
von kräml
Hallo Torsten,
danke fürs hochladen.
Kräml
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 28 Jul 2023, 18:41
von FJB
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).
.
- Unbenannt.jpg (34.23 KiB) 8566 mal betrachtet
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 28 Jul 2023, 18:48
von FJB
... und der Debugger funktioniert natürlich auch ...
.
- Unbenannt.jpg (10.74 KiB) 8564 mal betrachtet
Abbildung: Halt an einem Breakpoint.
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 28 Jul 2023, 20:55
von hypnotoad
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.
Re: ftrobopy herunterladen und in python einbinden.
Verfasst: 28 Jul 2023, 21:11
von FJB
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