Sie sind nicht angemeldet.

Werbung

Boote kaufen

Windstärken

Windstärkentabelle

Hallo Besucher, willkommen im Segeln-Forum! Hier kannst Du Dich registrieren, um unser Forum in seiner vollen Pracht genießen zu können! - Weitere Infos zur Registrierung - Login für Mitglieder -

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

321

Montag, 8. Oktober 2018, 22:34

@all:

Hier noch ein paar Bilder vom Nachtmodus. Dann habe ich auch mal das Timing des ESP8266-Webservers mit der Web-Console des Firefox näher untersucht. Da sieht man ganz gut, dass erst die Webseite geladen wird und dann die Cascading Style Sheets (CSS) für die Seitengestaltung. Das eigentliche Laden der Dokumente dauert 14 ms bzw. 16 ms. Dazwischen gibt es eine größere Pause wo die Firmware des ESP8266 die Netzwerkaktivitäten verarbeiten muss. Die ganze Übertragung ist dann nach 341 ms abgeschlossen. Das erklärt dann auch ganz gut, warum man nur 2 Clients bedienen kann, wenn die Updaterate des Anzeigeinstrumentes bei 1Hz liegt.

Bei JSON sollte es dann noch zügiger gehen, da das Laden der CSS entfällt. Alternativ könnte man die CSS direkt in die Webseiten mit einbauen. Dann sollte es noch etwas schneller gehen. Hier wird schon recht deutlich, warum man mit dem ESP8266 keine großen Webseiten stemmen kann. Da muss man mit den Resourcen sehr sparsam umgehen und einige Tricks anwenden. Das Carbon-Muster im Hintergrund ist übrigens kein Bild und wird vollständig über CSS gerendert, was sehr sparsam ist und optisch gut rüberkommt. Grundsätzlich kann man alle Seiten einheitlich über CSS gestalten. Da gibt es tolle Gestaltungsmöglichkeiten für alles mögliche im Internet. Ich werde noch einen hellen Style für alle Seiten anlegen, damit das Tablett in der Sonne nicht wegbrät bei dem dunklen Hintergrund. Das ist dann vielleicht doch nicht so passig für alle Situationen.

Norbert
»norbert-walter« hat folgende Dateien angehängt:
  • Main_Night.png (48,54 kB - 23 mal heruntergeladen - zuletzt: 22. November 2018, 12:03)
  • Instrument_Night.png (64,08 kB - 22 mal heruntergeladen - zuletzt: 28. November 2018, 00:04)
  • Netzwerkanalyse.png (55,15 kB - 21 mal heruntergeladen - zuletzt: 28. November 2018, 00:04)
  • Timing_MainPage.png (72,31 kB - 20 mal heruntergeladen - zuletzt: 28. November 2018, 00:04)
  • Timing_CSS.png (71,76 kB - 20 mal heruntergeladen - zuletzt: 28. November 2018, 00:04)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »norbert-walter« (8. Oktober 2018, 22:49)


norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

322

Freitag, 12. Oktober 2018, 10:30

@all:

So, ich habe die Webkonfiguration noch etwas weiter ausgebaut und geschwindigkeitsmäßig optimiert. Wer möchte kann unter folgendem Link:

http://t1p.de/windsensor

die Webkonfiguration im Demomode aufrufen und selber mal die Funktionalität testen. Alternativ kann man auch den QR-Code benutzen. Momentan wird die Instrumentenanzeige noch gepollt und es kann je nach Browser zu Rucklern beim Anzeigen kommen. Die Webseiten laufen direkt auf dem ESP8266 bei mir zu Hause und werden ins Internet weitergeleitet. Die Performance bei einer guten Internetverbindung ist so wie sie später auch sein wird, da die Zielhardware die selbe ist. Über Mobile- Internet kann es je nach Übertragungsgeschwindigkeit zu Beeinträchtigungen kommen.

