Casa visualización individual e control gráfico do Sistema Automation eHouse – Java

Visualización gráfica dos eHouse Domótica esténdese o ámbito de desenvolvemento para o sistema e crea a posibilidade dun desenvolvemento de software para o fin do sistema ofeHouse usuarios , empresas asociadas e empresas que desexen contribuír individualmente programación en ambiente JSE (Java) . Ehouse para Java (eHouse4Java) é compatible con Android e bibliotecas de Windows Mobile , permitindo que cree o seu propio software para paneis de control e tabletas .
A biblioteca é o modelo de aplicación e permite:

  • cargar a configuración , os nomes dos controladores , Saídas , Entradas , sensores , etc .
  • asegurar controlador de sistema de comunicación
  • recibir e decodificar o estado do controlador de datos
  • Enviar comandos de control graficamente (coa visualización de obxectos) ou de forma de texto (con selecionável campo)
  • sistema de control vía Wi-Fi , Internet , SMS , email
  • Visualización gráfica e control – cargar o ficheiro de texto de obxectos gráficos asociados cos eventos a seren executados (sistema de Ehouse) e status de equipos
  • Visualización automática para o controlador (cuarto)

A visualización é creada usando java biblioteca ” balance ” con elementos dun ” JPanel ” , ” JButton ” etc .
Estes obxectos son automaticamente ” dobrar – tamponado ” , de xeito que o efecto de intermitencia é eliminado , o que é moi desagradable para o usuario .
O usuario tamén pode controlar a imaxe:

  • zoom in e out
  • mover-se , para abaixo e de lado a lado
  • cambiar a visión actual, seleccionando o ” Opcións ”
  • volver á vista gráfica do sistema seleccionando o ” Ver ”

Exemplo de sistema eHouse visualización:
 Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
 Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
Zoom in e out foi realizado co uso de gráficos vectoriais escalabades (SVG) , de xeito que a imaxe non perde a súa calidade tras o cambio de escala:
 Desfacer as edicións

Novo! ;
estado controladores automaticamente aparecen:
El é actualizado a través dunha rede de ordenadores ou Internet (TCP ou UDP) – on-line (en tempo real)
 Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
 Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
 Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
 Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
Ao seleccionar a ” Opcións ” e do cuarto pode ser visto controladores de estados e seleccionar os programas .
Cambiar o estado de UDP de entrada automaticamente rewizualizacjÄ ™:  Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
 Intelligent Home Control eHouse gráficos en liña e visualización - java de código aberto
Ademais de visualización de deseño individual con base no proxecto arquitectónico e instalación de casa intelixente é creada automaticamente a visualización de forma independente para cada controlador do sistema (en especial para RoomManagers e EthernetRoomManager – para cuartos individuais) .
Isto permite que os paneis de control independentes e visualización de cada cuarto individual , sen tedioso para crear proxecto – sistema de visualización baseada en .
Para CommManager (estados de sensores de alarma , Saídas)
 Intelligent Home Control gráficos eHouse e visualización automática en liña - java de código aberto
Para RoomManager e EthernetRoomManager:
 Intelligent Home Control gráficos eHouse e visualización automática en liña - java de código aberto
 Intelligent Home Control gráficos eHouse e visualización automática en liña - java de código aberto
 Intelligent Home Control gráficos eHouse e visualización automática en liña - java de código aberto
O controlador de caldeira , recuperación de CO (HeatManagera)
 Intelligent Home Control gráficos eHouse e visualización automática en liña - java de código aberto
 Intelligent Home Control gráficos eHouse e visualización automática en liña - java de código aberto
