Vrijstaand Visualisatie en grafische controle van eHouse System Automation – Java

Grafische weergave van eHouse Home Automation breidt de ontwikkelomgeving voor het systeem en creëert de mogelijkheid van een onafhankelijke software-ontwikkeling voor eindgebruikers ofeHouse systeem , verbonden ondernemingen en bedrijven die willen individueel bij te dragen programmeren in JSE (Java)-omgeving . eHouse voor Java (eHouse4Java) is compatibel met de Android en Windows Mobile bibliotheken , zodat u uw eigen software voor bedieningspanelen en tabletten te creëren .
De bibliotheek is de toepassing sjabloon en maakt:

  • laden configuratie , de namen van de controllers , Uitgangen , Ingangen , sensoren , enz. .
  • zorgen communicatiesysteemstuurorgaan
  • het ontvangen en decoderen van de verantwoordelijke voor de verwerking de status
  • stuur besturingsopdrachten grafisch (met de visualisatie van objecten) of van de vorm van tekst (met veld selecteerbaar)
  • controle systeem via WiFi , Internet , SMS , eMail
  • Grafische visualisatie en controle – laadt u het tekstbestand van grafische objecten in verband met de gebeurtenissen uit te voeren (van eHouse systeem) en uitrusting statussen
  • Automatisch visualisatie voor de controller (kamer)

Visualisatie wordt gemaakt met behulp van Java-bibliotheek ” slingeren ” met elementen van een ” JPanel ” , ” JButton ” enz. .
Deze objecten worden automatisch ” verdubbelen – gebufferd ” , zodat het van flikkeringen geëlimineerd , dat is erg vervelend voor de gebruiker .
De gebruiker kan ook de controle van de afbeelding:

  • in-en uitzoomen
  • naar boven , naar beneden en van links naar rechts
  • wijzigt u de huidige weergave door het selecteren van de ” Opties ”
  • terug naar de grafische weergave van het systeem door de optie ” Zien ”

Voorbeeld van visualisatie eHouse systeem:
 Intelligente home control eHouse online graphics en visualisatie - java open source
 Intelligente home control eHouse online graphics en visualisatie - java open source
In-en uitzoomen werd uitgevoerd met het gebruik van Scalable Vector Graphics (SVG) , zodat het beeld niet de kwaliteit niet verloren na de verandering van schaal:
 Bewerkingen ongedaan maken

Nieuw! ;
controllers status worden automatisch weergegeven:
Het wordt bijgewerkt via een computernetwerk of het internet (TCP of UDP) – online (in real time)
 Intelligente home control eHouse online graphics en visualisatie - java open source
 Intelligente home control eHouse online graphics en visualisatie - java open source
 Intelligente home control eHouse online graphics en visualisatie - java open source
 Intelligente home control eHouse online graphics en visualisatie - java open source
Door de ” Opties ” en de kamer kan worden gezien staten controllers en selecteer programma's .
Het wijzigen van de status van de inkomende UDP wordt automatisch rewizualizacjÄ ™:  Intelligente home control eHouse online graphics en visualisatie - java open source
 Intelligente home control eHouse online graphics en visualisatie - java open source
Naast visualisatie van individueel ontworpen op basis van het architectonisch ontwerp en de installatie van slimme woning wordt automatisch aangemaakt de visualisatie onafhankelijk voor elke controller in het systeem (in het bijzonder voor RoomManagers en EthernetRoomManager – voor individuele kamers) .
Dit zorgt voor een onafhankelijke controle panelen en visualisatie voor elke kamer afzonderlijk , zonder vervelend om project te maken – gebaseerde visualisatie systeem .
Voor CommManager (staten van alarm sensoren , Uitgangen)
 Intelligente home control eHouse graphics en visualisatie automatische online - java open source
Voor RoomManager en EthernetRoomManager:
 Intelligente home control eHouse graphics en visualisatie automatische online - java open source
 Intelligente home control eHouse graphics en visualisatie automatische online - java open source
 Intelligente home control eHouse graphics en visualisatie automatische online - java open source
De ketel controller , herstel van CO (HeatManagera)
 Intelligente home control eHouse graphics en visualisatie automatische online - java open source
 Intelligente home control eHouse graphics en visualisatie automatische online - java open source
