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.