Máis información pode ser encontrada nos artigos dedicados eHouse4Android bibliotecas de programación (eHouse para Android – Android Java) , que foron traducidos para o Java para a compatibilidade e facilidade de desenvolvemento de software en sistemas operativos diferentes .
O código fonte
/ *
* As solicitudes de modelo para o sistema de visualización de vídeo , eHouse casa intelixente
* Só para usuarios rexistrados do sistema eHouse , Empresas que colaboraron Todos os dereitos reservados
*
* Require Clases:
* Ehousecommunication . clase – Enviar acontecementos para o sistema
* EhouseTCP . clase – Inicio e mantemento de comunicacións a través de TCP / IP do controlador , Datos actualizados das entradas e saídas do sistema
* StatusEhouse . clase – opcións de almacenamento de datos e control , actualizados nunha base continua sobre TCP / IP controladores ehouse1 (485)
* StatusCommManager . clase – almacenar datos e configuracións actuais controladores , actualizados nunha base continua sobre TCP / IP controladores ehouse2 (Ethernet)
* GraphicObject . clase – almacenamento de obxectos gráficos
* Visualización . clase – deseñar obxectos gráficos (liñas , elipses , rectángulos) e eventos relacionados con servizos
*
* Modelo de aplicación deseñado unha visualización gráfica do Sistema eHouse
* Só para usuarios rexistrados , Provedores , COOPERATIVAS ISYS Copyright . En Todos os dereitos reservados
*
* Clases necesarias:
* Ehousecommunication . clase – Enviar acontecementos para o sistema
* EhouseTCP . clase – inicio e mantemento de comunicación TCP / IP con controladores , actualizar o estado actual de controladores
* StatusEhouse . clase – controladores de configuración e almacenamento de datos , actualización de datos (TCP / IP) para ehouse1 controladores (485)
* StatusCommManager . clase – controladores de configuración e almacenamento de datos , actualización de datos (TCP / IP) para ehouse2 controladores (Ethernet)
* GraphicObject . clase – de datos gráficos obxectos de almacenamento
* Visualización . clase – deseño de obxectos gráficos (liñas , Elipses , rectángulos) e eventos relacionados coa manipulación de lles
* /
paquete ehouse4java ;
import java . awt . * ;
import java . awt . evento . * ;
importación javax . balance . * ;
importación javax . balance . evento . Changeevent ;
importación javax . balance . evento . ChangeListener ;
Ehouse4java public class JFrame ActionListener implementos , ChangeListener {
/ **
* Clase responsable arrincar o estado do sistema , e crear
* A ventá principal da aplicación . Implementa interfaces que soportan o evento
* Asociado con botóns .
*
* Clase responsable arrincar o estado de clases e creando
* A ventá principal da aplicación . Que aplica interfaces de eventos de apoio
* En relación aos botóns .
* /
/ **
* Obxecto de visualización, que contén vista actualmente exhibida
* /
Visualización previa pública ;
/ / Opcións de visualización públicos ;
/ / Public TextEvents visualización ;
/ **
* Pallete de botóns de zoom de apoio , substituída e cambiando
* Exhibido vista
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
Opcións JButton ;
Ver JButton ;
Volver JButton ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel con todos os botóns
* /
ZoomPanel JPanel ;
/ **
* Panel actualmente exhibido contén visualización
* /
Viewpanel JPanel ;
/ **
* O panel que contén un conxunto de botóns usada para acceder aos estados controladores ,
* Sistema etc horarios . .
* /
Optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
buttonscounter public Static int ;
public int centerX ;
CenterY int público ;
public int prevCenterX ;
prevCenterY int público ;
Ycompensation int público ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
dobre prevScaleX ;
dobre prevScaleY ;
ZOOMFACTOR público final dobre = 0 . 3 ;
public Static cadea previousoptionsview = ” ” ;
/ **
* Crea Ehouse4java nova forma . Inicia o estado de clases e gráficos
* Compoñentes con xanela principal .
* /
Ehouse4java pública () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Iníciase todos os compoñentes gráficos
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (nova dimensión (200 , 200)) ;
setVisible (true) ;
prevCenterX = Vista (int) . getBounds () . getCenterX () ;
prevCenterY = Vista (int) . getBounds () . getCenterY () ;
}
/ **
* Iníciase todos os compoñentes secos como paneis gráficos , botóns , scrollbars , etc . .
*
* @ Paran panel
* /
addComponentToPane public void (panel de Container) {

optionfirsttime = true ;

ExitB = new JButton ( ” Saír ” ) ;
ExitB . setActionCommand ( ” Saír ” ) ;
ExitB . addActionListener (este) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (novo FlowLayout ()) ;
viewpanel . engadir (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (este) ;
ZoomPanel . engadir (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (este) ;
ZoomPanel . engadir (ZoomMinusButton) ;
. . .
}
/ **
* Iniciados e clases StatusEhouse StatusCommManager por controladores de carga
* Estado
* /
OnCreate public void () { . . . }
/ **
* @ Paran args os argumentos de liña de comandos
* /
public Static void main (String args []) {
/ *
* Crear e amosar o formulario
* /
Java . awt . EventQueue . invokeLater (novo Runnable () {
public void run () {
Ehouse4java novo () . setVisible (true) ;
}
}) ;
}
/ **
* Soporta eventos chamado premendo no botón
*
* @ Paran
* /
@ Override
public void actionPerformed (ActionEvent e) {
switch (e . getActionCommand ()) {
caso ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Offsets ;
ehousecommunication . ScaleX * = (1 + ZOOMFACTOR) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + ZOOMFACTOR) ; / / * 100/zoomleve ;
/ / Centrar a vista tras rescalling
ehousecommunication . OffsetX + = (int) ((visualization . getBounds () . getCenterX () + prevOffsetX) ZOOMFACTOR *) ;
ehousecommunication . Compensacións + = (int) ((visualization . getBounds () . getCenterY () + prevOffsetY) * ZOOMFACTOR) + Ycompensation / (1 / (2 * ZOOMFACTOR)) ;
EhouseTCP . ReadViewFile (ehousecommunication . CurrentView) ; / / Calcúlase zoom
Visualización . repaint () ;
volver ;
. . .
}
}
}