eHouse4Java Software Open Source para eHouse Domótica

Ehouse Domótica eHouse4Java – java software (open source), inclui os seguintes módulos ( . Java – código fonte , . classe – A classe resultante):

  • Ehouse4java . Java – O núcleo da aplicação e interface principal
  • ehousecommunication . Java – funções de comunicação e de configuração
  • EhouseTCP . Java – comunicação e configuração dos controladores
  • EventsToSend . Java – manipulação de eventos secundário
  • EventToSend . Java – a definição de um único evento
  • GraphicObject . Java – gráficas definições de objetos
  • ISYS . Java – inclui funções dedicadas para fornecedores
  • RunEvent . Java – Envio de eventos de forma de texto
  • StatusEhouse . Java – classe contém uma instância para cada controlador eHouse1
  • StatusEthernet . Java – classe contém uma instância para cada controlador Ethernet eHouse
  • StatusServer . Java – Auxiliar de TCP / IP do servidor , envio de todos os estados controladores através de TCP / IP para painéis cliente (externo via LAN , WAN , Intranet , Internet)
  • visualização . Java – Visualização / classe de controle gráfico de acordo com a visualização eHouse e padrão de controle gráfico

As funções e variáveis ​​globais são descritas no software de código fonte eHouse4Java .
O software inclui linhas independentes , por exemplo . Comunicação , que são realizados no fundo em relação à aplicação principal .
Este não parar ou atrasar a aplicação que os processos levam muito tempo , o que resultou de uma para baixo significativa lenta de aplicação e da possibilidade de suspensão enquanto se espera para uma comunicação (locks mortas) .
Os tópicos principais são:

  • TCP Client (para receber o estado do controlador , o TCP / IP na LAN , WAN , Internet , Intranet)
  • UDP Listener (para ouvir a transmissão de status no UDP sem conexão) – apenas dentro da LAN , Intranet
  • Sintetizador de voz para reproduzir mensagens de texto acústicos
  • Servidor TCP / IP de vários segmentos – para o estado de percurso recebidas aos painéis cliente ligados de qualquer tipo (por meio de LANs , WIFI , Internet , Intranet , WAN)

Nomes dos meios de comunicação com os controladores estão incluídos com as definições sobre a forma escolher o tipo de conexão (LAN TCP , LAN UDP , Internet , Off) .
Outros tópicos são ativados usando variáveis ​​globais estão em aulas ” EhouseTCP ” ou ” ehousecommunication ” .

O aplicativo usa uma visualização de acordo com a norma eHouse , gerado a partir de aplicações CorelDraw usando scripts que permitem:

  • configuração do sistema de importação eHouse
  • criação de objetos gráficos manualmente ou com um script
  • exportação de dados para todos os métodos de visualização para todos os painéis , navegadores web , pc , comprimidos , smartphones e outros sistemas

Isso é discutido mais no artigo:
” criação de visualização gráfica e controle eHouse casa inteligente ” .
software de visualização é baseada em um Scalable Vector Graphics (SVG) .
Este método permite que você ” sem perdas ” curvas de desenho de qualidade , texto , figuras geométricas simples , independentemente do tamanho do alargamento , Mudança de tela , etc .
Não teria sido possível usando as imagens de fundo gráficos, tais como jpg , bitmaps , etc . .
Software de visualização foi otimizado de forma a reduzir a utilização da CPU e tempo de processamento gráfico ao trabalhar on-line , devido à grande quantidade de dados a processar . As imagens gráficas são armazenadas e divide-se em sinais de controlo apropriados e transformados quando recebe o estado do controlador , e exibida na tela muito mais rapidamente a partir do cache de cada controlador de visualização .

Isto permite:

  • redução significativa nos dados processados ​​para visualização com as mudanças de imagem
  • reduzir significativamente a cintilação quando mudar imagens projetadas
  • redução significativa da carga de visualização de dados da CPU e
  • o uso de muito ” mais fraco ” , hardware menos eficiente e menos dispendiosa , painéis gráficos , comprimidos , o painel de controle , etc . , mantendo ao mesmo tempo um trabalho confortável
  • redução no consumo de energia, que é especialmente importante em equipamentos de bateria e móveis e duração do trabalho em baterias

Isso é discutido com screenshots no artigo:
” Visualização gráfica e controle de casa inteligente em Java ”

EHouse4Java comunicação com controladores automação residencial