Meer informatie is te vinden in de artikelen gewijd aan programmeerbibliotheken eHouse4Android (eHouse voor Android – Android Java) , die zijn vertaald in Java SE voor compatibiliteit en gemak van software-ontwikkeling op verschillende besturingssystemen .
DE BRON CODE
/ *
* Template aanvragen voor grafische voorstelling systeem , slimme woning eHouse
* Alleen voor geregistreerde gebruikers van het systeem eHouse , Samenwerkende bedrijven Alle rechten voorbehouden
*
* Vereist Klassen:
* Ehousecommunication . klasse – stuur gebeurtenissen op het systeem
* EhouseTCP . klasse – Initialisatie en het onderhoud van communicatie via TCP / IP-controller , Actuele gegevens van het systeem en uitgangen
* StatusEhouse . klasse – data-opslag en controller instellingen , bijgewerkt op een permanente basis via TCP / IP controllers ehouse1 (485)
* StatusCommManager . klasse – slaan de huidige gegevens en instellingen controllers , bijgewerkt op een permanente basis via TCP / IP-controllers ehouse2 (Ethernet)
* GraphicObject . klasse – opslaan van grafische objecten
* Visualisatie . klasse – trekken grafische objecten (lijnen , ellipsen , rechthoeken) en service gerelateerde evenementen
*
* Application template ontworpen een grafische voorstelling van eHouse System
* Alleen voor geregistreerde gebruikers , Leveranciers , COÖPERATIES Copyright ISYS . En Alle rechten voorbehouden
*
* Verplichte klassen:
* Ehousecommunication . klasse – verzenden gebeurtenissen het systeem
* EhouseTCP . klasse – initialisatie en onderhoud TCP / IP-communicatie met controllers , actualiseren huidige status van controllers
* StatusEhouse . klasse – controllers instellingen en data-opslag , bijwerking data (TCP / IP) voor ehouse1 controllers (485)
* StatusCommManager . klasse – controllers instellingen en data-opslag , het bijwerken van gegevens (TCP / IP) voor ehouse2 controllers (Ethernet)
* GraphicObject . klasse – grafische data-opslag objecten
* Visualisatie . klasse – tekening grafische objecten (lijnen , Ellipsen , rechthoeken) en behandeling events daaraan gerelateerde
* /
ehouse4java pakket ;
import java . awt . * ;
import java . awt . evenement . * ;
import javax . slingeren . * ;
import javax . slingeren . evenement . ChangeEvent ;
import javax . slingeren . evenement . ChangeListener ;
Ehouse4java public class breidt JFrame werktuigen ActionListener , ChangeListener {
/ **
* Klasse die verantwoordelijk is voor het initialiseren van de status van het systeem , en creëren
* Het hoofdvenster van het programma . Implementeert interfaces die het evenement ondersteunen
* In verband met knoppen .
*
* Klasse Verantwoordelijk voor het initialiseren van de status van de klassen en het creëren van
* Het hoofdvenster van het programma . Dat Werktuigen interfaces steunen evenementen
* Gerelateerd aan de knoppen .
* /
/ **
* Visualisatie object met huidige weergave
* /
openbare visualisatie Visualisatie ;
/ / Openbare visualisatie opties ;
/ / Openbare visualisatie TextEvents ;
/ **
* Pallete knoppen ondersteunen zoomen , verschuift en verandert
* Weergegeven uitzicht
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Opties ;
JButton Bekijk ;
JButton Terug ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Paneel met alle knoppen
* /
JPanel ZoomPanel ;
/ **
* Paneel weergegeven die momenteel met visualisatie
* /
JPanel viewpanel ;
/ **
* Het paneel met een groep knoppen gebruikt om controllers staten toegang ,
* Systeem schema's, enz. . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
public static int buttonscounter ;
public int centerX ;
public int Centery ;
public int prevCenterX ;
public int prevCenterY ;
public int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
dubbele prevScaleX ;
dubbele prevScaleY ;
public final double zoomfactor = 0 . 3 ;
public static String previousoptionsview = ” ” ;
/ **
* Maakt nieuwe vorm Ehouse4java . Initieert de status van klassen en grafische
* Bestanddelen met hoofdvenster .
* /
openbare Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Initieert alle grafische componenten
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (nieuw Dimension (200 , 200)) ;
setVisible (true) ;
prevCenterX = (int) Visualisatie . getBounds () . getCenterX () ;
prevCenterY = (int) Visualisatie . getBounds () . getCenterY () ;
}
/ **
* Initieert alle onderdelen droog als grafische panelen , knoppen , schuifbalken , enz. . .
*
* @ Param venster
* /
public void addComponentToPane (Container venster) {

optionfirsttime = true ;

ExitB = new JButton ( ” Uitgang ” ) ;
ExitB . setActionCommand ( ” Uitgang ” ) ;
ExitB . addActionListener (deze) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (nieuw FlowLayout ()) ;
viewpanel . toe te voegen (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (deze) ;
ZoomPanel . toe te voegen (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (deze) ;
ZoomPanel . toe te voegen (ZoomMinusButton) ;
. . .
}
/ **
* Ingewijden en StatusEhouse StatusCommManager klassen door laad-controllers
* Status
* /
public void OnCreate () { . . . }
/ **
* @ Param args de opdrachtregelargumenten
* /
public static void main (String args []) {
/ *
* Maken en weer te geven in de vorm
* /
Java . awt . EventQueue . invokeLater (nieuw Runnable () {
public void run () {
Ehouse4java nieuwe () . setVisible (true) ;
}
}) ;
}
/ **
* Ondersteunt gebeurtenissen Aangeroepen door te klikken op de knop
*
* @ Param e
* /
@ Override
public void actionPerformed (ActionEvent e) {
schakelaar (e . getActionCommand ()) {
geval ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Offsets ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centreren van het uitzicht na rescalling
ehousecommunication . OffsetX + = (int) ((Visualisatie . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Offsets + = (int) ((Visualisatie . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Bereken zoom
Visualisatie . repaint () ;
terugkeren ;
. . .
}
}
}