CWF: KOMMUNIKATION MIT TX CONTROLLER

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
raspberrypi
Beiträge: 16
Registriert: 05 Dez 2016, 17:11

CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von raspberrypi » 06 Jan 2017, 21:10

Hallo Liebe Firmware-Entwickler

Kann der TX-Controlller von der Firmware programmiert werden, und wenn nein, wann wird das endlich eingebaut? Wie lange muss ich noch warten? Es gibt doch so was auf der Fischertechnik-Seite, aber das ist nur für Windows und C, da gibts nix mit Python3. ich würd ja selber was bauen, aber ich bin halt ne absolute Nite in den komischen Programmiersprachen mit Typen und so.

~raspberrypi

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

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von MasterOfGizmo » 06 Jan 2017, 21:35

Technisch dürfte das kein Problem sein, einen per USB mit dem TXT verbundenen TX anzusprechen.

Ich glaube, dass keiner der Entwickler einen TX besitzt. Ich zumindest habe noch keinen in der Hand gehabt. Magst Du ggf. welche spenden? Vorher wirst Du leider keine Ergebnisse erwarten können.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

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

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von MasterOfGizmo » 06 Jan 2017, 21:36

Und dann stellt sich natürlich die Frage, wer das wie nutzen soll. Irgendwer mussja die Programme schreiben, die den TX dann nutzen. Aber z.B. in brickly dürfte er sich einbinden lassen.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

raspberrypi
Beiträge: 16
Registriert: 05 Dez 2016, 17:11

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von raspberrypi » 06 Jan 2017, 21:39

Ich hätte mir das so vorgestellt, dass man die zum beispiel ähnlich wie bei ftrobopy sozusagen als Extension nutzen kann. Am liebsten natürlich über Bluetooth.
Wie spende ich einen TX? Einfach an die Vereinsadresse schicken? Da wird mir ein wenig mulmig dabei. ;/

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

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von MasterOfGizmo » 06 Jan 2017, 22:01

Support in ftrobopy einzubauen oder alternativ eine Bibliothek wie für den WeDo-Hub oder den RoboLT zu bauen ist machbar. Aber dann fehlen ja immer noch die Programme, die das auch nutzen. Via RoboPro wäre der nicht zu erreichen. Nur aus CFW-üblichen Apps. Aber auch die muss jemand schreiben. Bisher gibt es nicht viele App-Autoren. Was hast Du denn konkret vor? Willst Du selbst Apps schreiben?

Wenn Du einen TX spenden willst solltest Du Dir m.E. einen Entwickler suchen, dem Du halbwegs vertraust, ihn fragen, ob er das machen will und dann direkt mit ihm klären, wie ihr das macht. Wie und ob das auch über den Verein ginge weiss ich nicht. Ich z.B. kenne niemanden dort persönlich.

Bluetooth am TXT funktioniert unter der Community-Firmware bisher nicht. Richard war da Mal recht weit und es ging auch Mal etwas, aber dann ging Bluetooth an seinem TXT kaputt und seitdem habe ich nichts mehr dazu gehört.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

raspberrypi
Beiträge: 16
Registriert: 05 Dez 2016, 17:11

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von raspberrypi » 06 Jan 2017, 22:16

och, apps schreiben in python kann ich schon bzw hab ich schon gemacht, die verbindung von den beiden controllern ist mir mehr wert als der programmierkomfort von robopro. wie schwer ist denn das programmierzeugs mit c? vielleicht kann ich mich da in eine dokumentation einlesen und versuchen, das zu realisieren?

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

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von Torsten » 06 Jan 2017, 23:08

Hallo raspberrypi,

vielleicht hilft Dir das hier ja etwas weiter:

Auf der Seite https://www.ftcommunity.de/ftComputingF ... dllstx.htm gibt es eine Auflistung verschiedener Programmiermöglichkeiten für den ROBO TX Controller. Dort wird (ganz am Ende der Seite) auch ein Python3-Modul für den TX erwähnt.

Gruss
Torsten

raspberrypi
Beiträge: 16
Registriert: 05 Dez 2016, 17:11

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von raspberrypi » 07 Jan 2017, 13:28

Das ist ja ne ganz nette bibliothek, aber kann ich in so ein linux-system einfach eine d lleinbinden? da braucht man doch immer eine so, oder liege ich da falsch?

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

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von Torsten » 07 Jan 2017, 14:39

Hallo raspberrypi

