Loetkolben Geschrieben May 17, 2013 at 13:04 Geschrieben May 17, 2013 at 13:04 Wie ich mit Freude heute gelesen habe ist das Commandlineflashingtool nun offziell. Danke an Alle! Folgende Probleme/Fragen habe ich: Nach erfolgreicher installation auf einem Debian 6 (Squeeze) X-System geht es so weiter: Der Aufruf ist "python flash-brick-cli.py". OK. Dann kommt: python flash-brick-cli.py Traceback (most recent call last): File "flash-brick-cli.py", line 1, in <module> import argparse ImportError: No module named argparse Ein "apt-get install python-argparse" loest das Problem. Koenntet ihr bitte das Paket mit in die Abhaengigkeiten aufnehmen? So sollte es nun aussehen:# python flash-brick-cli.py usage: flash-brick-cli.py [-h] -p PORT -f FILE flash-brick-cli.py: error: argument -p/--port is required Wie man den richtigen Port findet kann man hier nachlesen: Re: Flashen per Commandline Problematischer wird es bei Systemen die kein X haben. Da kommt dann bei der Installation folgendes raus: # dpkg -i brickv-2.0.5_all.deb Vormals abgewähltes Paket brickv wird gewählt. (Lese Datenbank ... 27565 Dateien und Verzeichnisse sind derzeit installiert.) Entpacken von brickv (aus brickv-2.0.5_all.deb) ... dpkg: Abhängigkeitsprobleme verhindern Konfiguration von brickv: brickv hängt ab von python-qt4; aber: Paket python-qt4 ist nicht installiert. brickv hängt ab von python-qt4-gl; aber: Paket python-qt4-gl ist nicht installiert. brickv hängt ab von python-qwt5-qt4; aber: Paket python-qwt5-qt4 ist nicht installiert. brickv hängt ab von python-opengl; aber: Paket python-opengl ist nicht installiert. dpkg: Fehler beim Bearbeiten von brickv (--install): Abhängigkeitsprobleme - verbleibt unkonfiguriert Fehler traten auf beim Bearbeiten von: brickv Neben dem nicht mitinstalliertem "python-argparse", s.o., soll jede Menge qt und Grafikkrams mitinstalliert werden. Ich vermute wenn man die Pakete installiert, wird dann noch die komplette X Umgegebung nachgezogen. Das kann man doch sicher umgehen. Denn wenn ich dort X haette, braeuchte ich keine Commandlineversion. Waere es eine Loesung die Commandlineversion in ein eigenes Paket zu packen, da sie zum einen das Paket python-argparse braucht, zum anderen viele andere Pakete anscheinend nicht. Der Loetkolben Zitieren
photron Geschrieben June 5, 2013 at 09:47 Geschrieben June 5, 2013 at 09:47 Das brickv.deb ist natürlich nicht für Systeme ohne GUI gedacht, wie auch flash-brick-cli.py ist eigentlich so gedacht dass du dass zusammen mit samba.py dir irgendwohin kopiert un dann von da ausführst. Dass das im brickv.deb drin ist ist ehr unserer einfachen Art das .deb zu bauen geschuldet, und weniger einer Absicht. Ich gebe dir aber Recht, dass es natürlich hübscher wäre ein eigenes .deb für flash-brick-cli.py zu haben. Ich setze das mal auf die TODO Liste. Sorry, für die gestiftete Verwirrung und die späte Antwort. Zitieren
Loetkolben Geschrieben June 5, 2013 at 12:17 Autor Geschrieben June 5, 2013 at 12:17 Hallo phtron, alles kein Problem. Reicht es wirklich "flash-brick-cli.py" und "samba.py" rueber zu kopieren oder muessen da noch weitere Files kopiert werden? Was aber mein Anliegen im allgemeinen ist, dass ihr bitte die Abhaengigkeiten nochmals prueft und mit einbindet. Wie anderen und mir passiert, werden nicht alle benoetigten Pakete mitinstalliert. Auf jeden Fall vielen Dank fuer die Unterstuetzung. Der Loetkolben Zitieren
photron Geschrieben June 5, 2013 at 12:46 Geschrieben June 5, 2013 at 12:46 Reicht es wirklich "flash-brick-cli.py" und "samba.py" rueber zu kopieren oder muessen da noch weitere Files kopiert werden? Es reichen diese beiden Dateien plus die Pakete python-argparse und python-serial. Was aber mein Anliegen im allgemeinen ist, dass ihr bitte die Abhaengigkeiten nochmals prueft und mit einbindet. Wie anderen und mir passiert, werden nicht alle benoetigten Pakete mitinstalliert. Welche Abhängigkeiten meinst du? RouvenE fehlte python-serial, weil das in unserer Installationsanleitung nicht aufgelistet war, das ist behoben. Im brickv.deb selbst sind aber alle Abhängigkeiten richtig angegeben. Man könnte argumentieren, dass da python-argparse fehlt, wenn man flash-brick-cli.py als Teil des Pakets ansieht. Was nicht direkt so beabsichtigt war. Es wird dann ja auch noch ein eigenes .deb dafür geben, das dann python-argparse und python-serial als Abhängigkeiten haben wird. Zitieren
AuronX Geschrieben June 5, 2013 at 12:58 Geschrieben June 5, 2013 at 12:58 Es wird dann ja auch noch ein eigenes .deb dafür geben, das dann python-argparse und python-serial als Abhängigkeiten haben wird. Ich glaube genau das war es was Loeti meinte. So war das CLI-Tool zwar enthalten aber das deb hat nicht alles installiert was nötig war. Zitieren
Loetkolben Geschrieben June 5, 2013 at 13:43 Autor Geschrieben June 5, 2013 at 13:43 Im brickv.deb selbst sind aber alle Abhängigkeiten richtig angegeben. Man könnte argumentieren, dass da python-argparse fehlt, wenn man flash-brick-cli.py als Teil des Pakets ansieht. Ja, das war meine erste Bitte diese Abhaengigkeit mit aufzunehmen, so dass man auf einem GUI system auch mal die Commandline Version testen kann ohne zu raetzeln was noch fehlt. Es wird dann ja auch noch ein eigenes .deb dafür geben, das dann python-argparse und python-serial als Abhängigkeiten haben wird. Das waere mein Wunsch. - Er ist ja bereits erhoert worden. :-) Es kann ruhig ein wenig daunern, denn diese wichtige Info ist gegeben worden: "Es reichen diese beiden Dateien ("flash-brick-cli.py" und "samba.py") plus die Pakete python-argparse und python-serial." Damit kann man sich auf jeden Fall behelfen. Aus meiner Sicht ist alles gut. Danke. Der Loetkolben Zitieren
Loetkolben Geschrieben June 6, 2013 at 17:36 Autor Geschrieben June 6, 2013 at 17:36 Hallo zusammen, mir schiesst gerade eine "doofe" Frage durch den Kopf: Warum ist der Commandline Flasher nicht Teil des Brickd Paketes? Das ist doch genau die Stelle an der ich ihn brauche! Ok, historisch betrachtet wurde das Flashen immer von Viewer gemacht und deshalb kann ich die "Ist-Situtation" nachvollziehen. Der Loetkolben Zitieren
AuronX Geschrieben June 6, 2013 at 18:22 Geschrieben June 6, 2013 at 18:22 Historisch ist die korrekte Antwort: Am Anfang war der brickv mitsamt samba.py. Als ich also das Flash-Tool geschrieben habe, habe ich es zum brickv geschoben, um diese Datei nicht kopieren zu müssen (Code-Duplikation vermeiden). Wenn man es ganz genau nimmt müsste mit den einzelnen Komponenten folgendes passieren (aus einer modularen Sicht): - samba.py wandert in eine flash-library, also eine eigenständige Bibliothek um flashen zu können. Möglicherweise auch eine TFLib, für alles mögliche das mit TF zu tun hat - brickv bleibt alleine und hängt von der FlashLib/TFLib ab - flash-cli wandert in eigenes Paket und hängt ebenfalls von der FlashLib/TFLib ab (man könnte auch argumentieren, dass die flash-cli zum brickd wandert und dieser von der Lib abhängt, allerdings würde dann der neue C-brickd von Python abhängen) Zitieren
Loetkolben Geschrieben June 6, 2013 at 18:37 Autor Geschrieben June 6, 2013 at 18:37 Hallo AuronX, ich stimme Dir 100% zu. Meine Idee war nur: Soll Tinkerforge 3 Pakete machen (Brickv, brickd und brick-flash-cli) oder einfacht nur 2 Pakete (Brickv und brickd (inkl. flash-cli)) Im 2. Fall haengt der C-brickd tatsaechlich von python ab, was man ja gerade losgeworden ist. Ich wollte mit meiner Idee die Anzahl der Pakete und die damit verbundene Wartung/Fehlerquellen verringern. Ich _persoenlich_ kennen keinen Einsatz wo man den brickd ohne flash-cli braucht, denn irgendwann muss man immer mal den angeschlossenen Brick flashen. Mal sehen was Tinkerforge macht. 3 Pakete oder den Move des flash-cli in das brickd Paket. Der Loetkolben Zitieren
Loetkolben Geschrieben June 12, 2013 at 20:09 Autor Geschrieben June 12, 2013 at 20:09 Nach all den Test hier wollte ich einfach mal meine Freude ausdruecken, dass es auch an anderer Stelle funktioniert hat. - Da wo es wichtig war. 2 Knoepfe druecken, Script starten, 1 Minute warten und zittern. 100%, 100%, alles OK. Danke nochmals an alle! Um noch was sinvolles beizutragen. Es geht so unter Debian 6 Squeeze: #Brickv mit dem Commandlinescript runterladen wget http://download.tinkerforge.com/tools/brickv/linux/brickv-2.0.5_all.deb #Auspacken, NICHT installieren. dpkg -x brickv-2.0.5_all.deb brickv-ordner #Die beiden Files "flash-brick-cli.py" und "samba.py" suchen und umkopieren. #Den Rest vom Ordner "brickv-ordner" loeschen #Debian Pakete installieren falls notwendig apt-get install python python-argparse python-serial #Programm aufrufen python flash-brick-cli.py --help #Rest siehe Programmausgabe. Port ist unter Debian gerne /dev/ttyACM0 Bitte aktuelle Programmversionen nutzen. ;-) BTW: Es fehlt nur noch der Knopf, so dass man den (Master)Brick von der Ferne in den Flashmodus bekommt. Der Loetkolben. Zitieren
Loetkolben Geschrieben April 10, 2014 at 23:18 Autor Geschrieben April 10, 2014 at 23:18 Hallo zusammen, da sind wir wieder. Das Command-Line Flashing Tool kommt jetzt wieder zum Einsatz und da merkt man, dass man den brickv runterladen und dann von Hand "dpkg -ax" extrahieren muss um an die Command-Line Scripte zu kommen. Koennt ihr bitte nochmals darueber nachdenken die Scripte mit in den brickd zu packen oder ein eigenes Paket zu machen. Oder sie zumindest als *.tar separat anzubieten? Danke. Der Loetkolben Zitieren
photron Geschrieben April 11, 2014 at 12:09 Geschrieben April 11, 2014 at 12:09 Loetkolben, weil bald Ostern ist, hier ein Debian Package für dich zum Testen brick-flash-cmd -p /dev/ttyACM0 -f brick_master_firmware_2_2_1.binbrick-flash-cmd-1.0.0_all.deb Zitieren
Loetkolben Geschrieben April 11, 2014 at 13:13 Autor Geschrieben April 11, 2014 at 13:13 Och ist das fein. Danke! Da das Paket im Forum ist, muss dieser Downloadbefehl benutzt werden: wget http://www.tinkerunity.org/forum/index.php?action=dlattach\;topic=1644.0\;attach=1746 -O brick-flash-cmd-1.0.0_all.deb Edit: In der Vorschau sieht die obige Zeile gut aus, innerhalb des Foreneintrages ist da viel Leerraum. Installation verlief problemlos. Es wurden keine Abhaengigkeiten (z.b. Python) erzeugt, wobei das wohl bei mir daran liegt, dass Python bereits installiert ist. Bei einem "frischen" System muss man das mal pruefen. Ist das jetzt nur noch eine Datei? Bisher waren doch immer 2 notwendig: -rw-rw-r-- 1 root root 1524 Mar 19 2013 flash-brick-cli.py -rw-rw-r-- 1 root root 16796 Sep 26 2013 samba.py Der Loetkolben Zitieren
photron Geschrieben April 11, 2014 at 13:27 Geschrieben April 11, 2014 at 13:27 brick-flash-cmd ist flash-brick-cli.py und samba.py in einem. Das Package Build Script baut brick-flash-cmd passend zusammen. Dann kann brick-flash-cmd einfach unter /usr/bin liegen ohne dass samba.py irgendwo passen liegen müsste damit Python es finden kann. Zitieren
photron Geschrieben April 30, 2014 at 12:43 Geschrieben April 30, 2014 at 12:43 brick-flash-cmd hat es jetzt auch in die Dokumentation geschafft: http://www.tinkerforge.com/de/doc/Software/Brickv.html#mit-brick-flash-cmd-auf-linux Zitieren
Loetkolben Geschrieben April 30, 2014 at 15:50 Autor Geschrieben April 30, 2014 at 15:50 Hallo photron. Ich bin immer noch sehr begeistert. Danke nochmals an alle die diese Moeglichkeit auf den Weg gebracht haben! Eine kleine Idee haette ich noch. Wenn man die Info aus der Doku mit in das Script aufnehmen wuerde, muesste ich nicht immer ueberlegen wie die Schnittstellen heissen. # brick-flash-cmd usage: brick-flash-cmd [-h] -p PORT -f FILE brick-flash-cmd: error: argument -p/--port is required Typically port is /dev/ttyACM0 or /dev/ttyUSB0 Danke. Der Loetkolben Zitieren
Loetkolben Geschrieben August 31, 2016 at 21:37 Autor Geschrieben August 31, 2016 at 21:37 Hach ist das schoen. Ich habe gerade mal wieder die Bricks an einem Linuxkaestchen (Cubietruck) per "brick-flash-cmd" geflasht. Hat einwandfrei funktioniert. Leider muss man aber noch umstecken wenn man 2 Masterbricks hat, aber man muss den Stack nicht abbauen und zum PC bringen. Und vielleicht gibt es auch noch mal ein Remote-Update-Masterbrick 3.0 Der Loetkolben Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.