Panoramica
emVNC-Server (Virtual Network Computing) consente di visualizzare e controllare il display di un sistema embedded tramite USB (usando emUSB-Device di SEGGER), TCP/IP o qualsiasi altro livello di trasporto di tipo socket.
emVNC è stato progettato specificamente per i sistemi embedded. Fornisce sia il modulo server per il sistema embedded sia l’applicazione client per i computer. L’applicazione lato PC è multipiattaforma (per Linux, macOS e Windows) e disponibile per il download gratuito.
Caratteristiche principali
- Display virtuale: permette display remoti e virtuali anche per sistemi “headless” (senza display).
- Connessione: supporta qualsiasi canale di comunicazione (USB, TCP/IP e altre interfacce di tipo socket).
- GUI-independent: funziona con qualsiasi libreria grafica e di comunicazione, come emWin.
- Client supportati: compatibile con una vasta gamma di client VNC standard.
- Casi d’uso: supporto remoto per la manutenzione e configurazione di dispositivi “headless”.
- Requisiti di sistema: richiede un sistema di multitasking e uno stack di protocollo appropriato.
- Ingombro di memoria: l’utilizzo di RAM e ROM è estremamente ridotto.
- Licensing: informazioni sulla licenza del prodotto.
Display virtuale
Per un sistema embedded dotato di display, quest’ultimo può essere duplicato (mirroring) sul computer remoto. Per un sistema embedded senza display, è possibile mostrare il contenuto di un display virtuale. Può anche essere usato, se desiderato, come una console/terminale solo per testo.
- Accesso remoto con l’emVNC-Server di SEGGER.
- Accesso remoto con l’emVNC-Server di SEGGER su un sistema headless (senza display).
Connessione
VNC su qualsiasi cosa
Grazie alla sua interfaccia di programmazione astratta, il protocollo VNC dell’emVNC-Server può essere trasferito tramite qualsiasi livello di trasporto di tipo socket. emVNC supporta TCP/IP tramite emNet di SEGGER e VNC su USB tramite emUSB-Device di SEGGER; è possibile aggiungere facilmente altri protocolli di trasporto.
Connessione via USB
La possibilità di connettersi via USB è molto conveniente e apre a una vasta gamma di opzioni. Poiché l’USB è già ampiamente diffuso, emVNC può essere implementato molto facilmente semplicemente collegandosi a un’interfaccia esistente.
Non ci sono costi hardware aggiuntivi e la memoria richiesta è minima (sia in flash che in RAM), il che significa che emVNC può essere utilizzato anche in piccoli sistemi embedded con memoria limitata.
RFB
La connessione viene stabilita tramite il protocollo standard Remote Framebuffer Protocol (RFB), che consente anche l’uso di altri client VNC su dispositivi come PC, tablet o smartphone.
emVNC può essere usato anche in parallelo con le funzionalità esistenti.
Indipendenza dalla GUI
L’emVNC-Server è indipendente dalla GUI. Funziona perfettamente con emUSB Device di SEGGER e una libreria grafica, come emWin di SEGGER. Questo lo rende particolarmente adatto all’uso su dispositivi embedded, poiché non ci sono limitazioni sull’hardware del display.
L’uso con emWin è vivamente raccomandato per ottenere alte prestazioni e un’elevata efficienza delle risorse.
emVNC viene fornito con esempi per l’uso sia con che senza emWin.
Client supportati
L’emVNC-Server supporta tutti i client VNC standard. L’implementazione del protocollo è stata testata per funzionare con i seguenti client VNC:
- SEGGER VNC Client
- gvncviewer
- SSVNC
- Remmina
- RealVNC
- TightVNC
Autenticazione utente
L’emVNC-Server offre la protezione tramite password. Una volta predefinita, gli utenti possono accedere al dispositivo di destinazione semplicemente inserendo questa password.
Casi d’uso
Supporto remoto per servizi di manutenzione
Le connessioni VNC sono utilizzate principalmente per la manutenzione a distanza. Questo permette la regolazione e la manutenzione di, ad esempio, sistemi di riscaldamento senza la necessità di controllare il display o il sistema presso la sede del cliente. Con emVNC, è possibile integrare il modulo emVNC-Server nel firmware del sistema di riscaldamento. Questo assicura che il riscaldatore possa essere controllato sia tramite il suo display che tramite la rete.
In caso di segnalazione di un malfunzionamento, ad esempio, è possibile accedere al riscaldatore tramite la rete in cui risiede, leggere i file di log e correggere gli errori da remoto senza la necessità di inviare tecnici dal cliente.
Configurazione del display per dispositivi “headless”, come una stampante
VNC su USB potrebbe essere utilizzato per creare una stampante “headless”. In molti casi, il display di una stampante viene usato una sola volta, per connettersi al Wi-Fi, e poi mai più. Da quel momento in poi, il Wi-Fi viene usato per inviare informazioni alla stampante e riceverne dallo scanner. Il display diventa superfluo.
Utilizzando VNC su USB, una semplice ed economica interfaccia USB potrebbe sostituire completamente il display della stampante.
La prima volta che la stampante viene utilizzata, la connessione al computer (o telefono, tablet, ecc.) viene stabilita tramite USB. Una volta completata la configurazione del Wi-Fi, tutte le interazioni possono avvenire da remoto.
Rimuovere il display fisico semplificherebbe il design e ridurrebbe i costi, rendendo al contempo l’interazione più amichevole e comoda.
Requisiti di sistema
- Multi-tasking: il VNC Server deve funzionare come un thread separato. Pertanto, per utilizzare l’emVNC-Server è necessario un sistema di multi-tasking. Suggeriamo embOS.
- Quando si usa TCP/IP come metodo di trasferimento, è richiesto uno stack IP come emNet.
- Quando si usa USB come metodo di trasferimento, è richiesto un software per dispositivi USB come emUSB-Device.
Ingombro di memoria
L’utilizzo di RAM inizia al di sotto dei 400 byte. Il consumo di memoria dell’emVNC-Server stesso in RAM è inferiore a 400 byte. L’utilizzo totale della RAM dipende in modo significativo dalle dimensioni del frame buffer. Quest’ultimo dipende dalla profondità del colore e dalle dimensioni in pixel. Se viene utilizzato un software di interfaccia utente grafica come emWin, emVNC può accedere direttamente al frame buffer del software GUI.
Consumo di memoria in dettaglio
La seguente tabella mostra i requisiti approssimativi di ROM e RAM di emVNC: