Utilisation du serveur VNC

Dans cet article, je vais aborder le partage d'écran via un serveur VNC. Sur les panneaux opérateurs Focus HMI , la connexion au serveur VNC est configurée par défaut en mode ouvert et sans mot de passe. Par conséquent, nous pouvons nous connecter à notre panneau via le serveur VNC sans aucune modification.

Il nous faut ouvrir des programmes comme VNC Viewer sur notre ordinateur principal et nous connecter en utilisant l'adresse IP de notre Focus HMI .

Vous pouvez télécharger VNC Viewer ici.

Après avoir ouvert le programme VNC Viewer, nous devons saisir notre adresse IP dans la section « Saisir l’adresse d’un serveur VNC ou effectuer une recherche », suivie du numéro de port attribué par le serveur VNC : « 5900 ».

Nous cliquons sur « Continuer » dans le message d'avertissement qui apparaît et nous fermons la fenêtre.

Une fois ces étapes terminées, notre connexion au panneau Focus HMI est établie. Nous pouvons désormais contrôler notre panneau via le serveur VNC.

Si vous souhaitez utiliser votre serveur VNC avec chiffrement, vous pouvez consulter notre article « Comment créer un mot de passe pour un serveur VNC ».

Script de contrôle de connexion VNC

Vous pouvez ajouter à votre projet un script qui redémarre VNC en cas de problème de connexion.

import java.lang.reflect.Method;
import java.net.*;
import java.io.*;
public class NewScript{
	public static short VncState;
	
	public NewScript(Class Accessing){
		Thread newThread = new Thread(() -> { 
			try{
				if(VncState >= 2){
					VncState = 0;
					Runtime.getRuntime().exec("x11vnc -display :0 -shared -forever"); 
				}else{
					try (Socket socket = new Socket("192.168.0.11", 5900)) {
						VncState = 1;
		               } catch (UnknownHostException ex) {        
		               	VncState = 2; 
		               	Runtime.getRuntime().exec("x11vnc -R stop");                
		               } catch (IOException ex) {        
		               	VncState = 3;             
		               	Runtime.getRuntime().exec("x11vnc -R stop");
		               }  
				}    
				Method setValue = Accessing.getMethod("setValue", String.class, Object.class);		
				setValue.invoke(Accessing, "VncState", VncState);
			}catch(Exception exp){
				javax.swing.JOptionPane.showMessageDialog(null , exp.getMessage());
			}
        	});
        	newThread.start(); 		
	}
}

Créez un nouveau script et copiez le code ci-dessus. Après la compilation, lors de l'enregistrement du script, veillez à ne pas utiliser de caractères turcs, car le nom que vous lui donnerez sera utilisé comme nom de classe. Je l'ai enregistré sous le nom VncTest.

Dans la section « Paramètres » du script que vous avez créé, vous pouvez choisir son mode d’exécution dans la section « Script ».

J'ai sélectionné le script que j'ai créé dans la section « Toutes les minutes » pour qu'il s'exécute une fois par minute.

Similar Posts

Écrire une réponse