Community-Firmware für den TXT

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Masked
Beiträge: 500
Registriert: 18 Okt 2010, 18:19

Re: Community-Firmware für den TXT

Beitrag von Masked » 18 Sep 2016, 17:12

Um das Off-Topic dann mal zu beenden:
Ich habe mit Richard inzwischen geschrieben, ihr kriegt einfach noch einen Tisch mehr.
Grüße,
Martin

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 18 Sep 2016, 21:10

ski7777 hat geschrieben: P.S.: Ich kann keine W-LAN Passwörter via Tastatur eingeben (in der Gallery-App gehts auch nicht). siehe: viewtopic.php?f=8&p=26362#p26362
Stimmt, geht bei mir auch nicht mehr. Verhält sich sehr merkwürdig, Cursor-Tasten erzeugen Tilden und Returtn erzeugt ein Gleichheitszeichen. Die meisten anderen Tasten tun nichts erkennbares. "evtest" zeigt aber die richtigen Tasten an. Der Kernel hat also keine Probleme mit der Tastatur.
Zuletzt geändert von MasterOfGizmo am 18 Sep 2016, 21:13, insgesamt 1-mal geändert.
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: Community-Firmware für den TXT

Beitrag von ski7777 » 18 Sep 2016, 21:12

MasterOfGizmo hat geschrieben:
ski7777 hat geschrieben: P.S.: Ich kann keine W-LAN Passwörter via Tastatur eingeben (in der Gallery-App gehts auch nicht). siehe: viewtopic.php?f=8&p=26362#p26362
Stimmt, geht bei mir auch nicht mehr. Verhält sich sehr merkwürdig, Cursor-Tasten erzeugen Tilden und Returtn erzeugt ein Gleichheitszeichen. Die meisten anderen Tasten tun nichts erkennbares.
Genau so. Aber früher ging das. In der Gallery App gehts auch nicht mehr. Was habt ihr da geändert?

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 18 Sep 2016, 21:26

ski7777 hat geschrieben: Was habt ihr da geändert?
An der Stelle bewusst nichts. Mit der früheren Version des Launchers und des TXT-Styles geht es auch nicht mehr. Keine Ahnung, was sich da geändert hat. Auf dem Raspberry Pi geht es noch. Muss bei Gelegenheit mal jemand debuggen. Aber ich habe gerade interessantere Projekte.

P.S.: Ich habe Dir die Schreibrechte auf das Apps-Repository wieder gegeben in der Hoffnung, dass Du Deine Rechte nicht für den von Dir angekündigten destruktiven Kram nutzt ...
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: Community-Firmware für den TXT

Beitrag von ski7777 » 18 Sep 2016, 21:35

MasterOfGizmo hat geschrieben:P.S.: Ich habe Dir die Schreibrechte auf das Apps-Repository wieder gegeben in der Hoffnung, dass Du Deine Rechte nicht für den von Dir angekündigten destruktiven Kram nutzt ...
Danke.

Natürlich werde ich dort keine Viren verteilen. Am Sonntag morgen gibts dort die App für mein Convention-Modell.
Ich habe mal für eigene Test auf meiner SD-Karte einen Ordner für TXTsounds angelegt und auf den entsprechenden /rom ordner gebindet und it works. So können wir dem TXT jetzt auch eigene Töne geben. Das könnte man App-Spezifisch binden und so für jede App eigene Sounds mitliefern.

Raphael

P.S. Hat das geholfen https://github.com/ftCommunity/ftcommun ... b85089b7d6

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 18 Sep 2016, 21:45

ski7777 hat geschrieben: Ich habe mal für eigene Test auf meiner SD-Karte einen Ordner für TXTsounds angelegt und auf den entsprechenden /rom ordner gebindet und it works. So
Du kannst gerne einen Fork aufmachen, in dem Du solche Work-Around veröffentlichst. Ich persönlich bin kein Freund von solchen Basteleien und mein Ziel ist es nach wie vor, doch noch irgendeine Kooperation mit den Machern der Originalfirmware zu erreichen, um auf solche Dinge verzichten zu können.
ski7777 hat geschrieben: P.S. Hat das geholfen https://github.com/ftCommunity/ftcommun ... b85089b7d6
??? Die EHCI-Zeile ist versehentlich verloren gegangen. Habe ich eben re-aktiviert. Und der Rest ist für den 3D-Drucker und meinen eigenen Kontroller. Das hat nichts mit der Tastatur zu tun.

