Forum: Mikrocontroller und Digitale Elektronik VNC Server auf uC implementieren


von Johannes S. (Gast)


Lesenswert?

hat das hier schonmal jemand gemacht oder vorgehabt? Hat hier jemand 
Links für den Einstieg dazu?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ist bei mir schon ne Weile her, 's wurd dann auch nix draus.
Wahrscheinlich hatte ich damit angefangen:
https://github.com/LibVNC/libvncserver

Aber obacht: Ist GPL.

Gruss
WK

von Gerald K. (geku)


Lesenswert?

VNC gibt es für Rasperian (Raspberry Pi). Da kann man sicher zu näherer 
Information gelangen.

https://www.raspberrypi.org/documentation/remote-access/vnc/

von Johannes S. (Gast)


Lesenswert?

ok, danke für die Links. Das RFB Protokoll ist die Basis wie es 
aussieht.

von OSC (Gast)


Lesenswert?

Gab es nicht für das STM32F7 DiscoBoard mal eine Portierung von VNC? 
Zumindest kann ich mich erinnern dass ST in ihrer Beispielsoftware 
damals VNC mit drinnen hatte und das Touchdisplay auf der Oberseite 
ferngesteuert werden konnte...

von Marc H. (marchorby)


Lesenswert?

Dergute W. schrieb:

> Aber obacht: Ist GPL.

Was bedeutet das?

von Johannes S. (Gast)


Lesenswert?

OSC schrieb:
> Gab es nicht für das STM32F7 DiscoBoard mal eine Portierung von VNC?

ja, die habe ich gerade gefunden, sogar für Mbed. Aber die relevanten 
calls enden in einer Segger emWin Lib die nur als archive file vorliegt.
Das Disco F769 habe ich auch gerade hier liegen, darum ginge es mir, aus 
Spass an der Freud. Zusammen mit lvgl was ich darauf laufen habe.

das ist noch eine tiny source: https://github.com/rymis/trfb

und das Protokoll sieht auch noch überschaubar aus, die ganzen Spiele 
mit Framebuffer Resize usw. muss man ja hoffentlich nicht beherrschen:
https://github.com/ultravnc/UltraVNC/blob/main/rfb/rfbproto.h

von N. M. (mani)


Lesenswert?

Marc H. schrieb:
> Dergute W. schrieb:
>
>> Aber obacht: Ist GPL.
>
> Was bedeutet das?

https://de.m.wikipedia.org/wiki/GNU_General_Public_License#:~:text=Die%20GNU%20General%20Public%20License,und%20zu%20verbreiten%20(kopieren).
1
Alle abgeleiteten Programme eines unter der GPL stehenden Werkes dürfen von Lizenznehmern nur dann verbreitet werden, wenn sie von diesen ebenfalls zu den Bedingungen der GPL lizenziert werden.
2
...
3
Ziel ist, die Freiheit eines Programmes auch in der Weiterentwicklung von anderen sicherzustellen.

von Marc H. (marchorby)


Lesenswert?

N. M. schrieb:

> 
https://de.m.wikipedia.org/wiki/GNU_General_Public_License#:~:text=Die%20GNU%20General%20Public%20License,und%20zu%20verbreiten%20(kopieren).
>
1
> Alle abgeleiteten Programme eines unter der GPL stehenden Werkes dürfen 
2
> von Lizenznehmern nur dann verbreitet werden, wenn sie von diesen 
3
> ebenfalls zu den Bedingungen der GPL lizenziert werden.
4
> ...
5
> Ziel ist, die Freiheit eines Programmes auch in der Weiterentwicklung 
6
> von anderen sicherzustellen.
7
>

Bedeutet das, wenn ich eine Lib von VNC nehme, alle meine Quellcodes 
offen legen muss?

von Stefan F. (Gast)


Lesenswert?

Marc H. schrieb:
> Bedeutet das, wenn ich eine Lib von VNC nehme, alle meine Quellcodes
> offen legen muss?

Genau das bedeutet es, das ist der Kern der GPL Lizenz. Alles andere 
drumherum ist die juristisch wasserdichte Ausschmückung.

von Harry L. (mysth)


Lesenswert?

STemWin enthält einen VNC-Server.

von Hmmm (Gast)


Lesenswert?

Marc H. schrieb:
> Bedeutet das, wenn ich eine Lib von VNC nehme, alle meine Quellcodes
> offen legen muss?

Wenn eine Library unter der GPL steht, infiziert sie beim Linken Dein 
Produkt, also ja.

Anders sieht es bei der LGPL aus.

von Marc H. (marchorby)


Lesenswert?

Stefan ⛄ F. schrieb:
> Marc H. schrieb:
>> Bedeutet das, wenn ich eine Lib von VNC nehme, alle meine Quellcodes
>> offen legen muss?
>
> Genau das bedeutet es, das ist der Kern der GPL Lizenz. Alles andere
> drumherum ist die juristisch wasserdichte Ausschmückung.