Ja, das stimmt, Libraries haben in Linux oft die Endung ".so". Die ".dll"s von Windows kannst Du natürlich nicht unter Linux einbinden. Ich habe mir die Python-Pakete für den TX noch nicht angeschaut, ich war allerdings davon ausgegangen, dass da auch die C-Sourcen dabei sind... die hätte man dann als Startpunkt für die Entwicklung einer Linux-Lib verwenden können. Aber so wie es aussieht, fehlen die Sourcen in dem Paket. Dann muss man die Linux-Anbindung wohl doch "from scratch" mit Hilfe der Dokumentation von MSC implementieren.
Da ich selbst keinen TX habe, kann ich das allerdings nicht übernehmen.

Gruss
Torsten

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von richard.kunze » 07 Jan 2017, 15:07

Hallo zusammen,
Torsten hat geschrieben: Auf der Seite https://www.ftcommunity.de/ftComputingF ... dllstx.htm gibt es eine Auflistung verschiedener Programmiermöglichkeiten für den ROBO TX Controller. Dort wird (ganz am Ende der Seite) auch ein Python3-Modul für den TX erwähnt.
Hilft so direkt leider nicht viel weiter - das ist alles um die "von fischertechnik zur Verfügung gestellten ftMscLib.DLL" (Zitat https://www.ftcommunity.de/ftComputingF ... dllstx.htm) herumgestrickt. Auf einem PC kann man das eventuell (mit Wine) zum Laufen bekommen, aber auf dem TXT klappt das so nicht. Da brauchen wir tatsächlich entweder die Sourcen für ftMscLib.dll (von Fischertechnik) oder einen TX und eine Menge Zeit und Geduld (um das Protokoll per Reverse-Engineering herauszubekommen).

Alternativ könnte man eventuell ein Programm schreiben das direkt auf dem TX läuft (in ROBOPro oder C/C++) und ein eigenes Netzwerk-Protokoll implementiert. Aber das hängt davon ab, was man direkt auf dem TX "offiziell" so alles anstellen kann (und/oder wie weit man bereit ist, die Firmware des TX selber zu verbasteln) - da kann ich (mangels TX) eher wenig zu sagen.
MasterOfGizmo hat geschrieben: Bluetooth am TXT funktioniert unter der Community-Firmware bisher nicht. Richard war da Mal recht weit und es ging auch Mal etwas, aber dann ging Bluetooth an seinem TXT kaputt und seitdem habe ich nichts mehr dazu gehört.
Stimmt, da war ja noch was. Ich hab seit einer Weile einen Ersatz-TXT (was bei meinem ersten TXT kaputt war, war der komplette Chip für WLAN/Bluetooth, und wie ich das geschafft habe ist mir immer noch ein Rätsel), aber weil ich selber Bluetooth nicht wirklich brauche (ich nehme für drahtlose Verbindungen lieber WLAN, damit hab ich bei mir zuhause eh eine komplette Abdeckung) ist das bisher unter den Tisch gefallen...

Liebe Grüße,

Richard

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

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von MasterOfGizmo » 07 Jan 2017, 15:15

Das nötige Know-How ist verfügbar.

Zum einen gibt es diese Code-Sammlung, mit der sich ein Arduino als TX ausgeben kann: https://github.com/mr-kubikus/fx1-arduino-parser. Daraus sollte man relativ einfach ablesen können, wie man andersherum einen TX per USB anspricht.

Und dann gibt es Python-Bibliotheken wie https://github.com/ftCommunity/python-robolt oder https://pypi.python.org/pypi/wedo/1.0.0 als Beispiele, wie man in Python direkt auf USB-Geräte zugreift.

Beides zusammen sollte erlauben, den TX direkt aus Python z.B. vom TXT aus anzusprechen.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von richard.kunze » 07 Jan 2017, 15:24

MasterOfGizmo hat geschrieben: Zum einen gibt es diese Code-Sammlung, mit der sich ein Arduino als TX ausgeben kann: https://github.com/mr-kubikus/fx1-arduino-parser. Daraus sollte man relativ einfach ablesen können, wie man andersherum einen TX per USB anspricht.
Ja, stimmt, den TX-"Emulator" für den Arduino hatte ich vergessen - OK, damit ist das (Online-)Protokoll soweit klar.

Fehlt also nur noch jemand mit einem TX und ausreichend Python-Kenntnissen, der einen Client dafür in Python implementiert :-)

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von ski7777 » 07 Jan 2017, 15:33

