Jump to content

[Eingebaut] Featurerequest Brickviewer: Mehr Hosts in Dropdownliste


Recommended Posts

Hallo Tinkerforgeteam,

 

ich denke es kommen nun bald ueberarbeitete Werkzeuge und da haette ich die Bitte die Dropdown Liste mit den Hosts auf 10 zu erweitern.

 

BTW: Vielleicht koennte man die Portangaben auch auf eine Dropdownliste mit 3 oder 5 Eintraegen umstellen? Oder man laesst die Portliste gleich ganz weg und kann mit ":" den Port in der Hostliste mit anfuegen.

 

Danke. :-)

 

Der Loetkolben

Link zu diesem Kommentar
Share on other sites

Wenn das mitblättert was ist dann mit den 3 Checkboxen für Authentication? Blättern die auch mit, oder sind die dann wieder global?

 

Und ganz so einfach ist das dann auch nicht, das erfordert, das GUI zu ändern, die interne Speicherlogik zu ändern, was ist mit Abwärtskompatibilität und Update von einer Version die das alte Speicherformat nutzt auf eine die das neue nutzt? Das muss alles bedacht werden.

 

Außerdem denke ich das es von der Benutzung her komisch ist, wenn das Scret mitblättert. Dann müsste man doch eher ein ordentliche Host Add/Edit/Remove haben, das dann aber doch etwas übertrieben ist für den Zweck des Brick Viewers.

Link zu diesem Kommentar
Share on other sites

Hallo photron,

 

ich wollte die Liste doch nur auf 10 erweitert haben. Da wusste ich doch nicht, dass die Authentication hinzukommt.  :'(

 

Mal ernsthaft: Deine Argumente sind schon richtig. Um einen Kompromiss vorzuschlagen wuerde ich einfach alle Paramter mitblaettern, da man zu den verschiedenen Stacks vielleicht auch verschiedenen Passwoerter hat.

 

Wenn man verschiedene Stacks mit dem gleichen Passwort hat muss man das nur einmal eintragen und gut ist.

 

Eine "Host Add/Edit/Remove" kostet viel Programmierzeit die woanders sinnvoller eingesetzt werden kann?

 

Der Loetkolben

Link zu diesem Kommentar
Share on other sites

Danke photron!

 

Zum Testen also einmal brickv aus den git Sourcen besorgen.

 

Was auch immer damit gemeint ist, unter Windows komme ich damit nicht klar.  :)  Unter Debian muessten doch die Files direkt funktionieren? - Keine Hektik, in den naechsten 2 Tagen ist Dortmund angesagt.  ;D

 

 

Der Loetkolben.

Link zu diesem Kommentar
Share on other sites

Loetkolben, brickv ist reines Python. Wenn du ein Python und die Abhängigkeite für brickv installiert hast kannst du einfach den brickv direkt aus dem Source Code ausführen. Der Source Code liegt auf GitHub:

 

https://github.com/Tinkerforge/brickv

 

Von dort kannst du ihn mit dem git Tool abholen oder direkt als ZIP herunterladen.

 

Okay, Ich hab jetzt eingebaut, dass "Port", "Use Authentication", "Secret" und "Remember Secret" per Host verwaltet und gespeichert werden. Ist im git. Zum Testen also einmal brickv aus den git Sourcen besorgen.

 

Das sollte so interpretiert werden: Es ist eingebaut, wer es jetzt testen will, muss sich den aktuellen Source Code aus dem git besorgen, da ich mir die Arbeit sparen will für diese Testversion einmal alle Installer zu bauen :)

 

 

Link zu diesem Kommentar
Share on other sites

Hallo photron,

 

danke fuer die Info, aber unter Windows? Das Zip File vom github enthaelt die *.py files die man unter Linux ins Verzeichnis kopieren kann und dann sollte das gehen. Aber wie bereits oben geschrieben verstehe ich die Vorgehensweise unter Windows nicht?

 