eHouse1 Sob a supervisão do PC

Nesta versão da aplicação Ehouse . exe funciona como um status de receptor do RS – 485 (com conversor RS – 485/RS – 232) e transmite o estado sem nenhuma alteração em dois métodos não colidem uns com os outros:

  • Ehouse . obras exe como um servidor TCP / IP responde a consultas sobre o painel de status , referindo-se ainda ligar os painéis e mantê-las até desligado por qualquer razão . Este método é particularmente valioso com as tentativas de estabelecer uma comunicação com o painel de TCP / IP através da rede do lado de fora , tal como a Internet, onde não é possível receber o estado UDP .
  • Ehouse . exe envia a transmissão protocolo UDP sem conexão para qualquer número de clientes na LAN , Intranet . Isto significa que, , que o painel não está se conectando ao servidor , mas escuta de mensagens difundidas ” Ehouse . exe ” aplicações . Desta forma, não importa quantos destinatários estado painéis não muda a carga da rede , ou o computador em que o ” Ehouse . exe ” aplicativo é executado . Infelizmente, não é possível ou é muito difícil de se transmitir difusão UDP através da Internet e, neste caso o primeiro método deve ser usado .

eHouse1 Sob a supervisão da CommManager

Nesta versão , CommManager recebe status de entrada via RS – 485 (a partir de eHouse1 controladores) e transmite o estado sem nenhuma alteração em dois métodos não colidem uns com os outros:

  • CommManager funciona como um servidor TCP / IP responde a consultas sobre o painel de status , referindo-se ainda ligar os painéis e mantê-las até desligado por qualquer razão . Este método é particularmente valioso tentativas para estabelecer a comunicação com o exterior do painel de LAN , tal como a Internet, onde não é possível receber o estado UDP .
  • CommManager envia transmissões (sem conexão) o protocolo UDP são para qualquer número de clientes na LAN , Intranet .
    Isto significa que, , que o painel não está se conectando ao servidor TCP CommManager , mas ouvindo as mensagens difundidas a partir de CM . Desta forma, não importa quantas destinatários painéis de status , isso não muda a carga da rede ou a utilização da CPU CommManager . Broadcasting difusão UDP não é possível , ou é fortemente impedida pela Internet, tornando neste caso, o primeiro método deve ser usado .

Ethernet eHouse (eHouse4Ethernet)

Nesta versão de controladores Ethernet: CommManager , EthernetRoomManager , etc . , independentemente enviar seu status de duas maneiras , não colidir uns com os outros:

  • Cada controlador funciona como um servidor TCP / IP responde a consultas sobre o painel de status , referindo-se ainda ligar os painéis e mantê-las até desligado por qualquer razão . Este método é particularmente valioso tentativas para estabelecer a comunicação com os painéis exteriores da LAN , tal como a Internet , em que não seja possível receber o estado UDP .
    Contudo , no caso de vários controladores de Ethernet é necessário para manter uma ligação a uma rede TCP / IP de cada controlador , para pegar um status completo do sistema diretamente a partir de controladores . Isto pode resultar em uma maior carga sobre o painel de controlo do processador , gravidade dos problemas relacionados com a comunicação . Neste caso , é preferível colocar sobre a aplicação do lado LAN , que recebe o estado UDP locais , e encaminha o TCP / IP via Internet . Isto é realizado e discutido na aplicação eHouse4Java , que permite que esta solução . A desvantagem é a necessidade de manter um hardware adicional, que desempenha estas funções .
  • Cada controlador envia um broadcast (conexão) o protocolo UDP são para qualquer número de clientes na LAN , Intranet . Isto significa que, , que o painel não está se conectando ao servidor TCP controlador , mas ouvindo as mensagens transmitidas de todos os controladores . Desta forma, não importa quantos destinatários estado painéis não altera a carga da rede ou a utilização da CPU controlador . Pacotes de difusão UDP não é possível ou é fortemente impedida pela internet , por isso, neste caso, o primeiro método deve ser usado . A possibilidade de transmissão do UDP vezes é possível, dependendo do tipo de ligação , Atuação . Às vezes, é possível obter uma transmissão através de UDP VPN ligação configurado adequadamente , Contudo , mesmo nesta situação , pacotes podem ser perdidos , devido à falta de mecanismos de segurança para UDP . Dados incorretos é automaticamente cancelado pelos painéis de software eHouse para verificação não (confira soma)