BlueTooth Control Set mit TXT kombinieren

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
derSuedschwede
Beiträge: 3
Registriert: 14 Dez 2017, 17:02

BlueTooth Control Set mit TXT kombinieren

Beitrag von derSuedschwede » 14 Dez 2017, 17:10

Hallo Zusammen,
hat schon jemand eine *.rpp Datei erstellt mit der die Signale der Fernsteuerung im TXT verarbeitet werden können?
Im Netz habe ich C-Code gesehen, da ich aber recht schlecht in C bin und auch den TXT bisher nie in C Programiert habe (auch keine Umgebung installiert) stelle ich die Frage.

Gruß
Kersten

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

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von MasterOfGizmo » 14 Dez 2017, 21:07

Mit einer reinen rpp-Datei geht das nicht. Weil die Geräte einfach beide sehr verschlossen und als Insellösungen entworfen wurden braucht es eine ordentliche Prise Linux-Hacking, um die Geräte doch irgendwie zur Zusammenarbeit zu bewegen. Und das geht halt leider nur in einer ins System integrierten Programmiersprache.

Aber unter RoboPro geht da nix.
Zuletzt geändert von MasterOfGizmo am 15 Dez 2017, 11:00, insgesamt 1-mal geändert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von PHabermehl » 14 Dez 2017, 21:40

Hallo,

ergänzend zu MoGs Antwort wäre noch zu sagen, dass er selbst, siehe hier: viewtopic.php?f=33&t=4341
die Möglichkeit geschaffen hat, das BT control set zusammen mit dem TXT zu verwenden - unter der Community Firmware.

Gruß
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

derSuedschwede
Beiträge: 3
Registriert: 14 Dez 2017, 17:02

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von derSuedschwede » 16 Dez 2017, 19:18

Danke für die schnellen Antworten.
Da bleibt mir also doch nur übrig auf dem kleinen Laptop Linux und die Community Firmware zu installieren und fleisig zu probieren und lernen (und aus bestehenden klauen ;-).
Dafür sind Winterabende fast wie gemacht...

Gruß
Kersten

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

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von richard.kunze » 16 Dez 2017, 20:41

derSuedschwede hat geschrieben: Da bleibt mir also doch nur übrig auf dem kleinen Laptop Linux und die Community Firmware zu installieren und fleisig zu probieren und lernen (und aus bestehenden klauen ;-).
Wenn Du die Community-Firmware nur benutzen willst, dann brauchst Du auf dem PC nicht unbedingt Linux. Die Installation auf die SD-Karte geht problemlos mit Windows (dazu muss man nur eine Zip-Datei auspacken), und um die CFW zu benutzen reicht auf dem PC ein Browser und ein SSH-Client (für Windows z.B. Putty). Die Anleitung für den Einstieg findest Du unter http://cfw.ftcommunity.de/, die aktuelle "offizielle" Version gibt es hier, und die jeweils allerneuste Entwicklungsversion findest Du da.

Linux auf dem PC brauchst Du nur, wenn Du entweder die CFW selbst verändern oder Programme für den TXT in C schreiben willst.

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von PHabermehl » 16 Dez 2017, 21:56

Hallo nochmal,
zum Programmieren von Apps in Python kann man allerdings ebenfalls Linux empfehlen. Das geht auch in einer Virtual Machine auf dem Windows-Rechner.

Auch ein Raspberry ist als Entwicklungsrechner gut zu gebrauchen. Wenn man Python3, Qt4.8 und ftrobopy installiert hat, kann man die Apps dann ja auch auf dem RPi laufen lassen. Ein entsprechender Einstieg mit RPi wäre https://github.com/PeterDHabermehl/cfw_dev-setup_4rpi. Wenn man sich noch ein passendes Display zum RPi besorgt, kann man ja auch gleich einen halben TXT daraus machen: https://github.com/harbaum/tx-pi, da kann man dann z.B. auch die alten Robo Interfaces und I/O Extensions anschließen (wie auch am TXT...), da die community firmware auch dafür die libroboint zur Verfügung stellt.

Gruß
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von Lars » 17 Dez 2017, 00:02