Unter "C:\Programmme\Tinkerforge\Brickv" gibt es bei mir nur ein "main.exe" mit ca. 7MB und jede Mange *.pyd files. Das muss doch durch einen Compiler gelaufen sein?

 

BTW: Ich brauche die neue Version NICHT dringend. Bitte deshalb keinen Aufwand machen, aber mich wuerde schon interessieren wie das mit Windows funktioniert.

 

 

Der Loetkolben

Link zu diesem Kommentar
Share on other sites

Unter Windows nutzen wir py2exe, damit kann man den Python Interpreter, die Python Scripte und die Bibliotheken in eine .exe Datei (plus .pyd Dateien) verpacken. Dann kann man das ganz normal an die Nutzer verteilen ohne das diese Python installiert haben müssten. py2exe ist also ein Art Python "Compiler" wenn du so willst.

 

Wenn du jetzt die .py Dateien aus git unter Windows nutzen willst muss du dir erst Python installieren und die benötigten Bibliotheken (primär PyQt).

 

Übrigens ist das unter Mac OS X ähnlich wie unter Windows, dort nutzen wir py2app, das im Prinzip das gleiche tut wie py2exe unter Windows.

Link zu diesem Kommentar
Share on other sites

Hallo photron,

 

danke die Windowsinfo. Fuer Phyton bin ich wohl (auch) zu bloed. Der Rechner hat Debian und das normale brickv Paket installiert. Funktioniert wie es soll, aber nun ...

 

Habe die Files aus dem Git besorgt und wenn ich das starten will kommt diese "lustige" Fehlermeldung.

 

user:/$ python /opt/brickv/brickv-master/src/brickv-git/main.py 
Traceback (most recent call last):
  File "/opt/brickv/brickv-master/src/brickv-git/main.py", line 49, in <module>
    from brickv import config
ImportError: No module named brickv

 

Wenn ich nun das "/opt/brickv/brickv-master/src/brick-git/" Verzeichnis nach /usr/share/brick-git/ kopiere und dann aufrufe, startet die alte (aus dem Debian Paket installierte) Version aus dem Verzeiechnis /usr/share/brickv/.  :o

 

user:/$ python /usr/share/brickv-git/main.py 
#--> Altes, bereits installiertes brickv startet

 

Sowowhl "/opt/brickv/brickv-master/src/brickv-git/" als auch "/usr/share/brickv-git" haben den gleichen Inhalt, aber das Verhalten ist anders jenachdem in welchem Verzeichnis man die "main.py" aufruft. Raff ich nicht. Wenn ich dann das original /usr/share/brickv wegloesche/wegbewege ist dann ganz Schluss.

 

Wo bitte ist da was hardcodiert? Ich denke das hat weniger was mit Tinkerforge zu tun als mit python. Irgendwo muss ein "/usr/share/brickv/" fest drinstehen.

 

Fuer Tips waere ich dankbar.

 

 

Der Loetkolben

Link zu diesem Kommentar
Share on other sites

Du machst da auch wieder Dinge die so nicht gedacht waren :)

 

Du stolperst da über das Module/Package System von Python.

 

In /usr/share/brickv/main.py bildet der brickv Teil den Namen des Packages in dem main.py und der restliche Code lebt. Genau dieser Packagename ist hier auch drin:

 

from brickv import config

 

Du hast aber den Code in brickv-git abgelegt, daher kann Python jetzt kein brickv finden, bzw. findet den Code in /usr/share/brickv.

 

Ich habe gerade dafür noch einen Workaround eingebaut, mit dem dein brickv-git Verzeichnis jetzt auch funktionieren sollte. main.py schaut sich jetzt an in welchem Verzeichnis es liegt und versucht dann den Code entsprechend von dort zu importieren.

Link zu diesem Kommentar
Share on other sites

Hinweis/Edit: Habe diesen Beitrag neu geschrieben, da zwischenzeitlich viele Erkenntnisse hinzugekommen sind. ;-)

 

