Usando o servidor VNC

Neste artigo, abordarei o compartilhamento de tela via servidor VNC. Nos painéis de operação Focus HMI , a conexão com o servidor VNC é configurada como aberta e sem senha por padrão. Portanto, podemos nos conectar ao nosso painel via servidor VNC sem fazer nenhuma alteração.

O que precisamos fazer é abrir programas como o VNC Viewer em nosso computador principal e conectar usando o endereço IP do Focus HMI .

Você pode baixar o VNC Viewer aqui.

Após abrir o programa VNC Viewer, precisamos inserir nosso endereço IP na seção "Inserir um endereço de servidor VNC ou pesquisar", seguido pelo número da porta atribuída pelo servidor VNC: "5900".

Clicamos em "Continuar" na mensagem de aviso que aparece e fechamos a janela.

Após esses passos, nossa conexão com o painel Focus HMI está completa. Agora podemos controlar nosso painel através do servidor VNC.

Se você deseja usar seu servidor VNC com criptografia, pode consultar nosso artigo " Como criar uma senha para servidor VNC ".

Script de controle de conexão VNC

Você pode adicionar um script ao seu projeto que reinicia o VNC caso ocorra um problema de conexão.

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(); 		
	}
}

Crie um novo script e copie o código acima. Após a compilação, ao salvar o script, não use caracteres turcos, pois o nome que você der será usado como nome da classe. Eu o salvei como VncTest.

Na seção de configurações do script que você criou, você pode escolher como ele será executado na seção de script.

Selecionei o script que criei na seção "A cada minuto" para ser executado uma vez por minuto.

Mensagens similares

Escreva uma resposta