Hallo PHabermehl,
PHabermehl hat geschrieben:zum Programmieren von Apps in Python kann man allerdings ebenfalls Linux empfehlen.
Warum? Betrieb eines weiteren Systems, nur um Textdateien zu editieren? Es gibt für Windows Texteditoren, die Texte nicht nur in Dateien, sondern auch direkt beispielsweise per FTP speichern können. UltraEdit hat einen SSH-Client eingebaut.
PHabermehl hat geschrieben:Das geht auch in einer Virtual Machine auf dem Windows-Rechner.
Meiner Erfahrung nach macht sich diejenige Programmierumgebung am besten, die den Zyklus Entwerfen/Ändern -> Testen möglichst rationell bewältigt. D.h. ich muß den Quelltext aus dem Editor möglichst einfach auf den Controller im Modell bringen und dort ablaufen lassen können. Was nützt mir da ein Linux-System?

Mit freundlichen Grüßen
Lars

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von PHabermehl » 17 Dez 2017, 01:42

Hallo Lars,

also, ich lasse den App-Code in der Entwicklungsumgebung laufen und nicht auf dem TXT. DAS ist rationell. Und weil die cfw nun mal Linux-basiert ist, ist es auch recht einfach, die benötigten Komponenten zur App-Entwicklung (v.a. Python3, PyQt4, opencv3, TouchUI, TouchAuxiliary, ftrobopy, libroboint, ggf. auch noch anderer Kleinkram) auf einem Linux-System zu installieren. Für den Raspberry wird das durch das oben verlinkte Script automatisiert.
Spätestens, wenn Du die libroboint unter Windows nutzen willst, wird die Luft dünn. Auf einem Linux-System - bis hin zum RPi - laufen die cfw-Apps aber annähernd so wie auf dem TXT selbst, ich kann also z.B. RoboInterface und TXT an den Linux-Kasten hängen und eine App schreiben, die auf beide Geräte zugreift, und die läuft dann auch auf dem TXT, siehe z.B. startIDE, dass meine Kinder 1:1 auf einem RPi mit angeschlossenen RoboIF/RoboLT nutzen.
startIDEonRPi.jpg
Wohlgemerkt, die App läuft auf dem RPi, der TXT/RoboIF/RoboLT hängt als dummer I/O Slave am USB.

Gruß
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von Lars » 17 Dez 2017, 12:18

Hallo PHabermehl,
PHabermehl hat geschrieben:also, ich lasse den App-Code in der Entwicklungsumgebung laufen und nicht auf dem TXT. DAS ist rationell.
Achso, stimmt ja, man kann mit ftrobopy auch andere IP-Adressen und damit auch andere TXT-Controller im Netz steuern.
PHabermehl hat geschrieben:Und weil die cfw nun mal Linux-basiert ist, ist es auch recht einfach, die benötigten Komponenten zur App-Entwicklung (v.a. Python3, PyQt4, opencv3, TouchUI, TouchAuxiliary, ftrobopy, libroboint, ggf. auch noch anderer Kleinkram) auf einem Linux-System zu installieren.
Wenn ich es richtig verstehe, gehören diese Bibliotheken zum sog. Laufzeitsystem, d.h. sie werden in jedem Falle zur Ausführung der Programme benötigt, denn diese müssen Methoden daraus aufrufen und Eigenschaftswerte festlegen oder abfragen. Wobei ich persönlich wohl auf libroboint verzichten könnte, da ich derzeit nur zwei TXT-Controller einsetze.

Ein Linux-System müßte ich blind betreiben, da ich mich damit nicht auskenne. Auf der Basis von "UNIX in a nutshell" habe ich vor ca. 15 Jahren mal möglichst portable C-Programme für SunOS-Maschinen entwickelt. Administriert wurden die aber von anderen, auch wenn man natürlich als Entwickler ein paar Abläufe kennen muß. Fürs erste würde ich den TXT am liebsten über einen kleinen Web-Editor mit Python programmieren. Damit würde man den relativ leistungsfähigen TXT auch als Entwicklungsumgebung nutzen.