Der Webserver kann jetzt nach der Webseitenoptimierung ca. 4 Clients parallel bedienen ohne merkliche Beeinträchtigungen. Wenn jetzt alle gleichzeitig Testen wollen, dann gibts wohl Probleme ;( . Dann bitte einfach etwas später noch einmal versuchen.

Testet bitte mal die Funktionalität auf verschieden Geräten wie:

* Handys
* Tabletts
* Laptop, PC
* Verschiedene Browser
* Verschiedenen Betriebssysteme (Android, Apple, Windows, Linux)

und gebt mir Rückmeldung wenn was nicht geht oder was verbessert werden sollte.

Norbert

PS: Es kann sein, dass wenn mehrere gleichzeitig die Webkonfiguration bedienen, dass sich der Style ändert, wenn jemand anderes den Style verändert hat. Das ist eigentlich ganz praktisch. wenn mam mehrere Angeigegeräte benutzt. Dann kann man an einem Gerät den Style umstellen und auf allen anderen Anzeigegeräten ändert sich der Style dann auch. Das ist nur hier etwas unpraktisch, da man sich gegenseitig den Style verändern kann.

Die kommenden Tage werde ich regelmäßig noch einige Änderungen vornehmen. Es kann dann sein, dass die Webseite nicht verfügbar ist. Dann etwas später noch einmal den Zugang testen.
»norbert-walter« hat folgende Datei angehängt:
  • QR-Code.png (1,02 kB - 478 mal heruntergeladen - zuletzt: 10. Dezember 2018, 09:48)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »norbert-walter« (12. Oktober 2018, 14:05)


NoStress

Matrose

Beiträge: 68

Wohnort: SU

Bootstyp: Victoire 26 / Laser II

Heimathafen: Volendam NL

  • Nachricht senden

323

Montag, 15. Oktober 2018, 13:19

Hallo Norbert,
mein Feedback nach kurzem Durchlauf durch die Screens auf meinem Androidhandy (FF, 5.8", 1920x1024px)
  • Performance ist aus meiner Sicht ausgezeichnet
  • allg Layout:
    Die Seitenüberschriften und den copyright-Vermerk entweder als Footer ausgeben oder
    die relevante Anzeige direkt über einen tag anspringen (um die Notwendigkeit des sofortigen Runterscrollens zu vermeiden)
    Bei Queranzeige könnte die Buttonliste zumindest zweispaltig ausgegeben werden
    Die Inputfields, Dropdownlists usw. sind im sehr schönen Nachtmodus weiß - können diese nicht auch erröten?
  • Windsensor Instrument:
    Was besagt die Anzeige Selection 0, 1 ?
    Die Bezeichnung deg könnte man konsistent zum Wertescreen durch ° ersetzen
    Die Windspeed-Anzeigeeinheit ist unabhängig von den Settings immer kn
    Zwischen der letzten Ziffer und der Einheitenbezeichnung ein Blank setzen
  • Windsensor Values
    Anzeige unabhängig von den Settings immer in km/h
  • Device Informations
    Ist auch eine Anzeige der raw data (debug mode)vorgesehen, oder macht man das besser in OP o.ä.?
  • Display Settings
    möglicherweise funktioniert das nicht wie das Original, da es hier ja ein Demomodus ist und einige Einstellungen aus Sicherheit deaktiviert sein müssen.
    Ich finde allerdings kein Cookie, das sich die sitzungsabhängigen Einstellungen merkt - passiert das serverseitig?
    das Setzen der Instruments Size wirkt sich aus, nicht aber z.B. Speed Unit
    bei neuerlichem Aufruf des Screens sind die Werte (z.B. I. Size wieder auf initialer Einstellung)
Insgesamt ist der Eindruck toll - ich kann's kaum erwarten, dass der Bausatz kommt
Viele Grüße
Michael

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

324

Dienstag, 16. Oktober 2018, 10:31

@NoStress:

Vielen Dank für Deine Anmerkungen und den Test. Hier kurz meine Antworten:

* allg Layout
Die Buttons auf dem Startbildschirm werde ich zweispaltig ausführen, so dass mehr Platz ist und man nicht scrollen muss.
In der Drop-Down-Liste habe ich die Felder absichtlich weiß gelassen, da der Kontrast besser ist. Mit rot war es zu flau. Im Grunde genommen benutzt man die Konfigurationsseiten ja nur sehr selten, wenn man alles eingestellt hat. Wenn jetzt alle rote Hintergrundfelder möchten, dann würde ich das auch machen.

* Windsensor Instrument
Selection 0 und 1 ist ein Überbleibsel vom Testmode wo ich prüfen kann wie viele Parameter der Webseite übergeben werden. Das werde ich noch entfernen.
Die Einheiten in der Windanzeige werden noch nicht vollständig übernommen. Das muss ich noch machen und wird dann so sein wie es soll.
Der Blank zw. der Zahl und der Einheit kostet sehr viel Platz bei größeren Gradzahlen. Ich würde die Einheit lieber dicht dran stehen lassen wollen. Ich kann das aber auch mal anders machen und zum Test bereitstellen. Leider wird das °-Zeichen nicht richtig dargestellt und ich musste deg verwenden. Das liegt vermutlich am verwendeten Zeichensatz. Ich muss noch einmal schauen, ob man das korrigieren kann. Mir wäre das °-Zeichen lieber.

*Windsensor Values
Die Einheit muss ebenfalls noch übernommen werden

*Device Informations
Raw Data könnte man auch noch ausgeben wenn es gewünscht ist. Dann würde ich ein Textfenster hinzufügen wo die letzen 5 Telegramme angezeigt werden. Ansonsten kann man das über OpenPlotter oder OpenCPN machen oder man dockt sich per Telnet an den Port 6666. Das ginge auch.

*Display Settings
Zur Einstellung der Instrumentgröße ändert man die Größe und geht dann auf senden. Danach wechselt man zum Instrument. Dann sollte die neue Größe angezeigt werden. Einen Cookie kann ich nicht verwenden, da der Webserver das nicht unterstützt. Die Einstellung gilt gleichermaßen für alle Geräte die am Windsensor angedockt sind. Das scheint nicht ganz so gut zu sein, wenn man verschiedene Geräte mit unterschiedlichen Displaygrößen verwendet. Ich könnte das auch mit JavaScript auf der Clientseite lösen. Dann könnte man auf jedem Gerät die Einstellung unabhängig voneinander vornehmen. Die Einstellung gilt dann aber nur für die aktuelle Sitzung und muss beim nächten Mal wieder neu gesetzt werden. Dann würde ich das Setzen der Größe direkt in die Instrument-Seite einbauen. Das wäre auch noch praktikabel.

Die Voreinstellungen der Settings springen leider momentan beim Wiederaufrufen der Seite auf Defaultwerte. Das werde ich noch so umbauen, dass die zuletzt gesetzten Werte angezeigt werden. Das ist sonst ziemlich unpraktisch. Da hast Du recht.

*Weiter Add-Ons
Mir ist es jetzt endlich gelungen das Polling zu vermeiden. Die Anzeigewerte werden jetzt über JSON und JavaScript aktualisiert. So entfällt dann das lästige rumruckeln beim Aktualisieren und ist wesentlich flotter. Über die JSON-Schnittstelle sollen zukünftig alle Informationern des Windsensors ausgegeben werden. Ich werde das so gestalten, dass man das Instrument Panel von OpenPlotter auch zur direkten Anzeige der Messwerte benutzen kann ohne dass der Windsensor in OpenPlotter eingebucht sein muss. Man wählt dann einfach eine andere Datenquelle im Instrument Panel aus.
Das schöne Canvas Steel-Instrument kann ich jetzt auch anbinden. Dazu muss aber eine externe Lib über Internet eingebunden werden, die für den ESP8266 zu groß ist.

Norbert

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »norbert-walter« (16. Oktober 2018, 11:58)


norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

325

Dienstag, 16. Oktober 2018, 13:42

@NoStress:

Habe gerade noch einmal nachgesehen. Man kann auch Cookies mit JavaScript clientseitig setzen und auslesen. Dann kann man die Größe des Anzeigeinstruments auf dem Endgerät auch dauerhaft speichern. Das ist natürlich viel komfortabler.

Norbert

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

326

Freitag, 2. November 2018, 19:05

@all:

Die Arbeiten an der Web-Konfigurationsoberfläche sind jetzt abgeschlossen. NoStress testet die Webseiten noch einmal gründlich, so dass ich sie dann mit der Messtechniksoftware verheiraten kann.

Heute habe ich mal eine App mit dem MIT App Inventor für Android erstellt. Die App läuft als WebApp und ist quasi ein rahmenloser Webbrowser und zieht die Seiten direkt vom Windsensor über das Internet, so dass die Anwendung wie eine richtige App aussieht. Im Grunde genommen wird nur die Web-Konfiguration geladen und ausgeführt. Das klappt aber echt hervorragend und der Code in App Inventor ist winzig. So kann man elegant zwei Zugangsarten zur Verfügung stellen. Die Performace ist genau so gut wie im Webbrowser. MIT App Inventor ist eine Online-Websoftware mit der man einfache Apps mit Hilfe von Scratches grafisch erstellen kann. Wer möchte, kann gerne mal eine eigene App programmieren. Im Internet findet man schöne Tutorials dazu.

Die App ist vorerst eine Beta-Version. Der Seitenaufruf liegt momentan noch auf dem Demo-Windsensor. Wer aber mal testen möchte, kann die App (*.apk) bei GitLab gerne herunterladen und installieren. Zukünftig werde ich noch eine Seite vorschalten, wo man alle ESP8266-Devices aufgelistet bekommt, falls man mehrere hat und dann eine Verbindung auswählen kann. Über die JSON-Schnittstelle ließe sich auch eine reine Android-App erstellen.

Norbert
»norbert-walter« hat folgende Dateien angehängt:

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

327

Dienstag, 13. November 2018, 21:14

@all:

Kurzer Zwischenstand: Die Softwaretests zur Web-Konfigurationsoberfläche sind abgeschlossen. @NoStress: hat mir da sehr geholfen und einige Verbesserungen angeregt. Michael hat umfangreiche Stresstests und Verträglichkeitstest durchgeführt. Vielen Dank! :thumb: Grundsätzlich gibt es keine schwerwiegenden Mängel und die Bedienoberfläche läuft insgesamt stabil. Einige Dinge sind aber noch verbesserungswürdig. Die werde ich noch einbauen und dann mit der Messsoftware alles verheiraten. Hoffentlich reicht der Speicher noch aus. Ich will da ungern was rausschmeißen müssen.

Norbert
»norbert-walter« hat folgende Datei angehängt:

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

328

Sonntag, 18. November 2018, 19:54

@all:

Es ist mir jetzt endlich gelungen das schöne Canvas Steelseries Instrument in die Web-Konfiguration einzubinden. Um das Instrument anzeigen zu können muss man als "Instrument Type" den Wert "complex" auswählen. Der Windsensor benötigt allerdings eine Internetverbindung, um die notwendige JavaScript-Bibliothek runterzuladen, da sie nicht mehr in den Speicher des ESP8266 passt. Sollte keine Internetverbindung zur Verfügung stehen, so wird automatisch das einfache Instrument geladen.

Das Canvas Steelseries Instrument musste ich noch in der Bibliothek etwas anpassen, damit beide Werte (Windrichtung, Windspeed) im Display angezeigt werden.

Wer möchte, kann gerne die Demo testen:

http://t1p.de/windsensor

Jetzt ist die Web-Konfiguration endgültig fertig und alle Dinge sind eingebaut. Der nächste Schritt wäre dann die Messsoftware einzubinden.

Norbert
»norbert-walter« hat folgende Datei angehängt:
  • windicomplex.png (68,26 kB - 10 mal heruntergeladen - zuletzt: 28. November 2018, 00:03)

chrhartz

Offizier

Beiträge: 318

Wohnort: München

Bootstyp: Neptun 20

Heimathafen: Bernau, Chiemsee

  • Nachricht senden

329

Montag, 19. November 2018, 10:49

@norbert-walter

Sehr schick!
Ich hatte bereits in Node-Red auf dem Raspberry mit den Steel-Canvas Instrumenten herumgespielt,
dort ist die Performance aber nicht so dolle.

Viele Grüße,
Christian
Neptun 20, Segelnummer 950, Honda 5BFU, Liegeplatz Bernau/Chiemsee

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

330

Montag, 19. November 2018, 13:14

@chrhartz:

Ja, die Canvas Steel Series- Instrumente sind wirklich sehr gut umgesetzt und gelungen. Von der Performance her sind sie meiner Meinung nach aber schnell genug. Gerrit Grunwald hat die Bibliothek noch etwas geshrinkt, so dass die Ladezeiten schneller sind. Die Instrumente sind optisch sehr aufwändig mit smooth laufenden Zeigern und vielen Schattierungen umgesetzt, was natürlich Rechenzeit für Rendering kostet. Die Performance hängt aber ausschließlich vom Client ab, der das Instrument anzeigen muss. Der Webbrowser im Raspi ist eher schwachbrüstig. Selbst auf meinem Mitteklasse-Handy oder meinem billigst 7" Tablett läuft das Instrument flüssig, wenn auch etwas langsamer als auf einem PC. Als Alternative gibt es ja immer noch das einfachere Instrument.

Kannst ja mal live unter dem Link testen. Selbst auf meinem 10 Jahre alten Sony EBook-Reader TR2 mit EInk-Display läuft das Instrument.

Norbert

NoStress

Matrose

Beiträge: 68

Wohnort: SU

Bootstyp: Victoire 26 / Laser II

Heimathafen: Volendam NL

  • Nachricht senden

331

Mittwoch, 21. November 2018, 07:30

Sieht ja mächtig schick aus! Und wenn man sich, schlimmstenfalls über eine hostdatei, den Link verbiegt, könnte man sicher die erforderlichen Objekte auch von einem Rechner an Bord holen, wenn man kein Internet hat.

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

332

Mittwoch, 21. November 2018, 09:40

@NoStress:

Ja, das ginge auch. Man muss aber wissen wie das geht. Für einige ist das etwas zu schwierig. Daher gibt es die Fallbacklösung mit dem einfachen Instrument. Nochmal zum besseren Verständnis für alle: In Deiner Lösung würde man auf dem Raspi die DNS Namensauflösung der Webseitenaufrufe in der host-Datei so verbiegen, dass bei einem Aufruf der GitLab-Seiten diese lokal auf den Raspi umgelenkt werden. Dann müssen sich die Bibliotheken auf dem Raspi genau so befinden wie sie bei GitLab hinterlegt sind. Wer möchte, kann sich das hier mal ansehen:

https://gitlab.com/norbertwalter67/plain…e/master/public

In der App könnte man die Bibliothek fest mit einbauen. Ich habe mir auch überlegt in der JavaScript- Bibliothek alles rauszuschmeißen was ich nicht benötige. Dort sind gut 30 verschiedene Instrumente hinterlegt. Ich nutze ja nur mein modifiziertes Wind-Instrument. Dann müsste die Bibliothek sehr klein werden und von 710 kB auf unter 50 kB kommen. Wenn man dann noch den Code shrinkt, sind es vielleicht nur noch 25 kB groß. Das würde zwar in den Speicher des ESP8266 passen. Man kann die Seite immer noch nicht richtig ausliefern bzw. muss Verrenkungen machen.

Vorerst schien mir das die beste Lösung zu sein, so wie ich das umgesetzt habe. Alternativ könnte man das Instrument auch neu coden und etwas einfacher umsetzen. In der Bibliothek ist das aber sehr schön gelöst und strukturell gut umgesetzt, so dass man das universell nutzen kann. Da muss man Gerrit Grunwald als Schöpfer der Bibliothek einen großen Dank sagen. Da werden z.B. alle statischen Dinge des Instrumentes in einen Layer-Buffer gezeichnet und abgelegt und in weiteren Layer-Buffern die dynamischen Elemente. Am Ende werden alle Layer-Buffer vereinigt und ausgegeben.

Wenn ich mehr Zeit habe, dann schaue ich mir das noch einmal an. Die Priorität liegt momentan darauf, den Code mit der Messsoftware zu verheiraten.

Norbert

chrhartz

Offizier

Beiträge: 318

Wohnort: München

Bootstyp: Neptun 20

Heimathafen: Bernau, Chiemsee

  • Nachricht senden

333

Mittwoch, 21. November 2018, 11:46

@norbert-walter

Ich finde Abhängigkeiten von Online-Verbindungen an Bord nicht gut. Was nutzen mir denn die schön designten Instrumente,
wenn ich sie ohne ständige Netzverbindung, auf See beispielsweise, nicht verwenden kann?

Meine Meinung: entweder integriert oder gar nicht.

Viele Grüße,
Christian
Neptun 20, Segelnummer 950, Honda 5BFU, Liegeplatz Bernau/Chiemsee

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

334

Mittwoch, 21. November 2018, 14:03

@chrhartz:

Ja, das verstehe ich. Das Auge isst aber mit. Daher ja auch die Fallbacklösung, falls man kein Internet hat. Mir ist da momentan nichst besseres eingefallen.

Gut, dann müsste man das Instrument komplett neu zeichnen, schön machen und so klein wie möglich umsetzen. Das kostet aber viel Zeit. Allein das einfache Instrument hat mich 3 Tage Arbeit gekostet bis ich es raus hatte wie man das macht. Bei einem komplexen Instrument wird es noch wesentlich länger dauern. Beim Zeichnen des Instrumentes werden bestimmte grafische Overlay-Techniken angewendet, die man draufhaben muss, damit es gut aussieht. Da bin ich nicht der Profi drin und müsste mich erst einarbeiten. Du kannst ja mal in die Grafik des Instrumentes reinzoomen. Da sind Unmengen grafischer Details zu finden wie:

* Lichtreflexe
* Schattenwurf
* Spiegelungen
* weich laufende Zeiger
* LCD-Anzeigen mit Schattenwurf im Zwischenglas
* Abschrägungen, Geometriestrukturen
* Oberflächentexturen
* Lichtstreueffekte

Deshalb sehen die Instrumente so realistisch aus. Die Kunst ist es, das so resourcenschonend wie mögölich umzusetzen. Es ist dann auch kein Wunder das die Bibliothek 710 kB groß ist.

Unter Github sind die Sourcen gehostet: https://github.com/HanSolo/SteelSeries-Canvas

Im Anhang habe ich mal alle Instrumente aufgelistet die es gibt.

Daher sind die meisten Instrumente für embededed Geräte sehr einfach gehalten und benutzen meistens nur geometrische Grundformen.

Norbert

PS: Und das dann in einer Android App zu realisieren wird dann ganz krampfig. :S
»norbert-walter« hat folgende Dateien angehängt:
  • Standard.png (202,49 kB - 11 mal heruntergeladen - zuletzt: 28. November 2018, 00:03)
  • Extended.png (263,33 kB - 10 mal heruntergeladen - zuletzt: 28. November 2018, 00:03)
  • Details_Instrument.png (81,69 kB - 7 mal heruntergeladen - zuletzt: 28. November 2018, 00:03)

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »norbert-walter« (21. November 2018, 14:26)


chrhartz

Offizier

Beiträge: 318

Wohnort: München

Bootstyp: Neptun 20

Heimathafen: Bernau, Chiemsee

  • Nachricht senden

335

Mittwoch, 21. November 2018, 14:39

@norbert-walter

Ja, kann ich verstehen. Mein Bruder hatte damals bei seiner Android-App Grafiken erstellt und die
als Bitmap gedreht. Wenn man jeweils die einzelnen Layer mit transparenten Hintergründen zeichnet,
geht das einigermaßen.

Wir reden jetzt aber nicht über Rechenleistung moderner Handys, da ist das natürlich kein Problem.
Auf dem Raspberry mag ich mir das lieber nicht vorstellen! :)

Die Steel-Canvas Instrumente sehen sehr gut aus, verschwenden aber auf einem 7" Display richtig
viel Platz. Der üppige "Metall"-Rand enthält ja weiter keine Information.

Sind wir nicht merkwürdig, da versuchen wir bei Displays die Spiegelungen und Schatten möglichst
zu vermeiden und bauen sie dann mit viel Arbeit und Rechenleistung bei den simulierten Instrumenten
wieder rein, damit sie realistisch aussehen. Verrückte Welt. :)