Also ich habe hier einen TX, welchen ich aktuell in meinem Modell (mit der Community Firmware) verwende. Eine Ansteuerung über direkt aus python wäre natürlich perfekt.
In den nächsten Tagen werde ich mir den Emulator mal genauer angucken.

Raphael

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von richard.kunze » 07 Jan 2017, 15:40

ski7777 hat geschrieben:Also ich habe hier einen TX, welchen ich aktuell in meinem Modell (mit der Community Firmware) verwende.
Wie genau machst Du das denn?
ski7777 hat geschrieben: Eine Ansteuerung über direkt aus python wäre natürlich perfekt.
In den nächsten Tagen werde ich mir den Emulator mal genauer angucken.
Ich habe eben hier auch den Hinweis auf die Dokumentation gefunden, die dem Emulator zugrunde liegt: http://www.fischertechnik.de/ResourceIm ... ?raid=4977 (bzw. genauer: Die Beschreibung des "Fisch.X1"-Protokolls im Dokument "PC_Programmierung_RoboTXC.pdf" aus diesem Paket). Das dürfte für den Zweck noch etwas besser geeignet sein als der C-Code für den Arduino.

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von ski7777 » 07 Jan 2017, 16:03

richard.kunze hat geschrieben:
ski7777 hat geschrieben:Also ich habe hier einen TX, welchen ich aktuell in meinem Modell (mit der Community Firmware) verwende.
Wie genau machst Du das denn?
Über ein ganz einfaches Protokoll über die I/Os. In Python mache ich einen Ausgang für eine gewisse Zeit an und der TX empfängt diesen Zeitwert. Am TX wird dieser Wert dann gerundet. Um das ganze genauer hinzukriegen sind die Zeitsbstände da sehr lange gewählt. was aber im Ablauf des Modells nicht auffällt.

Raphael

olagino
Beiträge: 93
Registriert: 02 Aug 2014, 13:13
Kontaktdaten:

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von olagino » 07 Jan 2017, 16:17

Hallo zusammen,

So eine ähnliche Konstruktion wie Raphael mit Ein- und Ausgängen habe ich auch bisher für meine Modelle verwendet, jedoch mit einem Manchester-Code zum sparen von IOs. ;) Das ist zwar etwas unkomfortabler in ROBOPro zu benutzen als zum Beispiel eine Doppel-I²C-Slave-Verbindung über Arduinos oder ähnlichem aber ist auch einfacher umzusetzen, wenn man einmal das Protokoll in ROBOPro zusammengeklickt hat.

Liebe Grüße,

olagino

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von richard.kunze » 07 Jan 2017, 16:22

ski7777 hat geschrieben: Über ein ganz einfaches Protokoll über die I/Os. In Python mache ich einen Ausgang für eine gewisse Zeit an und der TX empfängt diesen Zeitwert. Am TX wird dieser Wert dann gerundet.
D.h. Du verbindest einen Ausgang vom TXT mit einem Eingang vom TX, und fährst da drüber dann dein eigenes Protokoll? Coole Idee.

olagino
Beiträge: 93
Registriert: 02 Aug 2014, 13:13
Kontaktdaten:

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von olagino » 07 Jan 2017, 16:26

Ja, genau, in jede Richtung halt ein Protokoll, das heißt bei jedem Controller wird nur ein Eingang und ein Ausgang verwendet. Das lässt sich natürlich auch mit Adress-Bits auf mehr als zwei Geräte ausweiten, ich spare mir das - auch aus Übertragungszeitgründen, weil ich nur einen TXT mit zwei TX-Controllern überbrücke, die dann jeweils untereinander über Master und Extension kommunizieren können.

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von ski7777 » 07 Jan 2017, 17:04

Mein Protokoll sieht zusätzlich noch Transmission IDs vor, über welche die Nachrichten übertragen werden und Antwortet auch bei erfolgreicher Übertragung. Dieses Protokoll fehre ich simultan auf einen TX (nur Empfang) und zwei Interfeces (RX/TX).

Raphael

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CWF: KOMMUNIKATION MIT TX CONTROLLER

Beitrag von ski7777 » 07 Jan 2017, 17:10

Hier die Source:
https://github.com/ski7777/ft-industry/blob/master/src/TXT/app/com.py (wieso kann man hier im bbcode keine URL artifacts einbauen :geek: ) und https://github.com/ski7777/ft-industry/ ... X1/TX1.rpp (Recieve und die Schleife im Hauptprogramm)

Raphael

Antworten