Vermutlich würde eine derartige Umgebung die Einstiegshürde auch für viele andere stark senken, wenn es um Python für ft-Robotics geht. Man muß das ja nicht sein ft-Leben lang so machen und sollte den dazu erforderlichen TXT-Webserver beim Umstieg auf eine separate Linux-Entwicklungsumgebung dann auch leicht stillegen können.

Mit freundlichen Grüßen
Lars

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von PHabermehl » 17 Dez 2017, 14:14

Hallo Lars,

eine integrierte IDE auf dem TXT ist schon lange in Diskussion, ebenso wie ggf. auch andere Sprachen neben Python. Da fehlt dem cfw-Team einfach die manpower, so schön das auch wäre.
Ein Webserver läuft unter der cfw ohnehin, der hat ja ein Webinterface. Außer etwas Speicher auf der Karte bräuchte eine nicht in Benutzung befindliche IDE keine Ressourcen, das wäre kein Problem.

Aber was nicht ist, kann ja noch werden. Die Evolution der cfw schreitet ja immer noch schneller voran als die der originalen ft-firmware :mrgreen:

Viele Grüße
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Benutzeravatar
EstherM
Beiträge: 1466
Registriert: 11 Dez 2011, 21:24

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von EstherM » 17 Dez 2017, 15:23

Lars hat geschrieben: Fürs erste würde ich den TXT am liebsten über einen kleinen Web-Editor mit Python programmieren. Damit würde man den relativ leistungsfähigen TXT auch als Entwicklungsumgebung nutzen.
Lars
Hallo Lars,
kennst Du einen derartigen Web-Editor? Der auf der CFW laufen würde, und der Open Source ist?

Es nicht so wahnsinnig kompliziert, eine App für die CFW auf dem PC zu bauen und dann auf den TXT hochzuladen, dort laufen zu lassen, und bei Fehlern den Code wieder zu editieren und neu hochzuladen.Ich glaube, das geht schneller, als auf eine integrierte IDE auf dem TXT zu warten.

Gruß
Esther

deets
Beiträge: 12
Registriert: 11 Nov 2017, 11:02

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von deets » 17 Dez 2017, 16:00

Ich benutze keinen TXT, aber Python kenne ich mich gut mit aus. Es gibt tasaechlich jupyter. Das ist im Grunde Python durch ein Browserinterface. FOSS ist es auch. Ob es ansonsten den Anforderungen genuegt - kA.

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

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von richard.kunze » 17 Dez 2017, 16:47

Lars hat geschrieben: Fürs erste würde ich den TXT am liebsten über einen kleinen Web-Editor mit Python programmieren.
Da bist du nicht der einzige.

Das Problem dabei ist auch weniger der Editor (dafür gibts https://ace.c9.io/), sondern das "drumrum": Dateien laden/speichern, Code ausführen usw. Sowas gibt es zwar auch schon fertig (Suchstichwort "Cloud IDE"), aber das fertige Zeug passt alles nicht so wirklich zu unserem Anwendungsfall - das ist eher dafür vorgesehen, dass da im Hintergrund irgendeine leistungsstarke VM in irgendeinem Rechenzentrum sitzt, und dementsprechend verschwenderisch gehen die ganzen Cloud-IDEs auch mit Resourcen (Rechenleistung und Speicher) auf dem Server um.

Für den TXT braucht man was, was auf dem Server so wenig Resourcen benutzt wie nur irgendwie möglich ist (idealerweise: Statische Websiten/Javascripts ausliefern und (Programm-)Dateien speichern). Fertig hab ich sowas aber noch nicht gefunden, und selber schreiben bin ich noch nicht zu gekommen.

Für den direkten Einstieg dürfte es denke ich am einfachsten sein, irgendeinen vernünftigen Codeeditor zu besorgen (am besten einen, der Dateien per SFTP laden/speichern kann, damit kann man dann die Dateien bequem direkt auf dem TXT bearbeiten) und die Programme per Shell (von Windows aus z.B. mit Putty) auf dem TXT laufen zu lassen.
deets hat geschrieben:Ich benutze keinen TXT, aber Python kenne ich mich gut mit aus. Es gibt tasaechlich jupyter. Das ist im Grunde Python durch ein Browserinterface. FOSS ist es auch. Ob es ansonsten den Anforderungen genuegt - kA.
Jupyter ist sogar in der CFW mit dabei :-)