Viele Grüße,
Christian
Neptun 20, Segelnummer 950, Honda 5BFU, Liegeplatz Bernau/Chiemsee

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

336

Mittwoch, 21. November 2018, 15:53

@chrhartz:

Vielleicht ließe sich das Ganze auch entschärfen, wenn man den Browser-Cache auf der Client-Seite nutzen würde. Dann könnte man bei vorhandenem Internet die JavaScript-Bibliothek laden und dauerhaft im Browser-Cache des Handys speichern. Bei jedem weiteren Aufruf ohne oder mit Internetverbindung wird dann die Bibliothek immer aus dem Cache geladen. So ganz dauerhaft ist das aber auch nicht möglich, da die maximale Cach-Verweildauer auf 1 Jahr begrenzt ist. Aber immerhin ließe sich das Instrument dann für 1 Jahr ohne Internet nutzen, vorausgesetzt man löscht den Browser-Cache nicht zwischendurch und achtet darauf, dass der Cache nicht beim Beenden des Browsers gelöscht wird. Das ließe sich noch relativ einfach und resourcenschonend in den ESP8266 integrieren.

Der Raspi 3B ist schon sehr performant und entspricht der CPU-Leistung eines Mittelklasse-Handys. Bei mir sind in OpenPlotter auch die Canvas Seel Series- Instrumente implementiert. Über ein HDMI-Display laufen die ebenfalls flüssig. Verwendest Du ein HDMI- oder ein DSI-Display?

