Community-Firmware für den TXT

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 02 Mär 2016, 12:22

Vielleicht sollten wir in Absprache mit ft eine Datei setzten, die der update.SH von ft signalisiert, dass di ftc Fimware installiert ist.

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 » 02 Mär 2016, 12:29

ski7777 hat geschrieben:Vielleicht sollten wir in Absprache mit ft eine Datei setzten, die der update.SH von ft signalisiert, dass di ftc Fimware installiert ist.
Brauchen wir nicht.

Das Update per RoboPro wird schlicht schon daran scheitern, dass der Standard-Benutzer für SSH nicht "ROBOPro" heißt und dass wir das von RoboPro fürs Update benötigte "Root-Password-Gebastel" (wie MoG das so schön genannt hat) nicht implementieren.

Der Rest ist dann einfach ein Eintrag in irgendeiner FAQ, was man macht wenn RoboPro meldet dass es ein Update einspielen will aber nicht kann: "SD-Karte rausnehmen und neu booten".

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 02 Mär 2016, 12:32

Habe mal das vorgefüllte board/knobloch/TXT/rootfs wieder eingeführt und das ft-logo sowie eine Default-Webseite reingelegt.

Über die Environment-Variable FTC_TXT_CUSTOM kann man optional auf einen Pfad für eigene Dateien verweisen, die ebenfalls mit rein sollen. Da kann man dann z.B. seine eigene WLAN-Konfig oder andere Voreinstellungen reinlegen und dann muss man nach dem Neubauen des rootfs nicht immer manuell seine Einstellungen neu vornehmen.
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 » 02 Mär 2016, 12:34

Sollten wir vielleicht als boot-Screen das ftc Logo nehmen und eure Namen als Hauptentwickler nennen (Richard und MoG).

Raphael

P.s. sollte ich jemanden vergessen, tut mir das leid, aber die beiden setzten sich hier sehr ein und schreiben auch am meisten.

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 » 02 Mär 2016, 12:57

ski7777 hat geschrieben:Sollten wir vielleicht als boot-Screen das ftc Logo nehmen und eure Namen als Hauptentwickler nennen (Richard und MoG).
Ich denke eher nicht.

Der original-Bootscreen mit dem Zusatz "community edition" passt schon ganz gut - schließlich ist das Ding nach wie vor ein "ROBOTICS TXT Controller".

Und wer sich dafür interessiert wer da dran wie viel mitbastelt, der kriegt das auf GitHub in aller Ausführlichkeit in den commit-Messages erzählt.

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 » 02 Mär 2016, 13:09

MasterOfGizmo hat geschrieben:Habe mal das vorgefüllte board/knobloch/TXT/rootfs wieder eingeführt und das ft-logo sowie eine Default-Webseite reingelegt.

Über die Environment-Variable FTC_TXT_CUSTOM kann man optional auf einen Pfad für eigene Dateien verweisen, die ebenfalls mit rein sollen. Da kann man dann z.B. seine eigene WLAN-Konfig oder andere Voreinstellungen reinlegen und dann muss man nach dem Neubauen des rootfs nicht immer manuell seine Einstellungen neu vornehmen.
Ich hatte parallel ein rootfs-overlay angelegt (für die Netzwerk-Konfiguration). Ich werd das aber auch nach rootfs umziehen - die Idee mit FTC_TXT_CUSTOM finde ich gut.

Übrigens, hast Du eine Ahnung wie man in Buildroot am besten Module beim Booten laden kann? /etc/modules funktioniert nicht, und extra dafür ein Startscript nach /etc/init.d kippen ist eher unelegant...

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 02 Mär 2016, 13:46

richard.kunze hat geschrieben: Ich denke eher nicht.
Nö, von mir aus auch eher nicht.
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: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 02 Mär 2016, 13:51

richard.kunze hat geschrieben: Übrigens, hast Du eine Ahnung wie man in Buildroot am besten Module beim Booten laden kann? /etc/modules funktioniert nicht, und extra dafür ein Startscript nach /etc/init.d kippen ist eher unelegant...
Hier antwortet einer, der es wissen sollte: http://buildroot-busybox.2317881.n4.nab ... 47148.html

Was für Module sind es denn? Ist die HW dahinter in udev erkennbar? Meinst Du den usb-gadget-Treiber?

Ansonsten muss man sich wohl doch ein Startscript basteln, dass die /etc/modules parst. Wäre ja auch nicht soooo hässlich ...
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 » 02 Mär 2016, 14:42

MasterOfGizmo hat geschrieben: Hier antwortet einer, der es wissen sollte: http://buildroot-busybox.2317881.n4.nab ... 47148.html
Hmm, dann wird man wohl selbst basteln müssen.
MasterOfGizmo hat geschrieben: Was für Module sind es denn? Ist die HW dahinter in udev erkennbar? Meinst Du den usb-gadget-Treiber?
Ja, ich meine den Gadget-Treiber, bzw. speziell "g_ether".
MasterOfGizmo hat geschrieben: Ansonsten muss man sich wohl doch ein Startscript basteln, dass die /etc/modules parst. Wäre ja auch nicht soooo hässlich ...
Darauf wirds wohl rauslaufen. Oder eventuell was in /etc/network/if-pre-up.d - mal sehen was weniger hässlich ist

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 02 Mär 2016, 16:25

