Jump to content
ts555

BrickViewer - Internetverbindung über Proxy möglich?

Recommended Posts

Hallo TF Team,

 

wie verbindet sich der BrickViewer mit dem Internet (für die Suche nach Updates)?

Habe nämlich auf meinem Firmen-PC das Problem, dass keine Verbindung möglich ist. Hier müsste die Verbindung über einen Proxy erfolgen. Das scheint momentan aber nicht vorgesehen zu sein? 

Share this post


Link to post
Share on other sites

Moin,

Kannst du das ganze mit einer älteren Brick Viewer Version (2.4.6 oder älter) testen? Wir haben mit der 2.4.7 alle Verbindungen auf https umgestellt, eventuell macht das bei dir Probleme.

Share this post


Link to post
Share on other sites

Das Problem gibt es wohl schon immer. Ist auch bei älteren Versionen so. Ich glaube, dass es nicht geht, sobald die Internetverbindung des PCs über einen Proxy-Server läuft. Bei Software anderer Hersteller (Beispiel "Keysight BenchVue", siehe Screenshot) gibt es daher die Möglichkeit den Proxy-Server anzugeben. Nur damit funktioniert es dann. Wäre super, wenn es das auch für den Brick Viewer gäbe. Momentan kann ich Updates immer nur zuhause durchführen...

Beispiel_Proxy_Settings_Keysight_BenchVue.png.b1aa181ddbaf4938f1a2ffc04365b21f.png

Share this post


Link to post
Share on other sites

...als weitere mögliche Ursache käme ansonsten noch in Frage, dass die Verbindung durch eine Firewall etc. geblockt wird. Ich hätte dann aber die Möglichkeit bestimmte Adressen als sicher zu deklarieren, d.h. freischalten zu lassen. Kannst Du mir sagen, mit welcher Adresse sich der BrickViewer verbindet?

Share this post


Link to post
Share on other sites

Auf die Adresse kann ich (per Chrome/Explorer etc.) zugreifen. Es sollte also nicht daran liegen, dass der Zugriff aus dem Brick Viewer heraus geblockt wird.

 