Den Rahmen der Canvas Steel Instrumente kann man auch ausblenden, wenn es denn sein muss.

Zitat

Sind wir nicht merkwürdig, da versuchen wir bei Displays die Spiegelungen und Schatten möglichst
zu vermeiden und bauen sie dann mit viel Arbeit und Rechenleistung bei den simulierten Instrumenten
wieder rein, damit sie realistisch aussehen. Verrückte Welt. :)


Ja, das ist die schöne virtuelle Welt des Internet. ;)

Norbert

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »norbert-walter« (21. November 2018, 18:40)


NoStress

Matrose

Beiträge: 68

Wohnort: SU

Bootstyp: Victoire 26 / Laser II

Heimathafen: Volendam NL

  • Nachricht senden

337

Mittwoch, 21. November 2018, 16:26

sorry to interrupt ...
Vielleicht ließe sich das Ganze auch entschärfen, wenn man den Browser-Cache auf der Client-Seite nutzen würde. Dann könnte man bei vorhandenem Internet die JavaScript-Bibliothek laden und dauerhaft im Browser-Cache des Handys speichern. Bei jedem weiteren Aufruf ohne oder mit Internetverbindung wird dann die Bibliothek immer aus dem Cache geladen. So ganz dauerhaft ist das aber auch nicht möglich ...
das finde ich suboptimal, denn der Cache sollte aus verschiedensten Gründen (Speicher, privacy, usw) doch häufiger gelöscht werden.