Wie ich schon schrieb: Um die Tastatur kümmere ich mich erstmal nicht, weil ich selbst die eh nie verwende. Das heisst natürlich nicht, dass Du nicht dem Problem auf die Spur kommen darfst.
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: Community-Firmware für den TXT

Beitrag von richard.kunze » 18 Sep 2016, 22:56

MasterOfGizmo hat geschrieben:
ski7777 hat geschrieben: P.S.: Ich kann keine W-LAN Passwörter via Tastatur eingeben (in der Gallery-App gehts auch nicht). siehe: viewtopic.php?f=8&p=26362#p26362
Stimmt, geht bei mir auch nicht mehr. Verhält sich sehr merkwürdig, Cursor-Tasten erzeugen Tilden und Returtn erzeugt ein Gleichheitszeichen. Die meisten anderen Tasten tun nichts erkennbares. "evtest" zeigt aber die richtigen Tasten an. Der Kernel hat also keine Probleme mit der Tastatur.
Ich schau es mir im mal an - seltsam ist das auf jeden Fall.

Momentan schlag ich mich noch damit rum, nach einem Upgrade des Basissystems auf Buildroot 2016.08 (wenn schon Update für ein neues Release, dann auch richtig :-)) opencv wieder ans Laufen zu bringen - aus irgendeinem Grund nennt der bei mir die (ansonsten korrekt übersetzte) Library für das Python-Modul "cv2.cpython-35m-x86_64-linux-gnu.so" statt "cv2.cpython-35m-arm-linux-gnueabihf.so" (d.h. mit dem Target-Tripel für den Buildhost im Namen statt dem fürs Target), was dazu führt dass das Python auf dem TXT cv2 nicht laden mag. Einfach umbenennen funktioniert zwar, aber ich will eigentlich schon wissen warum die Autokonfiguration für opencv (und so wie es aussieht auch nur die) auf so einen schrägen Wert kommt...

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

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 19 Sep 2016, 01:37

richard.kunze hat geschrieben: Momentan schlag ich mich noch damit rum, nach einem Upgrade des Basissystems auf Buildroot 2016.08 (wenn schon Update für ein neues Release, dann auch richtig :-)) opencv wieder ans Laufen zu bringen
So, nach langem Suchen hab ich jetzt die fehlende Einstellung für die opencv-Konfiguration gefunden und das Modul kriegt jetzt den richtigen Namen.

Ich hab das Update auf Buildroot 2016.08 eben auf Github gestellt, testet bitte auch noch mal ob damit alles immer noch funktioniert (vor allem Eure eigenen Apps).

Die nächsten Tage aktualisiere ich noch ftrobopy und baue für ssh/sudo ohne Passwort noch einen Touchscreen-Bestätigungs-Dialog. Mit etwas Glück klappt das auch noch für ein Release vor/zur Convention. Und wenn noch Zeit übrig ist schaue ich mal, warum USB-Tastaturen nicht mehr richtig funktionieren.

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

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 19 Sep 2016, 06:31

Könntest du das builden und als pre-release hochladen?
Im Moment will mein PC nicht virtualisieren und meine Linux-Maschine ist einfach viel zu schwach. (Zeit: 12-16h)

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 19 Sep 2016, 10:23

richard.kunze hat geschrieben: Ich hab das Update auf Buildroot 2016.08 eben auf Github gestellt, testet bitte auch noch mal ob damit alles immer noch funktioniert (vor allem Eure eigenen Apps).
Sehr gut. Das sind so die Dinge, die wir auch bei FT betonen müssen. Wenn FT ein Update macht, dann aktualisieren sie ja nur ein paar eigene Routinen. Wenn wir ein Update machen, dann wir die gesamte Infrastruktur auf einen aktuellen Stand gezogen. Das ist ja schon ein massiver Unterschied.
richard.kunze hat geschrieben: Die nächsten Tage aktualisiere ich noch ftrobopy und baue für ssh/sudo ohne Passwort noch einen Touchscreen-Bestätigungs-Dialog. Mit etwas Glück klappt das auch noch für ein Release vor/zur Convention. Und wenn noch Zeit übrig ist schaue ich mal, warum USB-Tastaturen nicht mehr richtig funktionieren.
Wenn Du schnelle Hilfe bei dem Bestätigunsdialog haben möchtest musst Du Dich nur melden. Was genau stellst Du Dir denn vor? Der TouchUI (also dem externen Fork meiner GUI) verpasse ich z.Zt eine echte on-screen-Tastatur, die dann keine spezielle Behandlung in der eigentlichen App mehr erfordert. Aber für ein kurzfristiges Release wird die nicht rechtzeitig kommen.