(Durch die sehr übersichtliche Darstellung auf https://download.tinkerforge.com kann ich nun aber zumindest sehr schnell die neuesten Firmware-Files manuell herunterladen und im Brick Viewer laden  :) )

Share this post


Link to post
Share on other sites

Ich würde hier gerne mal einhaken, weil ich gerade vor dem selben Problem stehe. Mit Brick Viewer 2.3.XX konnte ich mit meiner Proxy-Konfiguration noch die Downloadserver erreichen. Der Viewer hat mir nämlich angezeigt, dass Updates für die Brick(s,lets) anstehen. Daher habe ich den Viewer zuerst upgedatet. Leider habe ich danach keinen Zugriff mehr auf den Download-Server. Weder mit Proxy-URL, noch mit statischem Proxy, noch mit Automatischer Suche des Proxys in Windows 10 (1903). Ich sehe immer nur die Blockierungen der direkten Zugriffe in der Firewall.

Die Umstellung auf https, kann dafür eigentlich nicht der Grund sein. https wird normalerweise genauso über den Proxy geleitet, wie http.

Gibt es eine Proxy-Option für den Brick Viewer?

Danke

Ulf

Share this post


Link to post
Share on other sites

Teste mal bitte diese beiden Versionen:

https://download.tinkerforge.com/_stuff/brickv_windows_2_4_11_snapshot_9857a16_http.exe

https://download.tinkerforge.com/_stuff/brickv_windows_2_4_11_snapshot_9857a16_https.exe

Die HTTP Version ist der aktuelle Entwicklungsstand mit allen https://download.tinkerforge.com URLs auf http:// geändert.

Die HTTPS Version ist der aktuelle Entwicklungsstand unverändert.

Damit sollte jetzt raus zu bekommen sein, ob es rein an HTTPS liegt.

Laut Dokumentation sollte Python automatisch einen in Windows eingestellten Proxy nutzen:

https://docs.python.org/3.7/library/urllib.request.html#urllib.request.getproxies

Share this post


Link to post
Share on other sites

Super - die HTTP Version funktioniert bei mir! Endlich kann ich die Update-Funktion wieder richtig nutzen 😃

Share this post


Link to post
Share on other sites

...naja fast. Es wird zwar eine Verbindung aufgebaut und die Firmware-Versionen auf dem Server können gelesen werden. Aber der Download an sich klappt dann noch nicht:

1255057714_2020-01-2214_31_43-Window.png.ecee19f2491ddac072157262c85e39d3.png

Share this post


Link to post
Share on other sites

ts555, du hast da noch einen anderen Bug gefunden. Du versuchst da gerade eine Co-Prozessor Bricklet Firmware auf ein nicht vorhandenes Bricklet an Port B des Master Bricks zu flashen. Das geht nicht. Das erzeugt diese falsche Fehlermeldung, da diese Situation in Brick Viewer nicht richtig behandelt wird. Ich habe das gerade für die nächste Brick Viewer Version behoben.

Wenn du da jetzt das XMC1400 Breakout Bricklet mit dessen Standard-Firmware flashen würdest, dann sollte das funktionieren.

Testet auch mal bitte diese Version:

https://download.tinkerforge.com/_stuff/brickv_windows_2_4_11_snapshot_e750b42.exe

Die zeigt beim Start jetzt eine Meldung mit der von Python erkannten Proxy Konfiguration an.

Ich vermute das bei euch beiden nur eine Proxy Konfiguration für HTTP, aber nicht für HTTPS erkannt wird und das das Problem hier ist.

Wenn ich hier testweise unter Windows 10 in den Windows Netzwerkeinstellungen als Proxy foobar.com:5544 einstelle, dann zeigt mir Brick Viewer das beim Start so an:

http: http://foobar.com:5544
https: https://foobar.com:5544
ftp: ftp://foobar.com:5544

Wenn ich aber bei der Proxy Einstellung http://foobar.com:5544 eintrage, dann kommt das in Python nur als HTTP Proxy an:

http: http://foobar.com:5544

Wie und wo ist bei euch der Proxy in Windows eingestellt?

Share this post


Link to post
Share on other sites

Danke für den Hinweis zum Bricklet Firmware-Update. Es war zwar schon ein Bricklet angeschlossen, aber der Bootstrapper, den ich selbst auf einen leeren uC geladen hatte, hatte noch Fehler. Inzwischen ist das aber behoben und das Bricklet läuft.

Ansonsten hatte ich gestern meine Beiträge zu voreilig abgeschickt! Die vermeintliche Internetverbindung hatte ich nur bekommen, da ich zu diesem Zeitpunkt per Wifi verbunden war. Mit der "normalen" LAN-Verbindung, die über den Firmen-Proxy läuft, besteht das Problem leider nach wie vor. Und zwar unabhängig davon, ob ich die http oder https Version verwende. Wenn ich "brickv_windows_2_4_11_snapshot_e750b42.exe" starte, erscheint die Meldung "No proxies found". Wie und wo der Proxy im Firmennetz konfiguriert ist, weiß ich nicht. 

Ich habe nun mal versucht, direkt in Python3 eine Internetseite aufzurufen, über folgendes Script:

import urllib.request
x = urllib.request.urlopen('https://www.google.com/')
print(x.read())

Das klappt über den Proxy natürlich ebenfalls nicht.
Es funktioniert aber tatsächlich mit folgender Lösung (Proxy manuell eingetragen):

import urllib.request as request
proxy_handler = request.ProxyHandler({'http': 'http://www.example.com:3128/'})
opener = request.build_opener(proxy_handler)
url = 'http://www.example.org'
# open the website with the opener
req = opener.open(url)
data = req.read().decode('utf8')
print(data)

(Code-Ausschnitt kopiert von: https://stackoverflow.com/questions/34576665/setting-proxy-to-urllib-request-python3)

Edited by ts555

Share this post


Link to post
Share on other sites

ts555, was ich in Python tun müsste ist klar. Ich will aber vermeiden, dass händisch tun zu müssen, da Python das automatisch kann, wenn in Windows der Proxy richtig eingestellt ist.

Bei dir scheint das aber nicht der Fall zu sein. Heißt das, dass du in jedem Programm, das sich mit dem Internet verbindet, auf deinem Firmen PC händisch den Firmen Proxy eingestellt hast?

Versuch mal in Windows den Proxy einzustellen, anstatt für jedes Programm einzeln:

Einstellungen -> Netzwerk und Internet -> Proxy -> Manuelle Proxyeinrichtung

"Proxyserver verwenden" einschalten

Adresse: www.example.com

Port: 3128

"Proxyserver nicht für lokale Adressen verwenden" einschalten

Änderungen mittels "Speichern" Knopf speichern.

Die Werte für Adresse und Port habe ich jetzt entsprechend deines Beispiels gewählt. Da musst du natürlich deine richtig Proxy Konfiguration eintragen.

Dann sollte dir das Brick Viewer beim Start auch anzeigen und die Firmware Abfrage sollte funktionieren.

Share this post


Link to post
Share on other sites

Also beispielsweise in der Arduino IDE muss ich den Proxy auch manuell eintragen. Die automatische Erkennung klappt hier nicht. Andere Programme können Updates ohne manuelle Konfiguration ausführen (z.B. LTSpice XVII). 
In den Windows 10 Einstellungen ist die Manuelle Proxyeinrichtung zwar sichtbar (inkl. voreingetragener Proxyadresse) und ich kann "Proxyserver verwenden" von Aus auf Ein umstellen. Aber der "Speichern"-Button ist praktisch ohne Funktion. D.h. nach dem erneuten Öffnen des Menüs sind alle Einstellungen wieder zurückgesetzt (trotz Admin-Rechten)....   

Share this post


Link to post
Share on other sites

Dann leg mal bitte die Umgebungsvariable HTTPS_PROXY mit dem Wert www.example.com:3128 (natürlich angepasst auf deinen Proxy) an. Wenn du Brick Viewer startest sollte er dir das als Proxy Einstellung anzeigen.

Share this post


Link to post
Share on other sites

Ok - mit der gesetzten Umgebungsvariable HTTPS_PROXY klappt es. Die Proxy-Einstellungen werden beim Start des Brick Viewer angezeigt und die Internetverbindung läuft! 🙂 

Edited by ts555

Share this post


Link to post
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...