Was wäre eine Lösung, bei der Anwender die URL etwa in den settings überschreiben kann, d.h. sie auf ein Verzeichnis im Client ändert oder eine Adresse im Bordnetz, wo er sich die JS-Bibliothek hingeladen hat?
Falls die Browser mit sowas mitspielen, vermute ich, dass die meisten, die eine solche DIY-Lösung einsetzen, es schaffen werden, das (mit Doku) korrekt einzurichten
Bastelei an einer Host-Datei könnte man so vermeiden - sie würde eh auf vielen Smartphones u.a. an mangelnden root-Rechten scheitern

Michael

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

338

Mittwoch, 21. November 2018, 20:23

@NoStress:

Ja, das ginge auch. Ich hatte nur nach einer Lösung gesucht die kein Zutun des Users bedarf. Die Browser-Cache-Technik ist auch weit verbreitet, besonders, wenn Libs geladen werden sollen, die man sonst bei jedem Seitenaufruf runterladen muss. Im Grunde genommen gibt es ja ein Verfallsdatum für Cache-Einträge die den Cache dann wieder freimachen. Leider wird diese Technik gerne für unseriöses Ausspionieren des Users (User-Tracking) verwendet und ist daher nicht so beliebt.

Aus Sicherheitsgründen macht ein regelmäßiges leeren des Browser-Caches natürlich Sinn. In den Handybrowsern (Andriod Browser, Firefox) lässt sich der Cache aber nicht automatisch löschen. Cookies jedoch schon. Es gibt aber eine Option den Cache manuell zu löschen. Von daher könnte die Cache-Funktion nicht ganz unnütz sein.