Wers ausprobieren will: Per SSH auf dem TXT einloggen, Notebook-Server mit starten mit

Code: Alles auswählen

jupyter notebook --no-browser --ip=IP-VOM-TXT
(wobei IP-VOM-TXT IP-Adresse oder Hostname des TXT ist), das Notebook ist dann unter http://IP-VOM-TXT:8888/ erreichbar.

Macht aber nicht wirklich Spaß - dafür ist der CFW dann doch etwas zu schwachbrüstig (siehe oben - Jupyter will serverseitig einfach zu viele Resourcen).

PS: Falls jemand (vorzugsweise jemand mit guten JavaScript- und/oder TypeScript-Kenntnissen) an einer Web-IDE für den TXT mitarbeiten will: Hilfe ist immer willkommen.

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von PHabermehl » 17 Dez 2017, 16:50

Jupyter war bei Till und Richard auch schon mal im Gespräch. Ich habe das nicht weiter verfolgt, ich teile da Esthers Meinung

Gruß
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von Lars » 17 Dez 2017, 17:40

Hallo richard.kunze!
richard.kunze hat geschrieben:Für den direkten Einstieg dürfte es denke ich am einfachsten sein, irgendeinen vernünftigen Codeeditor zu besorgen (am besten einen, der Dateien per SFTP laden/speichern kann, damit kann man dann die Dateien bequem direkt auf dem TXT bearbeiten) und die Programme per Shell (von Windows aus z.B. mit Putty) auf dem TXT laufen zu lassen.
Das kann unter Windows beispielsweise die Freeware PSPad (http://www.pspad.com/). Die Arbeitsweise ist mir vertraut, da ich vor Jahren auch mal als Webentwickler mit PHP unterwegs war. Dort haben wir die Webserver netztechnisch AFAIR per VPN erreicht, so daß (S)FTP dann kein Sicherheitsproblem mehr war. Ich kann den Editor empfehlen; das Arbeiten damit war sehr angenehm. Er startet deutlich schneller als UltraEdit, bringt aber dennoch alles Erforderliche mit, auch Funktionalität zum Vergleichen von Dateien.

Läuft denn in der cfw ein SFTP-Server und erreicht dieser auch die Verzeichnisse, in denen die *.py-Dateien abgelegt werden müssen?

Gestartet und gestoppt werden kann schon jetzt über das Webinterface. Es wäre ja kein Problem, das nebenbei offen zu haben.
[EDIT] Genial wäre hier zum Start natürlich ein Startscript, das sich gegenüber PSPad (oder anderen, die ebenfalls Stdout und Stderr abfangen können) wie ein Compiler verhält, so daß man Fehlermeldungen direkt im Editor sehen könnte.

Mit freundlichen Grüßen
Lars

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

Python via Web-Browser auf dem TXT

Beitrag von MasterOfGizmo » 17 Dez 2017, 20:23

Lars hat geschrieben: Gestartet und gestoppt werden kann schon jetzt über das Webinterface. Es wäre ja kein Problem, das nebenbei offen zu haben.
[EDIT] Genial wäre hier zum Start natürlich ein Startscript, das sich gegenüber PSPad (oder anderen, die ebenfalls Stdout und Stderr abfangen können) wie ein Compiler verhält, so daß man Fehlermeldungen direkt im Editor sehen könnte.
Genau das habe ich nal gebaut. Hieß/heisst Boa und besteht aus einem hier im Thread diskutierten html5-basierten Code-Editor, eine html5-basierten VNC-Client, damit man den Bildschirminhalt des TXT am PC sehen kann und einem Textfeld, in das stdout/stderr umgeleitet wird, damit man auch die Ausgaben und Fehlermeldungen sehen kann:

viewtopic.php?f=33&t=4303

Das ist ein Screenshot meines Web-Browsers, wenn Boa aktiv ist,

Das läuft auf dem TX-Pi, aber bisher nicht auf dem TXT, weil dort der VNC-Server aus Sicherheitsgründen angeschaltet wurde. Wenn wir mit dem inzwischen vorhandenen Netfilter-Mechanismus keine Sorge mehr wegen VNC haben und es wieder einschalten, dann würde Boa sofort auf der CFW laufen.

Das ganze ist wirklich trivial und gleichzeitig echt leistungsfähig.

Edit: Boa selbst gibt es hier: https://github.com/harbaum/cfw-apps/tre ... ckages/boa
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: Python via Web-Browser auf dem TXT

Beitrag von Lars » 17 Dez 2017, 21:35

Hallo MasterOfGizmo,
MasterOfGizmo hat geschrieben:Genau das habe ich nal gebaut.
... nicht ganz, denn in dem Post, aus dem Du zitierst, ging ich ja von einem Windows-Editor aus, in dem man codiert und der Textdateien per FTP an den TXT überträgt. BOA realisiert dagegen sogar die weiter oben skizzierte, rein TXT-basierte Entwicklungsumgebung mit Webinterface.
MasterOfGizmo hat geschrieben:Hieß/heisst Boa und besteht aus einem hier im Thread diskutierten html5-basierten Code-Editor, eine html5-basierten VNC-Client, damit man den Bildschirminhalt des TXT am PC sehen kann und einem Textfeld, in das stdout/stderr umgeleitet wird, damit man auch die Ausgaben und Fehlermeldungen sehen kann:
Die Darstellung des TXT-Screens wäre ja sogar schon die Luxusversion. Lohnt sich aber, da die cfw ja regelrechte GUIs erlaubt.
MasterOfGizmo hat geschrieben:viewtopic.php?f=33&t=4303
Allerdings fehlt BOA Deiner Beschreibung nach noch die Fähigkeit, auf alle Dateien etwa eines Projektes zuzugreifen.

<träum>

Idealerweise bietet BOA auf dem TXT auf der Einstiegsseite alle Apps an, deren Dateien es anzeigen und/oder editieren lassen kann. Entweder legt man eine neue App an, die dann zunächst ein Standard-Icon bekommt oder nach Auswahl einer bereits existierenden App listet es alle zugehörigen Dateien auf, die sich mit dem Texteditor bearbeiten lassen. Zwischen diesen sollte man schnell umschalten können. Wenn man in den Code einer anderen App blicken möchte ("Wie habe ich dieses oder jenes damals eigentlich gelöst?"), kann man ja ein weiteres Browserfenster öffnen.
Aber selbst wenn BOA nur ein Browserfenster bedienen mag, wäre eine solche Oberfläche schon ein sehr guter Einstieg und sicherlich für lange Zeit eine attraktive Option.

Wenn man etwas komplexere *.py-Dateien erstellt, wird man dabei vermutlich nicht immer im ft-Zimmer sitzen, sondern das auch mal anderswo nur mit einem (portablen) Rechner ohne TXT bauen. Dann wäre es schön, wenn BOA zusätzlich den Upload solcher Dateien in das zur App gehörende Verzeichnis ermöglicht. So könnte man auch die App-Icon-Datei beibringen.

Es fehlte dann nur noch eine Anleitung, wie man fremde Binaries einbinden kann, etwa für komplexere Bildverarbeitung, Umgang mit Lagesensorik u.v.a.m.

</träum>

Mit freundlichen Grüßen
Lars

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

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von MasterOfGizmo » 17 Dez 2017, 22:01

Lasst uns erstmal sehen, ob wir nicht den vnc wieder aktivieren können. Der Rest ist dann durchaus machbar, die prinzipielle Machbarkeit ist ja bewiesen.

Allerdings stapeln sich bei mir die Projekte, allen voran der ftDuino, so dass ich an Boa wohl erstmal nicht grossartig weitermachen werde. Aber wofür haben wir denn eine fähige Community?
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

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

Re: BlueTooth Control Set mit TXT kombinieren

Beitrag von ski7777 » 17 Dez 2017, 22:30


Antworten