Casa individual de visualización y control gráfico de Automatización eHouse Sistema – Java

Visualización gráfica de eHouse Home Automation amplía el entorno de desarrollo para el sistema y crea la posibilidad de un desarrollo independiente de software para el sistema de ofeHouse usuarios finales , empresas asociadas y empresas que deseen contribuir individualmente programación en JSE (Java) medio ambiente . eHouse para Java (eHouse4Java) es compatible con el Android y Windows Mobile bibliotecas , lo que le permite crear su propio software para paneles de control y tabletas .
La biblioteca es la plantilla de aplicación y permite:

  • cargar configuración , los nombres de los controladores , Salidas , Entradas , sensores , etc .
  • asegurar controlador del sistema de
  • recibir y descodificar el estado del controlador de datos
  • enviar comandos de control gráfico (con la visualización de los objetos) o de forma de texto (con seleccionable en campo)
  • controlar el sistema a través de WiFi , Internet , SMS , eMail
  • Visualización gráfica y control – cargar el archivo de texto de objetos gráficos asociados con los eventos que se ejecute (sistema de eHouse) y los estados de equipos
  • Visualización automática para el controlador (habitación)

La visualización es creado usando java biblioteca ” columpio ” con elementos de un ” JPanel ” , ” JButton ” etc .
Estos objetos son automáticamente ” doble – tamponada ” , de modo que el efecto de parpadeo se elimina , que es muy molesto para el usuario .
El usuario también puede controlar la imagen:

  • acercar y alejar
  • subir , hacia abajo y de lado a lado
  • cambiar la vista actual, seleccione la ” Opciones ”
  • volver a la visualización gráfica del sistema mediante la selección de la ” Ver ”

Ejemplo de sistema de visualización eHouse:
 Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
 Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
Acercar y alejar se llevó a cabo con el uso de gráficos vectoriales escalables (SVG) , para que la imagen no pierde su calidad después del cambio de escala:
 Deshacer cambios

¡Nuevo! ;
estado de los controladores se muestran automáticamente:
Se actualiza a través de una red informática oa través de Internet (TCP o UDP) – en línea (en tiempo real)
 Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
 Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
 Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
 Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
Mediante la selección de la ” Opciones ” y la habitación se puede ver controladores de estados y seleccionar programas .
Cambiar el estado de UDP entrante automáticamente rewizualizacjÄ ™:  Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
 Inteligente de control del hogar eHouse línea gráfica y visualización - java de código abierto
Además de la visualización de diseño individual basado en el diseño arquitectónico y la instalación de domótica se crea automáticamente la visualización de forma independiente para cada controlador del sistema (en particular para RoomManagers y EthernetRoomManager – para las habitaciones individuales) .
Esto permite que los paneles de control independientes y de visualización para cada habitación individual , sin tedioso para crear proyectos – sistema de visualización basado en .
Para Gestor de comunicación (los estados de los sensores de alarma , Ouputs)
 Domótica gráficos de control eHouse y visualización automática en línea - java de código abierto
Para RoomManager y EthernetRoomManager:
 Domótica gráficos de control eHouse y visualización automática en línea - java de código abierto
 Domótica gráficos de control eHouse y visualización automática en línea - java de código abierto
 Domótica gráficos de control eHouse y visualización automática en línea - java de código abierto
El controlador de la caldera , recuperación de CO (HeatManagera)
 Domótica gráficos de control eHouse y visualización automática en línea - java de código abierto
 Domótica gráficos de control eHouse y visualización automática en línea - java de código abierto