Wegen der USB-Tastatur habe ich echt keine Idee, wo das herkommen könnte. Ich habe mal meine Launcher- und Style-Sachen ge"downgraded", aber das hat nichts geändert. Riecht mir danach, als hätte sich im Qt was geändert. Aber das wurde doch nicht aktualisiert.
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: Community-Firmware für den TXT

Beitrag von ski7777 » 20 Sep 2016, 20:30

Hier im Forum wurde nun schon des öfteren gefragt "Gibt es die Anleitung auch auf deutsch?", "Kann da wirklich nichts schief laufen (oder doch)?", "Ich traue mich nicht :? ", "Ich will mich erst überzeugen", ...
Jetzt gibt es die Gelegenheit für alle diese Leute. Auf der Convention werden Richard, Thorsten und ich an einem Stand vertreten sein und dort zusammen die Community-Firmware zusammen mit ftrobopy, dem python-Modul zur Ansteuerung des TXT präsentieren. Alle interessierten Leute sind eingeladen vorbei zu kommen, um die Software im Betrieb zu sehen, zu testen und einfach Spaß damit zu haben. Wir erklären gerne, wie die Software genau arbeitet und vorallem wie ihr sie installiert. Dabei können wir euch sowohl den Bootloader freischalten, als auch die micro-SD-Karte einrichten. Um den Bootloader freizuschalten müsst ihr natürlich den TXT dabei haben, den Rest der Installation können wir euch dort genau zeigen oder ihr bringt gleich eine micro-SD-Karte mit (zu klein gibt es nicht. Die ftc-FW braucht etwa 50-60mb, somit sollte schon kleinste micro-SD-Karte reichen) und wir schreiben euch noch die drei Dateien drauf. Anschließend können wir euch zeigen:
  • TXT mit einem W-LAN-Router verbinden
  • Apps über den Store installieren (mal schauen, ob ich dort eine Notlösung zaubern kann. Mangels Internetverbindung auf der Convention wird das wohl etwas schwieriger)
  • TXT über W-LAN mit RoBoPro programmieren
  • eigene Apps installieren und deinstallieren
  • und vieles mehr...
Nutzer, die die Community-Firmware schon installiert haben und Fragen, Probleme oder Anregungen haben sind natürlich genauso eingeladen zu uns zu kommen und geholfen zu bekommen.
Gleichzeitig werden am Stand unsere Modelle ausgestellt, welche größtenteils mit der Community-Firmware gesteuert sind, und somit gute Beispiele dafür sind, was man alles aus dem TXT rausholen kann. :D

Grüße
Raphael

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

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 20 Sep 2016, 21:28

MasterOfGizmo hat geschrieben: Wenn Du schnelle Hilfe bei dem Bestätigunsdialog haben möchtest musst Du Dich nur melden. Was genau stellst Du Dir denn vor?
Au ja, das wäre klasse.

Was ich brauche ist ein Executable oder Script, dem ich einen Text als Parameter übergeben kann. Das Script zeigt dann den übergebenen Text und zwei Knöpfe für Ja/Nein an, wartet darauf dass der Benutzer auf einen der Knöpfe drückt und liefert die Entscheidung als Exitcode (0 für Ja, irgendwas anderes für Nein) zurück.

Der Plan ist, dieses Script dann in den PAM-Stacks für SSH und sudo mit passenden Fragetexten aufzurufen (per pam_exec) wenn kein Passwort gesetzt ist (wenn ein Passwort gesetzt ist, bleibt es wie gehabt beim Aufruf von pam_unix, d.h. die ganz normale Passwort-Abfrage).