Danke fuer die Unterstuetzung.

 

Es geht jetzt, aber ich musste noch die "ui_*" erstellen. Dazu muss man in jedem Verzeichnis die "build_ui.py" ausfuehren. Kommt der folgende Fehler:

$:/usr/share/brickv-git/plugin_system/plugins/dc$ ./build_ui.py
sh: 1: pyuic4: not found

 

Muss man noch das fehlende Programm "pyuic4" installieren:

 

apt-get install pyqt4-dev-tools

 

Ich jetzt nur noch rausbekommen wie man das am Anfang einmalig automatisch macht, damit man nicht in jedem Verzeichnis die dort eventuelle vorhandene "build_ui.py" einzeln aufrufen muss.  ;)

 

Edit: Siehe einen Beitrag weiter unten.

 

Auch wenn dieser QuickAddOn doppelt gemoppelt aussieht funktioniert er.  ;D

[Connection]

hosthistory2 = localhost

hosthistory0 = 192.168.2.1

hosthistory1 = 192.168.2.2

host = 192.168.2.1

port = 4224

hosthistory3 = 192.168.2.2

hostinfo0 = 192.168.2.1|4224|0|0|

hostinfo1 = 192.168.2.2|4223|1|0|

hostinfo2 = 192.168.2.3|4223|0|0|

hostinfo3 = localhost|4223|0|0|

hostinfo4 = 192.168.2.4|4223|0|0|

hostinfo5 = 192.168.2.5|4223|0|0|

hosthistory4 = 192.168.2.3

 

[Authentication]

useauthentication = False

remembersecret = False

secret =

 

Danke nochmals!

 

 

Edit: Zusatzfrage: Die aktuellesten/letzten Zugriffe in der Liste sind immer oben. Klingt eigentlich vernueftig, aber bei 8 Eintraegen koennte ich mir auch eine sortierte und damit feste Reihenfolge feststellen?!?! Schauen wir mal.  :)

 

 

Der Loetkolben

Link zu diesem Kommentar
Share on other sites

Die ui_*.py Dateien werden durch das build_all_ui.py Script in /usr/share/brickv-git generiert. Sorry, hatte sich vergessen zu erwähnen. Für weitere Details die ich potentiell vergessen habe sei auf die readme.txt verweisen :)

 

In der Config Datei siehst du die Entwicklung der Konfiguration. Erst gab es nur host und port, dann kam hosthistory<X> hinzu und die letzte Erweiterung ist hostinfo<X>. Die aktuelle Version schreibt alle diese Felder, um abwärtskompatibel zu sein und liest auch die alten Felder, wenn die neueren nicht da sind, um bei einem Versions-Update die Config Information nicht zu verlieren.

Link zu diesem Kommentar
Share on other sites

Die ui_*.py Dateien werden durch das build_all_ui.py Script in /usr/share/brickv-git generiert. Sorry, hatte sich vergessen zu erwähnen.

 

Hallo photron.

Das ist schon in Ordnung.  :)  Jetzt weiss ich wie es geht, aber leider stimmt es nicht so ganz, denn das Script liegt im Quellcodearchiv "ein Verzeichnis hoeher" und somit habe ich es nicht mit nach /usr/share/brickv-git rueberkopiert.

 

Zitat readme.txt

First you have to build the Qt .ui files, you can do this with python build_all_ui.py in src/brickv/ (note: you need pyuic4 for that). After that you should be able to start brickv from source with python main.py in the src/brickv/ directory.

 

Das File "build_all_ui.py" liegt nicht unter src/brickv/ sondern unter src/.

 

Soll heissen: Bevor man den brickv/ Baum umkopiert muss das Script gelaufen sein.

 

 

Für weitere Details die ich potentiell vergessen habe sei auf die readme.txt verweisen :)

 

Das stimmt natuerlich immer wieder, aber man muss erstmal erkennen was man daraus braucht und es dann auch noch verstehen. ...

 

Der Loetkolben

 

 

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...