Neues vom ftDuino
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Re: Neues vom ftDuino
Hallo,
ich wollte nur mitteilen, daß das mit WebUsb, tablet(Android) und IoServer bestens funktioniert.
Gruß
FischRob
ich wollte nur mitteilen, daß das mit WebUsb, tablet(Android) und IoServer bestens funktioniert.
Gruß
FischRob
- MasterOfGizmo
- Beiträge: 2722
- Registriert: 30 Nov 2014, 07:44
Re: Neues vom ftDuino
Super, danke für's Feedback.FischRob hat geschrieben: ich wollte nur mitteilen, daß das mit WebUsb, tablet(Android) und IoServer bestens funktioniert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
- MasterOfGizmo
- Beiträge: 2722
- Registriert: 30 Nov 2014, 07:44
Re: Neues vom ftDuino
Ein ftDuino-User hat den Farbsortierroboter mit dem ftDuino aufgebaut:
https://www.youtube.com/watch?v=dKZGRMCIzu8
https://www.youtube.com/watch?v=dKZGRMCIzu8
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Neues vom ftDuino
Hallo zusammen,
ich bin seit drei Tagen stolzer Besitzer eines ftDuino. Ich habe die ftduino_direct Bibliothek von PHabermehl gefunden, aber der Python-Client ist mir etwas zu umständlich.
Ich habe einen weiteren Python-Client geschrieben, welcher etwas mehr abstrahiert und aufgrund div. Methoden bspw. Code-Vervollständigung unter IDLE und anderen IDEs bietet. Der Client ist noch nicht veröffentlicht, aber ich finde ihn für meine Zwecke bisher ganz nützlich.
Vielleicht interessiert es weitere Entwickler, da es m.E. den Code reduziert und Zugriffe auf manche Funktionen erleichtert.
Ein Beispiel:
Der Client nutzt das Sketch von ftduino_direct, die Python-Programmierung ist jedoch unabhängig von dem Standard-Client.
Das Repository befindet sich unter https://github.com/heuer/ftdu, der aktuelle Code unter https://github.com/heuer/ftdu/tree/develop
Grüße
Lars
ich bin seit drei Tagen stolzer Besitzer eines ftDuino. Ich habe die ftduino_direct Bibliothek von PHabermehl gefunden, aber der Python-Client ist mir etwas zu umständlich.
Ich habe einen weiteren Python-Client geschrieben, welcher etwas mehr abstrahiert und aufgrund div. Methoden bspw. Code-Vervollständigung unter IDLE und anderen IDEs bietet. Der Client ist noch nicht veröffentlicht, aber ich finde ihn für meine Zwecke bisher ganz nützlich.
Vielleicht interessiert es weitere Entwickler, da es m.E. den Code reduziert und Zugriffe auf manche Funktionen erleichtert.
Ein Beispiel:
Code: Alles auswählen
>>> import ftdu
>>> ftd = ftdu.FtDuino()
>>> ftd.led = True # Schaltet die LED ein
>>> ftd.led = False # Schalted die LED aus
>>> ftd.i1 # Abfrage des input ports I1
0
Das Repository befindet sich unter https://github.com/heuer/ftdu, der aktuelle Code unter https://github.com/heuer/ftdu/tree/develop
Grüße
Lars
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Neues vom ftDuino
Hier noch ein etwas "komplexeres" Beispiel aus dem Handbuch von MasterOfGizmo. Kapitel 4.8.1 - Die Ampelschaltung
Code: Alles auswählen
# -*- coding: utf-8 -*-
"""\
ftDuino Handbuch - 4.8.1 Einfache Ampel.
"""
import time
import ftdu
def example():
ftd = setup()
while True:
loop(ftd)
def setup():
ftd = ftdu.FtDuino()
ftd.o1 = True
return ftd
def loop(ftd):
if ftd.i1:
ftd.o1 = False # Rote Lampe ausschalten
ftd.o2 = True # Grüne Lampe einschalten
time.sleep(10) # 10 Sek. warten
ftd.o1 = True
ftd.o2 = False
if __name__ == '__main__':
example()
- PHabermehl
- Beiträge: 2439
- Registriert: 20 Dez 2014, 22:59
- Wohnort: Bad Hersfeld
Re: Neues vom ftDuino
Hallo Lars,
schön, dass Du Dich hier outest. Gefällt mir sehr gut, was Du da gemacht hast.
Mein Ansatz beim sketch war seinerzeit, dass eine Kommunikation in Klartext über ein Terminal, also z.B. den "serial monitor" der Arduino-IDE möglich sein sollte.
Für die Python-Schnittstelle hatte ich nur den Wunsch, dass die Kommunikation vollständig entkoppelt von der Entwicklung des sketches sein sollte. Wenn ich ftduino_direct.ino erweitere, dann kann man über ftduino_direct.comm sofort auf die neuen Funktionen zugreifen, ohne die Python-Bibliothek updaten zu müssen. Das ist insbesondere für die App-Entwicklung für die community firmware wichtig, da die Python Bibliothek Teil der Firmware ist - man müsste also im Falle einer Funktionserweiterung erst ein Firmwareupdate machen. So braucht man nur - im Falle der cfw mit der App ftDuinIO - das Sketch-Update auf den ftDuino zu flashen, und alles läuft. Für den reinen Anwender sehr bequem, für den Programmierer und aus Python-Sicht sicher nicht optimal.
Wenn Du Dein Modul aber z.B. direkt mit der App bundlest und verteilst, dann hast Du etwaige Updates ja auch unter Kontrolle.
Viele Grüße
Peter
schön, dass Du Dich hier outest. Gefällt mir sehr gut, was Du da gemacht hast.
Mein Ansatz beim sketch war seinerzeit, dass eine Kommunikation in Klartext über ein Terminal, also z.B. den "serial monitor" der Arduino-IDE möglich sein sollte.
Für die Python-Schnittstelle hatte ich nur den Wunsch, dass die Kommunikation vollständig entkoppelt von der Entwicklung des sketches sein sollte. Wenn ich ftduino_direct.ino erweitere, dann kann man über ftduino_direct.comm sofort auf die neuen Funktionen zugreifen, ohne die Python-Bibliothek updaten zu müssen. Das ist insbesondere für die App-Entwicklung für die community firmware wichtig, da die Python Bibliothek Teil der Firmware ist - man müsste also im Falle einer Funktionserweiterung erst ein Firmwareupdate machen. So braucht man nur - im Falle der cfw mit der App ftDuinIO - das Sketch-Update auf den ftDuino zu flashen, und alles läuft. Für den reinen Anwender sehr bequem, für den Programmierer und aus Python-Sicht sicher nicht optimal.
Wenn Du Dein Modul aber z.B. direkt mit der App bundlest und verteilst, dann hast Du etwaige Updates ja auch unter Kontrolle.
Viele Grüße
Peter
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Neues vom ftDuino
Hallo Peter,
ich verstehe, was Du mit dem Client bezweckst und ich bin auch froh über das ftduino_direct Sketch. "zu umständlich" war auch nicht als Kritik gemeint; es ist praktisch, die Befehle direkt an die Schnittstelle kommunizieren zu können. Zunächst nutzte der Client auch das ftduino_direct Python Modul (darum auch die Frage nach der Lizenz ), nun ist es jedoch unabhängig davon. Mir fehlte lediglich eine weitere Ebene, die es mir erleichtert, mit dem ftDuino zu sprechen. Aus diesem Grunde habe ich den Client geschrieben; bspw. werden auch die Ergebnisse vom ftDuino in entsprechende Datentypen (int, bool) umgewandelt und liefern keinen String zurück.
Bei Änderungen am ftduino_direct Sketch muß der Client evtl. angepaßt werden, das ist ein Nachteil (er bietet jedoch auch die "comm" Methode Deines Clients so daß man sich ggf. damit behelfen kann).
Viele Grüße
Lars
ich verstehe, was Du mit dem Client bezweckst und ich bin auch froh über das ftduino_direct Sketch. "zu umständlich" war auch nicht als Kritik gemeint; es ist praktisch, die Befehle direkt an die Schnittstelle kommunizieren zu können. Zunächst nutzte der Client auch das ftduino_direct Python Modul (darum auch die Frage nach der Lizenz ), nun ist es jedoch unabhängig davon. Mir fehlte lediglich eine weitere Ebene, die es mir erleichtert, mit dem ftDuino zu sprechen. Aus diesem Grunde habe ich den Client geschrieben; bspw. werden auch die Ergebnisse vom ftDuino in entsprechende Datentypen (int, bool) umgewandelt und liefern keinen String zurück.
Bei Änderungen am ftduino_direct Sketch muß der Client evtl. angepaßt werden, das ist ein Nachteil (er bietet jedoch auch die "comm" Methode Deines Clients so daß man sich ggf. damit behelfen kann).
Viele Grüße
Lars
Zuletzt geändert von tintenfisch am 14 Feb 2019, 10:15, insgesamt 1-mal geändert.
- PHabermehl
- Beiträge: 2439
- Registriert: 20 Dez 2014, 22:59
- Wohnort: Bad Hersfeld
Re: Neues vom ftDuino
Hallo Lars,
Viele Grüße
Peter
Auch das habe ich gesehen und das hat mich besonders gefreut. Wie gesagt, ich finde Deine Arbeit gut, weil sie den Zugriff aus Python heraus definitiv vereinfacht. Und am meisten freut es mich, dass sich jemand überhaupt damit beschäftigt!tintenfisch hat geschrieben:(er bietet jedoch auch die "comm" Methode Deines Clients so daß man sich ggf. damit behelfen kann).
Viele Grüße
Peter
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Neues vom ftDuino
Ich habe nun das Python Modul auch unter PyPi registriert und eine erste Version veröffentlicht.
Via
kann man nun das Modul installieren.
Gegenüber der Version vor ein paar Tagen habe ich nun zwei Klassen implementiert. Die Klasse BaseFtDuino offeriert alle Funktionen der Ftduino-Lib sowie (fast) alle des ftduino_direct Sketches. Alle Funktionen der Ftduino-Bibliothek werden via Methoden abgebildet und liefern die entsprechenden Werte als Python Datentypen (bool / int) zurück.
Die Klasse FtDuino erweitert die Klasse BaseFtDuino um einige Methoden sowie Abkürzungen.
Beispiel für die Abfrage des I1:
ftdu bietet weitere Abkürzungen, inbes. bei der Ansprache von Motoren (Encoder vs. "normaler" Motor).
Die Dokumentation des Modules befindet sich unter https://ftdu.readthedocs.io/
Über Rückmeldungen und / oder Vorschläge würde ich mich freuen.
Via
Code: Alles auswählen
pip install ftdu
Gegenüber der Version vor ein paar Tagen habe ich nun zwei Klassen implementiert. Die Klasse BaseFtDuino offeriert alle Funktionen der Ftduino-Lib sowie (fast) alle des ftduino_direct Sketches. Alle Funktionen der Ftduino-Bibliothek werden via Methoden abgebildet und liefern die entsprechenden Werte als Python Datentypen (bool / int) zurück.
Die Klasse FtDuino erweitert die Klasse BaseFtDuino um einige Methoden sowie Abkürzungen.
Beispiel für die Abfrage des I1:
Code: Alles auswählen
>>> import ftdu
>>> # Low level
>>> ftd = ftdu.BaseFtDuino()
>>> if bool(int(ftd.comm('input_get I1'))):
pass
>>> # Low level, aber korrekter Datentyp
>>> if ftd.input_get('I1'):
pass
>>> # High level
>>> ftd = ftdu.FtDuino()
>>> if ftd.i1:
pass
Die Dokumentation des Modules befindet sich unter https://ftdu.readthedocs.io/
Über Rückmeldungen und / oder Vorschläge würde ich mich freuen.
Re: Neues vom ftDuino
Nettes neues Gymmick:
Die Servosteuerung für den ftDuino. Spurfolger mit Achschenkellenkung ging besser als gedacht, auch wenn er bestimmt bei einer Verkehrskontrolle rausgezogen würde
https://www.youtube.com/watch?v=ieflHiWWVCw
Für Tipps, wie man den mechanisch besser hinbekommt, bin ich offen
Die Servosteuerung für den ftDuino. Spurfolger mit Achschenkellenkung ging besser als gedacht, auch wenn er bestimmt bei einer Verkehrskontrolle rausgezogen würde
https://www.youtube.com/watch?v=ieflHiWWVCw
Für Tipps, wie man den mechanisch besser hinbekommt, bin ich offen
- MasterOfGizmo
- Beiträge: 2722
- Registriert: 30 Nov 2014, 07:44
Re: Neues vom ftDuino
Haha ... sieht sehr sportlich aus. Endlich mal kein Panzer
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Neues vom ftDuino
Das war mein Ziel Jetzt gibt es eine bessere Version:MasterOfGizmo hat geschrieben:Haha ... sieht sehr sportlich aus. Endlich mal kein Panzer
https://youtu.be/iihbUXKEhKY
Jetzt noch den I2C-Extender drauf, damit ich den Abstandssensor noch draufsetzen kann...
- MasterOfGizmo
- Beiträge: 2722
- Registriert: 30 Nov 2014, 07:44
Re: Neues vom ftDuino
So einen dtduino hätte ich ja auch gern. Ist das der Nachfolger des ftduino
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
- PHabermehl
- Beiträge: 2439
- Registriert: 20 Dez 2014, 22:59
- Wohnort: Bad Hersfeld
Re: Neues vom ftDuino
Nee, das ist der Vor-Vorgänger... Ich hab so einen, der steuert mein stackshot-stativ...
Re: Neues vom ftDuino
Nee, Du warst der, der das Video angeschaut hat - danke für die Rechtschreibhife. Ist nicht so leicht jeden Knopf auf der kleinen Handytastatur zu treffen. Jetzt ist es wieder ein ftDuino.
-
- Beiträge: 1
- Registriert: 13 Mär 2019, 19:40
Re: Neues vom ftDuino
Hallo zusammen,
seit einigen Wochen bin ich auch Besitzer eines ftDuino. Er funktioniert sehr schön und hat inzwischen auch ein OLED (das 128x32) bekommen.
Mal direkt nachgefragt: In diesem Faden, aber schon länger her, hatte 'Master of Gizmo' einen ftDuino-2 angedeutet. Ist sowas noch in denkbarer Sichtweite? *g*
Wenn ja, dann hätte ich für den einen wirklich drängenden Entwicklungswunsch... :)
Einen Bedienknopf, das wär's! (Oder zwei wären schön, einer reicht prinzipiell auch.) Baugrösse wie der Resetknopf, plaziert links/rechts, etwas unterhalb des Mülleimersymbols, da wär doch noch Platz, oder?
Ehrlich, ein Bedienknopf (general purpose), der die FT-I/O funktional und konzeptionell von der Bedienung des Gerätes an sich trennt, der fehlt mir am allermeisten. Alle anderen Wünsche, FRAM , Uhr, wasauchimmer lassen sich ja auch jetzt schon per I2C einbinden, aber etwas zur simplen Bedienung (ohne angeschlossenen PC) fehlt. Was meint ihr?
Geht ja nicht nur (aber auch) um Start/Pause/Stop des Controllers; schöne Möglichkeiten böten sich in Verbindung mit dem Display an, z.B. Auswahl für Steuerung diverser Modelle.
seit einigen Wochen bin ich auch Besitzer eines ftDuino. Er funktioniert sehr schön und hat inzwischen auch ein OLED (das 128x32) bekommen.
Mal direkt nachgefragt: In diesem Faden, aber schon länger her, hatte 'Master of Gizmo' einen ftDuino-2 angedeutet. Ist sowas noch in denkbarer Sichtweite? *g*
Wenn ja, dann hätte ich für den einen wirklich drängenden Entwicklungswunsch... :)
Einen Bedienknopf, das wär's! (Oder zwei wären schön, einer reicht prinzipiell auch.) Baugrösse wie der Resetknopf, plaziert links/rechts, etwas unterhalb des Mülleimersymbols, da wär doch noch Platz, oder?
Ehrlich, ein Bedienknopf (general purpose), der die FT-I/O funktional und konzeptionell von der Bedienung des Gerätes an sich trennt, der fehlt mir am allermeisten. Alle anderen Wünsche, FRAM , Uhr, wasauchimmer lassen sich ja auch jetzt schon per I2C einbinden, aber etwas zur simplen Bedienung (ohne angeschlossenen PC) fehlt. Was meint ihr?
Geht ja nicht nur (aber auch) um Start/Pause/Stop des Controllers; schöne Möglichkeiten böten sich in Verbindung mit dem Display an, z.B. Auswahl für Steuerung diverser Modelle.
- PHabermehl
- Beiträge: 2439
- Registriert: 20 Dez 2014, 22:59
- Wohnort: Bad Hersfeld
Re: Neues vom ftDuino
Hallo,
Ich denke mal, dass ein Button für die Bedienung recht wenig ist.
Hang doch einen GPIO Expander ans I2c und schließ da 'was an.
https://www.adafruit.com/product/4132
Gruß
Peter
Ich denke mal, dass ein Button für die Bedienung recht wenig ist.
Hang doch einen GPIO Expander ans I2c und schließ da 'was an.
https://www.adafruit.com/product/4132
Gruß
Peter
Re: Neues vom ftDuino
Hallo kamamanjari,
Sofern Du noch einen Eingang frei hast, kannst Du den ja mit einem Taster Deiner Wahl verwenden und das in Deiner Programmierung berücksichtigen. Falls bereits alle Eingänge belegt sind, kann man sich mit dem "Analogtrick" behelfen und mehrere Taster über verschiedene Widerstände auf den gleichen Eingang legen. Durch eine Widerstandsmessung kann die Programmierung dann die Taster unterscheiden.
10er-Tastaturen oder andere Bedienfelder gibt es vermutlich auch für den I²C-Bus mit entsprechend mehr Möglichkeiten. Damit hast du dann eine feine Benutzerschnittstelle und mußt dazu keinen einzigen der für gewöhnlich knappen Eingänge investieren.
Mit freundlichen Grüßen
Lars
da würde ich aber immer einen oder mehrere zusätzliche Eingänge vorziehen, ggfs. auch einfache digitale Eingänge für solche Zwecke. Da habe ich dann die Freiheit, den oder die Taster so zu platzieren und zu gestalten, wie es mir für das jeweilige Modell am zweckmäßigsten oder "schönsten" erscheint. Deshalb finde ich auch die abgesetzten Displays gut, die für den I²C-Bus verfügbar sind. Das fest eingebaute Display des TXT leidet als Benutzerschnittstelle, wenn der Großteil der Ein- und Ausgänge mit ft-Steckerchen belegt sind. Bei winzigkleinen Knöpfchen verhält sich das nicht anders.kamamanjari hat geschrieben:Mal direkt nachgefragt: In diesem Faden, aber schon länger her, hatte 'Master of Gizmo' einen ftDuino-2 angedeutet. Ist sowas noch in denkbarer Sichtweite? *g*
[...]
Einen Bedienknopf, das wär's! (Oder zwei wären schön, einer reicht prinzipiell auch.) Baugrösse wie der Resetknopf, plaziert links/rechts, etwas unterhalb des Mülleimersymbols, da wär doch noch Platz, oder?
Sofern Du noch einen Eingang frei hast, kannst Du den ja mit einem Taster Deiner Wahl verwenden und das in Deiner Programmierung berücksichtigen. Falls bereits alle Eingänge belegt sind, kann man sich mit dem "Analogtrick" behelfen und mehrere Taster über verschiedene Widerstände auf den gleichen Eingang legen. Durch eine Widerstandsmessung kann die Programmierung dann die Taster unterscheiden.
10er-Tastaturen oder andere Bedienfelder gibt es vermutlich auch für den I²C-Bus mit entsprechend mehr Möglichkeiten. Damit hast du dann eine feine Benutzerschnittstelle und mußt dazu keinen einzigen der für gewöhnlich knappen Eingänge investieren.
Mit freundlichen Grüßen
Lars
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Neues vom ftDuino
Heute zufällig am Bhf gesehen: In der Raspberry Geek 04/2019 wird der ftDuino zur Steuerung eines 3-Achs-Arms vorgestellt. <http://www.raspberry-pi-geek.de/Magazin/2019/04> Gelesen habe ich den Artikel nicht, aber vielleicht interessiert's jemanden.
- MasterOfGizmo
- Beiträge: 2722
- Registriert: 30 Nov 2014, 07:44
Re: Neues vom ftDuino
Ah. Cool. Wusste ich nichts von. Danke für den Hinweis. Der genaue Link ist:
http://www.raspberry-pi-geek.de/Magazin ... article_f1
http://www.raspberry-pi-geek.de/Magazin ... article_f1
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32