richard.kunze hat geschrieben: Oder eventuell was in /etc/network/if-pre-up.d - mal sehen was weniger hässlich ist
Das finde ich sogar recht unhässlich. Dann wird das Modul genau dann geladen, wenn das Netzwerksetup ihn braucht.

Genau so lade ich auch den wpa_supplicant für wlan0. Allerdings wäre es da in der Tat wohl besser, den früher zu starten, damit mehr Zeit fürs Verbindungssetup bleibt bevor Netzwerk gestartet wird, so dass der udhcp dann sofort eine Antwort bekommt. So dauert's halt ein paar Versuche länger.
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 » 02 Mär 2016, 18:02

MasterOfGizmo hat geschrieben: Das finde ich sogar recht unhässlich. Dann wird das Modul genau dann geladen, wenn das Netzwerksetup ihn braucht.
Ist jetzt sogar noch etwas simpler, ich lade das Modul einfach per pre-up direkt in /etc/interfaces

Für eine alpha-test-fähige Version fehlt jetzt eigentlich nur noch ein eigener Standard-Benutzer der per sudo auch als root arbeiten darf - ziehst Du das noch aus Deinem Fork nach ftCommunity/ftcommunity-TXT rüber oder lege ich da einen neuen an?

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 02 Mär 2016, 22:42

Ich dachte Du redest eh von pre-up in network/interfaces. Genau so mache ich es ja die ganze Zeit schon mit wpa_supplicant.

Mein fork ist etwas hinter her. Einen echten User hatte ich eh nicht angelegt, nur etwas planlos in der User.tab rumeditiert. Der Fork war vor allem für den Knobloch-Fischertechnik-Uebergang. Ich denke das mache ich demnächst auf dem master. Sind ja nur ein paar Stellen und die DTB würde ich so lassen wie sie ist. Also leg Du ruhig einen User an.

Ich kümmere mich derweil ein wenig um TFT und Touchpanel. Der Splash-Screen geht schon wieder, nun schaue ich mal, dass ich eine einfache qt-App nach dem Booten starte. Der kleine Touchscreen reicht nicht für eine onscreen-Tastatur. Dafür ist das Touchpanel viel zu ungenau ... Grummel ...

Und ntp per default wäre m.E. auch cool.
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: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 03 Mär 2016, 21:31

Jetzt auch mit eigener GUI!

Nachdem QT so problemlos zum Laufen zu bekommen war habe ich mal eine kleine GUI-Demo gebaut. Vor allem habe ich mal ein paar Minuten investiert, um ein "TXT-Theme" anzufangen. Damit lässt sich eine normale QT-Anwendung ohne Änderungen mit schön großen klaren Buttons im Stil des Splashscreens machen:

Bild

Bild

Das ganze ist auch bedienbar, die Buttons lassen sich drücken, in der Combobox lässt sich ein Entry auswählen.

Noch ist das ganze ein C++-Programm (allerdings nur ein halber Bildschirm Code). Aber ich schaue mal, ob ich da nicht eine Python-Version für unsere Script-Kiddies draus machen kann :D

Der alte Splash-Screen ist auch wieder da, mit leicht gepimpter Grafik.

Und es startet nun auch automatisch ein Web-Server und ein NTP-Client, Ersterer wäre dann die Basis für Snap und Co. Und letzterer sorgt dafür, dass der TXT sich selbst die Uhrzeit aus dem Internet holt und man die Uhr nicht mehr stellen muss.

So langsam bräuchten wir dann tatsächlich mal Zugriff auf den M3, um mit den ganzen GUIs auch was zu steuern.
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 » 03 Mär 2016, 22:34

MasterOfGizmo hat geschrieben:Jetzt auch mit eigener GUI!
Cool :D

Ich bin gerade noch dabei, die Defaultbenutzer einzurichten. Aktuell hab ich das so gemacht:
  • "ROBOPro" bleibt drin (damit was vernünftiges angezeigt wird wenn man ls -l /rom/opt/knobloch macht), wird aber deaktiviert.
  • Neuer Standardbenutzer ist "ftc" ("ftcommunity" war mir zu lang). Per default hat "ftc" kein Passwort.
  • SSH wird umkonfiguriert, um Logins mit leerem Passwort zu erlauben
  • Root-Login ist deaktiviert
  • "ftc" darf per sudo alles, aber erst nachdem ein Passwort für "ftc" gesetzt wurde.
Das ist denke ich ein akzeptabler Kompromiss zwischen Sicherheit und Bequemlichkeit.