Más información se puede encontrar en los artículos dedicados a la programación eHouse4Android bibliotecas (eHouse para Android – Android Java) , los cuales han sido traducidos a Java SE para compatibilidad y facilidad de desarrollo de software en diferentes sistemas operativos .
EL CÓDIGO FUENTE
/ *
* Las aplicaciones de plantillas para el sistema de visualización gráfica , eHouse casa inteligente
* Sólo para usuarios registrados del sistema eHouse , Empresas colaboradoras Todos los Derechos Reservados
*
* Requiere Clases:
* Ehousecommunication . clase – enviar eventos al sistema
* EhouseTCP . clase – Inicialización y el mantenimiento de comunicaciones a través de TCP / IP del controlador , Datos actualizados de las entradas y salidas del sistema
* StatusEhouse . clase – almacenamiento de datos y la configuración del controlador , actualizado en forma permanente a través de TCP / IP de controladores ehouse1 (485)
* StatusCommManager . clase – almacenar los datos actuales y los controladores de ajustes , actualizado en forma permanente a través de TCP / IP de controladores ehouse2 (Ethernet)
* GraphicObject . clase – almacenamiento de objetos gráficos
* Visualización . clase – dibujar objetos gráficos (líneas , elipses , rectángulos) y eventos relacionados con el servicio
*
* Aplicación plantilla diseñada una visualización gráfica del sistema eHouse
* SÓLO PARA USUARIOS REGISTRADOS , Los vendedores , COOPERATIVAS ISYS Derechos de Autor . En Todos los derechos reservados
*
* Clases Requeridas:
* Ehousecommunication . clase – enviar eventos al sistema
* EhouseTCP . clase – inicialización y mantenimiento comunicación TCP / IP con los controladores , la actualización del estado actual de los controladores
* StatusEhouse . clase – controladores de configuración y almacenamiento de datos , actualización de los datos (TCP / IP) para ehouse1 controladores (485)
* StatusCommManager . clase – controladores de configuración y almacenamiento de datos , actualización de los datos (TCP / IP) para ehouse2 controladores (Ethernet)
* GraphicObject . clase – gráficos objetos de almacenamiento de datos
* Visualización . clase – dibujar objetos gráficos (líneas , Elipses , rectángulos) y eventos relacionados con el manejo de los
* /
ehouse4java paquete ;
import java . awt . * ;
import java . awt . evento . * ;
importación javax . columpio . * ;
importación javax . columpio . evento . ChangeEvent ;
importación javax . columpio . evento . ChangeListener ;
Ehouse4java public class extends JFrame implementa ActionListener , ChangeListener {
/ **
* Responsable de inicializar el estado del sistema de clase , y crear
* La ventana principal de la aplicación . Implementa las interfaces que apoyan el evento
* Asociado con botones .
*
* Responsable de la inicialización de la situación de las clases y la creación de Clase
* La ventana principal de la aplicación . Que implementa interfaces de eventos de apoyo
* En cuanto a los botones .
* /
/ **
* Visualización objeto que contiene vista que se muestra actualmente
* /
Visualización visualización pública ;
/ / Opciones de visualización Públicas ;
/ / TextEvents visualización Públicas ;
/ **
* Pallete de botones de apoyo zoom , desplazan y cambian
* Se ha vista
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
Opciones JButton ;
Ver JButton ;
Volver JButton ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel con todos los botones
* /
JPanel ZoomPanel ;
/ **
Panel * Se muestra actualmente contiene visualización
* /
JPanel viewpanel ;
/ **
* El panel que contiene un grupo de botones que se utilizan para acceder a estados controladores ,
* Sistema de horarios etc . .
* /
JPanel optionspanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
buttonscounter public static int ;
público CenterX int ;
CenterY public int ;
público prevCenterX int ;
prevCenterY public int ;
Ycompensation public int ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
doble prevScaleX ;
doble prevScaleY ;
público zoomFactor final doble = 0 . 3 ;
public static string previousoptionsview = ” ” ;
/ **
* Crea Ehouse4java nueva forma . Inicia el estado de las clases y gráficos
* Componentes de la ventana principal .
* /
público Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Inicia todos los componentes gráficos
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (nueva dimensión (200 , 200)) ;
setVisible (true) ;
prevCenterX = (int) Visualización . getBounds () . getCenterX () ;
prevCenterY = (int) Visualización . getBounds () . getCenterY () ;
}
/ **
* Inicia todos los componentes secos como paneles gráficos , botones , barras de desplazamiento , etc . .
*
* @ Param panel
* /
addComponentToPane public void (panel contenedor) {

optionfirsttime = true ;

ExitB = new JButton ( ” Salida ” ) ;
ExitB . setActionCommand ( ” Salida ” ) ;
ExitB . addActionListener (este) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (nuevo FlowLayout ()) ;
viewpanel . add (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (este) ;
ZoomPanel . add (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (este) ;
ZoomPanel . add (ZoomMinusButton) ;
. . .
}
/ **
* Inicia y StatusEhouse StatusCommManager clases de los controladores de carga
* Estado
* /
OnCreate public void () { . . . }
/ **
* @ Param args los argumentos de línea de comandos
* /
public static void main (String args []) {
/ *
* Crear y mostrar el formulario
* /
Java . awt . EventQueue . invokeLater (nuevo Ejecutable () {
public void run () {
Ehouse4java nuevo () . setVisible (true) ;
}
}) ;
}
/ **
* Soporta eventos invoca haciendo clic en el botón
*
* @ Param e
* /
@ Override
public void actionPerformed (ActionEvent e) {
interruptor (e . getActionCommand ()) {
caso ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Compensaciones ;
ehousecommunication . ScaleX * = (1 + zoomFactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomFactor) ; / / * 100/zoomleve ;
/ / Centrar la vista después de rescalling
ehousecommunication . OffsetX + = (int) ((Visualization . getBounds () . getCenterX () + prevOffsetX) * zoomFactor) ;
ehousecommunication . Desplazamientos + = (int) ((Visualization . getBounds () . getCenterY () + prevOffsetY) * zoomFactor) + Ycompensation / (1 / (2 * zoomFactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . CurrentView) ; / / Cálculo de zoom
Visualización . repaint () ;
volver ;
. . .
}
}
}