Das Problem bei der Sache ist, dass der Aufruf dieses Scripts im Prinzip jederzeit passieren kann - auch dann, wenn gerade eine App oder die Original-GUI läuft. Da bin ich mir nicht so sicher wie man das vernünftig hinbekommt ohne dass sich das auf dem Screen in die Quere kommt.

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

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 20 Sep 2016, 21:33

ski7777 hat geschrieben: Apps über den Store installieren (mal schauen, ob ich dort eine Notlösung zaubern kann. Mangels Internetverbindung auf der Convention wird das wohl etwas schwieriger)
Dazu braucht man eigentlich nur ein Handy, das einen WLAN-AP aufziehen kann (die meisten Android-Geräte können das). Ein TXT mit Community-Firmware kann sich da dann ganz einfach einbuchen :-)

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

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 20 Sep 2016, 21:48

Den Store werde ich wohl eher auf den Laptop klonen und einen Webserver aufziehen. Anschließend spiele ich auf den TXT eine modifizierte Version des Stores auf den TXT auf, welcher statt von Github einfach vom Laptop zieht.

Für das sudo-Zeugs kam mir folgende Idee:
Nach dem Motto man kann alles umleiten, einfach den Touchscreen und den Framebuffer im Normalfall auf irgendeinen Pfad umleiten, welche dann vom Touchstyle benutzt wird und wenn die sudo-GUI kommt einfach die bindings ändern und dann den Touchscreen direkt lesen bzw. den Framebuffer direkt schreiben.
Auch wenn ein root-Passwort gesetzt ist, wäre es gut dieses über eine spezielle sudo-GUI einzugeben, welche via PAM aufgerufen word. Dies würde einem Nutzer, welcher ein root-Passwort gesetzt hat, ein Update erleichtern.

Raphael

P.S.: Ich werde eine Update-App erst veröffentlichen, wenn das mit dem sudo-Zeugs geklärt ist.

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 21 Sep 2016, 11:34

richard.kunze hat geschrieben: Was ich brauche ist ein Executable oder Script, dem ich einen Text als Parameter übergeben kann. Das Script zeigt dann den übergebenen Text und zwei Knöpfe für Ja/Nein an, wartet darauf dass der Benutzer auf einen der Knöpfe drückt und liefert die Entscheidung als Exitcode (0 für Ja, irgendwas anderes für Nein) zurück.
Es gibt auch beim Embedded-Qt ein halbwegs komplettes Windowing-System im Hintergrund. Als kann der Launcher auch bei laufender App ein Dialogfenster öffnen. Nichts anderes ist dieser "Shutting Down"-Dialog, der ja auch jederzeit eingeblendet werden kann. Was ich gerade nicht genau weiss ist wie es mit nicht-Qt-Apps und auch der Orignal-FT-GUI ist, wenn die gerade aktiv ist.

Für mich wäre es am einfachsten, wenn ich das in den TCP-Server im launcher mit einbaue. Du würdest Dich auf Port 9000 verbinden. Dann sendest Du einen String der Art

Code: Alles auswählen

confirm Do you really want to do xyz?
und wartest auf eine Antwort. Sobald der User "ok" oder "cancel" drückt bekommst Du auf der gleichen Verbindung ein "ok" oder "cancel" im Klartext zurück geschickt und der Server schließt die Verbindung. Wäre das hilfreich?

So ganz habe ich den Use-Case aber noch nicht verstanden. Wann soll denn dieser Dialog erscheinen?

Edit: Ich hab' mal was implementiert: Wenn der launcher läuft, dann kannst Du Dich (auch vom PC aus) per "telnet txt 9000" mit dem Launcher verbinden. Dann sendest Du mal bitte ein

Code: Alles auswählen

confirm Really do this?
Dann sollte der Dialog erscheinen und wenn Du einen der Buttons drückst solltest Du die Antwort im Telnet zurück bekommen.
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: Community-Firmware für den TXT

Beitrag von richard.kunze » 21 Sep 2016, 12:22