Ich bin gerade dabei, die Firmware nochmal komplett neu zu bauen und zu testen. Wenn das dann läuft (und keiner hier laut schreit dass das Setup so wie vorgeschlagen völliger Irrsinn ist ;)) dann stelle ich das plus eine Anleitung (im README) auf GitHub.
MasterOfGizmo hat geschrieben:So langsam bräuchten wir dann tatsächlich mal Zugriff auf den M3, um mit den ganzen GUIs auch was zu steuern.
Die indirekte Variante (Original-Firmware read-only einbinden und /opt/knobloch/TxTcontrolMain laufen lassen) steht bei mir als zweiter Punkt auf dem Zettel.

Erster Punkt ist erstmal den Kernel fertig zu kriegen - da fehlt noch (mindestens) Bluetooth und Poweroff/Reboot (reboot startet aktuell zwar durch, aber dann bleibt u-boot bei der Initialisierung hängen und man muss den Stecker ziehen), und das Sound-Subsystem ist auch noch nicht getestet. Außerdem wollte ich noch IPv6 aktivieren - das gehört auf netzwerkfähige Geräte heutzutage einfach mit drauf.

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

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 04 Mär 2016, 06:57

Das hört sich ja grandios an. So engagiert, wie ihr dabei seit, denke ich, dass die wesentlichen Bestandteile sogar schon diesen WE fertig werden. Vielleicht könnt ihr mir schon mal erklären, wie ich u-boot umkonfiguriere. [EDIT]NICHT MACHEN ZERSTÖRUNGSGEFAHR
Der Bösewicht ski7777 hat geschrieben:Dann könnte ich das schnell mal testen, indem ich die Sd-Karte vom Pi einlegen(Ich denke, dass das nicht durchbooten wird, aber den Raspbian Splash oder so werde ich bekommen).
NICHT MACHEN ZERSTÖRUNGSGEFAHR[EDIT]
Vielleicht könnt ihr eine fertige IMG-Datei bereitstellen, die man direkt auf die Karte Flaschen kann?

Raphael

[EDIT] Denkfehler makiert
Zuletzt geändert von ski7777 am 05 Mär 2016, 12:08, insgesamt 2-mal geändert.

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 » 04 Mär 2016, 07:25

ski7777 hat geschrieben:Vielleicht könnt ihr mir schon mal erklären, wie ich u-boot umkonfiguriere.
Steht seit heute Nacht zusammen mit der Anleitung wie Du die Firmware baust und auf die SD-Karte bekommst im README.md auf Github (https://github.com/ftCommunity/ftcommunity-TXT).
ski7777 hat geschrieben:Vielleicht könnt ihr eine fertige IMG-Datei bereitstellen, die man direkt auf die Karte Flaschen kann?
Sobald man mit der Firmware auch was vernünftiges anfangen kann.

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 04 Mär 2016, 12:06

ski7777 hat geschrieben:Ich denke, dass das nicht durchbooten wird, aber den Raspbian Splash oder so werde ich bekommen
Äh ... was? Nee, der TXT wird nicht einfach einen Rasp-Pi-Kernel booten. Du brauchst schon ein TXT-Image. damit überhaupt irgendwas passiert.

Da ist für reine User zur Zeit echt nicht viel zu sehen. Weder ROBOPro geht damit noch kann er irgendeinen der Ein- oder Ausgänge ansteuern. Du kannst bestenfalls auf ein paar Buttons rumdrücken, die dann aber keine Funktion haben oder über USB-Net eine fast leere Webseite angucken.

Ich denke, dass ich heute noch dazu komme meine kleine Demo-GUI auf Python umzustellen. Dann wäre das eine Baustelle, wo recht bald eher auch nicht-Kernel-Hacker beitragen können. Aber zur Zeit haben wir wenig, was man damit bedienen könnte. Das kommt, wenn Richard Teile der alten TXT-Infrastruktur reaktiviert.
Zuletzt geändert von MasterOfGizmo am 04 Mär 2016, 12:17, 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 » 04 Mär 2016, 12:11

Ich denke schon, dass er reagieren wird und ein Kernel Panic liefert. Aber es geht mir dort nur um den Test des u-boot.

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 04 Mär 2016, 12:22

ski7777 hat geschrieben:Ich denke schon, dass er reagieren wird und ein Kernel Panic liefert
Selbst dafür muss schon sehr viel funktionieren. Der Kernel muss z.B. CPU und SDRAM initialisiert haben und die serielle Schnittstelle muss funktionieren. Ich bin da eher skeptisch, dass da überhaupt irgendwas passiert.
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: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 04 Mär 2016, 20:05

So, die GUI sieht zwar immernoch genau aus wie gestern. Sie ist diesmal aber python-basiert. Heisst im Klartext, dass da in Zukunft jeder problemlos dran rumeditieren kann.

Außerdem wäre es wohl an der Zeit für ein cooles GUI-Konzept. Mit QT geht was das angeht praktisch alles und der Code läuft 1:1 auch auf dem Desktop-PC, so dass man sehr bequem entwickeln kann. Wen's interessiert: Alles woraus die GUI besteht liegt unter https://github.com/ftCommunity/ftcommun ... fs/opt/ftc

P.S.: Der Python-Code ist ein schneller Hack. Das wird noch aufgeräumt und schöner gemacht ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Antworten