Norbert

339

Mittwoch, 21. November 2018, 20:33

Finde ich ja faszinierend. D.h. das "Display" wird bei jeder Veränderung nachgeladen?! Oder nur einmal beim Hochfahren und der Zeiger bewegt sich auf einer eigene Ebene SW-intern?!

"What 'n Drama mit dem Karma"
(by me, myself & I)

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 389

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

340

Donnerstag, 22. November 2018, 12:02

@TrampMuc:

Die Software funktioniert folgendermaßen:

1. HTML-Seite mit eingebettetem JavaScript aufrufen (es erscheint die Webseite mit dem Content)
2. CSS-StylesSheeds laden
3. JavaScript Bibliotheken laden
4. Syles anwenden (das spezielle Aussehen der Webseite wird angepasst wie Buttons, Hintergrund, Textfarbe und Größe)
5. JavaScript als Loop ausführen (dann erscheint das Instrument mit den Daten)

Im JavaScript der HTML-Seite wird jede Sekunde eine Verbindung zum Windsensor aufgebaut über die die Daten als JSON-String übergeben werden. Das JavaScript wertet die Daten aus und verändert die Zeigerpositionen und Zahlenwerte. Die Bibliothek wird vom JavaScript der HTML-Seite benötigt und wird so zu sagen zum HTML-JavaScript dazu gelinkt.