Und wenn ich niemand sage woher die Quellen kommen und behaupte sie 
selbst geschieben zu haben?

von Stefan F. (Gast)


Lesenswert?

Marc H. schrieb:
> Und wenn ich niemand sage woher die Quellen kommen und behaupte sie
> selbst geschieben zu haben?

Dann machst du dich gleich zweifach strafbar.

bedenke dass die Universität, welche die GPL verfasst hat, das Recht hat 
derartige Verstöße auch ohne Auftrag des Autors zu ahnden.

von Johannes S. (Gast)


Lesenswert?

das Protokoll selbst ist nicht kompliziert und auch in einem RFC 
beschrieben:
https://tools.ietf.org/html/rfc6143

Der Knackpunkt scheinen die Encondings zu sein: es ist simpel den 
kompletten Screen als Update zu schicken, das kostet aber Bandbreite und 
Rechenzeit für die Übertragung vieler Daten.
Es können auch Deltas der Änderungen übertragen werden, die muss der 
Client dann aber für unbestimmte Zeit sammeln, was Speicher kostet. Um 
Speicher zu sparen, gibt es verschiedene Encodings. Die sind in den VLC 
Implementierungen und die Benutzung wird die GPL nötig machen. Aber das 
encoden kostet auch Power, da ist die Frage was auf einem µC effizienter 
ist.

von Marc H. (marchorby)


Lesenswert?

Stefan ⛄ F. schrieb:
> Marc H. schrieb:
>> Und wenn ich niemand sage woher die Quellen kommen und behaupte sie
>> selbst geschieben zu haben?
>
> Dann machst du dich gleich zweifach strafbar.
>
> bedenke dass die Universität, welche die GPL verfasst hat, das Recht hat
> derartige Verstöße auch ohne Auftrag des Autors zu ahnden.

Dann werde ich mich als Autor mit einem Phantasienamen schmücken

von Stefan F. (Gast)


Lesenswert?

Marc H. schrieb:
> Dann werde ich mich als Autor mit einem Phantasienamen schmücken

Mutig. Glaubst du, dich erkennt dann niemand mehr?

von Marc H. (marchorby)


Lesenswert?

Stefan ⛄ F. schrieb:
> Marc H. schrieb:
>> Dann werde ich mich als Autor mit einem Phantasienamen schmücken
>
> Mutig. Glaubst du, dich erkennt dann niemand mehr?

Ja

von Hmmm (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> bedenke dass die Universität, welche die GPL verfasst hat, das Recht hat
> derartige Verstöße auch ohne Auftrag des Autors zu ahnden.

Blödsinn.

von Johannes S. (Gast)


Lesenswert?

Johannes S. schrieb:
> die muss der
> Client dann aber für unbestimmte Zeit sammeln

typo, der Server (der µC) muss die Deltas sammeln meinte ich.

von (prx) A. K. (prx)


Lesenswert?

Marc H. schrieb:
> Und wenn ich niemand sage woher die Quellen kommen

Frag D-Link, die haben damit Erfahrung.
https://gpl-violations.org/news/20060922-dlink-judgement_frankfurt/
https://wiki.fsfe.org/Migrated/GPL%20Enforcement%20Cases

von Johannes S. (Gast)


Lesenswert?

na das ist doch ein guter Grund sich Gedanken zu machen das selber zu 
implmentieren. Oder es nicht zu veröffentlichen.

von Marc H. (marchorby)


Lesenswert?

(prx) A. K. schrieb:
> Marc H. schrieb:
>> Und wenn ich niemand sage woher die Quellen kommen
>
> Frag D-Link, die haben damit Erfahrung.
> https://gpl-violations.org/news/20060922-dlink-judgement_frankfurt/
> https://wiki.fsfe.org/Migrated/GPL%20Enforcement%20Cases

Die haben es aber deshalb rausgefunden weil dort ein Linux läuft. Aber 
wenn man es auf einem uC implementiert, wie sollen die das merken?

Zudem: verklag doch mal Frank Hotzenblotz und schau ob du erfolgreich 
damit bist.

von Hmmm (Gast)


Lesenswert?

Marc H. schrieb:
> Aber wenn man es auf einem uC implementiert, wie sollen die das merken?

Auslesen des Controllers (sofern möglich), Analyse der Firmware-Updates 
(sofern nicht verschlüsselt), Bugs der geklauten Library tauchen 
"zufälligerweise" auch in Deinem Produkt auf...

Sicher, Du kannst auch mit einem Banküberfall Erfolg haben, das macht 
die Sache aber nicht unproblematischer.

Daher besser immer die Lizenzen der verwendeten Libraries angucken und 
ggf. auf Alternativen (bis hin zur eigenen Implementation) ausweichen.

von Marc H. (marchorby)


Lesenswert?

Hmmm schrieb:

> Sicher, Du kannst auch mit einem Banküberfall Erfolg haben, das macht
> die Sache aber nicht unproblematischer.

Banküberfall ist etwas für Dilettanten! Echte Profis gründen eine Bank! 
(Berthold Brecht)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.