MasterOfGizmo hat geschrieben: Was ich gerade nicht genau weiss ist wie es mit nicht-Qt-Apps und auch der Orignal-FT-GUI ist, wenn die gerade aktiv ist.
Ja, das war auch das was ich nicht wusste. Hab mich da wohl etwas unglücklich ausgedrückt.
MasterOfGizmo hat geschrieben: Für mich wäre es am einfachsten, wenn ich das in den TCP-Server im launcher mit einbaue. Du würdest Dich auf Port 9000 verbinden. Dann sendest Du einen String der Art

Code: Alles auswählen

get_confirmation "Do you really want to do xyz?"
und wartest auf eine Antwort. Sobald der User "ok" oder "cancel" drückt bekommst Du auf der gleichen Verbindung ein "ok" oder "cancel" im Klartext zurück geschickt und der Server schließt die Verbindung. Wäre das hilfreich?
Passt prima.

Eine kleine Anmerkung am Rand, wo Du den Port 9000 erwähnst: Der Launcher bindet sich aktuell an Port 9000 auf allen Interfaces. Das bedeutet, man kann den Launcher im Prinzip von überall her "fernsteuern". Ist das gewollt? Wenn nicht wäre es eventuell besser, den Launcher nur auf localhost zu binden...
MasterOfGizmo hat geschrieben: So ganz habe ich den Use-Case aber noch nicht verstanden. Wann soll denn dieser Dialog erscheinen?
Wenn man kein Passwort gesetzt hat und sich per SSH einloggen will oder "sudo" ausführt (jeweils mit passendem Text, natürlich).

Der Use-Case ist, den SSH-Login und sudo per Default etwas besser abzusichern.

Aktuell kann man auf einem TXT mit frisch installierter Community-Firmware im Prinzip jederzeit remote Rootrechte bekommen, indem man sich per SSH einloggt (geht ohne Passwort), ein Passwort für "ftc" setzt (geht ebenfalls ohne weiteres) und dann "sudo" aufruft. Der Besitzer (definiert als "derjenige, der das Ding physikalisch vor sich stehen hat und daher eh alles damit machen kann was er will") muss davon nicht unbedingt etwas mitbekommen. In Zukunft geht beim SSH-Login dann der Dialog mit der Frage "Allow SSH login for ${USERNAME} from ${REMOTE_HOST}?" (oder so ähnlich) auf, und der Login klappt nur wenn der Besitzer das erlaubt (analog für sudo).

Sobald man ein Passwort setzt, funktioniert SSH/sudo dann wieder wie gehabt und ohne Rückfrage auf dem Touchscreen.

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 21 Sep 2016, 12:51

richard.kunze hat geschrieben: Eine kleine Anmerkung am Rand, wo Du den Port 9000 erwähnst: Der Launcher bindet sich aktuell an Port 9000 auf allen Interfaces. Das bedeutet, man kann den Launcher im Prinzip von überall her "fernsteuern". Ist das gewollt?
Ich find's nicht unpraktisch und nutze das auch gerne mal. So kann man vom PC aus eine Nachricht schicken oder eine App starten. Da gibt's bestimmt noch den ein oder andern Use-Case. Wirklich was anstellen kann man ja nicht.
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: Community-Firmware für den TXT

Beitrag von ski7777 » 21 Sep 2016, 13:30

Das mit der ft-GUI werde ich später testen. Pesönlich gehe ich davon aus, dass die ft-GUI Probleme machen wird. Könnten wir nicht der ft-GUI einen eigenen Framebuffer geben, welchen wir dann einfach in einer neuen ft-GUU App (-->QT-Window) anzeigen? Dann bräuchten wir auch nicht mehr die Unterscheidung zwischen Service und Open, sondern könnten die ft-GUI dauerhaft ausführen und zum richtigen Zeitpunkt in einem QT-Window anzeigen.

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 21 Sep 2016, 21:00

Sieht doch toll aus, oder?
Bild

Alles weitere hier

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 21 Sep 2016, 21:32

ski7777 hat geschrieben:Sieht doch toll aus, oder?
Finde ich tatsächlich nicht der Rede wert. Habe Deinen Bug-Report daher gleich abgelehnt. Was genau hat Dir denn nicht (oder doch?) gefallen? Die Uhr oben rechts? Die stört doch echt nicht ...

Tatsächlich gefallen mir die beiden Buttons nicht sonderlich. Die ersetzte ich ggf. noch durch zwei schlichte Icons.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Antworten