Wenn die Seite einmal geladen wurde läuft im Browser ständig das JavaScript im Hintergrund, bis die Seite verlassen wird. Geht man auf eine andere Seite und kehrt wieder zur Instrument-Seite zurück, so laufen die Punkte 1...5 nacheinander ab. Damit jetzt nicht jedes Mal die JavaScript-Bibliothek geladen werden muss, die sich ja vom Inhalt her nicht ändert, kann man sie im Cache des Browsers für eine gewisse Zeit zwischenspeichern lassen. Das geht für die CSS-Styles auch. Wenn man den Cache benutzt, muss die Bibliothek nicht mehr aufwändig über das Internet bezogen werden und wird direkt aus dem Browser-Cache geholt. Das geht super schnell ohne Zeitverzögerung. Wenn man die Verweildauer im Cache auf 1 Jahr setzt, muss man nie mehr was aus dem Internet nachladen, da es ja im Cache liegt. Voraussetzung ist aber, dass der Cache nicht zwischendurch gelöscht wird. Der Cache-Inhalt bleibt auch bestehen, wenn der Browser geschlossen wird. Beim nachsten Browserstart steht der Cache-Inhalt wieder zur Verfügung. So lassen sich z.B. große Webprogramme wir Google-Word und Google-Excel ohne zeitaufwändige Ladeorgien schnell starten und nutzen. Das ist das Konzept hinter den Google Chromebooks, die die Anwendungen nur noch aus dem Netz beziehen. Das Ganze wird als SaaS (Software as a Servive) bezeichnet.

In den angehängten Bildern sieht man schön, wie beim zweiten Seitenaufruf die Bibliotheken aus dem Cache geladen werden und die Startzeit der Seite dramatisch sinkt.

Norbert
»norbert-walter« hat folgende Dateien angehängt:

Counter:

Gezählt seit: 4. Februar 2014, 08:39, nur eingeloggte Mitglieder
 Zugriffe:   Hits heute: 1 199   Hits gestern: 2 294   Hits Tagesrekord: 5 297   Hits gesamt: 4 153 814   Hits pro Tag: 2 339,69 
 Seitenaufrufe:   Klicks heute: 7 080   Klicks gestern: 16 783   Klicks Tagesrekord: 154 353   Klicks gesamt: 33 665 210   Klicks pro Tag: 18 962,34 

Kontrollzentrum

Helvetia

Novosail

Professionelle Reinigung von Segeln und Bootsplanen