Hus Individuel Visualisering og grafisk kontrol fra eHouse System Automation – Java

Grafisk visualisering af eHouse Home Automation udvider udviklingsmiljø for systemet og skaber mulighed for en selvstændig udvikling af software til slutbrugere ofeHouse-system , associerede virksomheder og virksomheder, der ønsker at bidrage enkeltvis programmering i JSE (Java) miljø . eHouse for Java (eHouse4Java) er kompatibel med Android og Windows Mobile biblioteker , så du kan oprette din egen software til kontrolpaneler og tabletter .
Biblioteket er anvendelsen skabelon og giver mulighed for:

  • indlæse konfigurationsoplysninger , navnene på regulatorerne , Udgange , Indgange , sensorer , etc .
  • sikre kommunikationssystem controller
  • modtagelse og dekodning af registeransvarlige status
  • sende styrekommandoer grafisk (med visualisering af genstande) eller fra tekst form (med felt vælges)
  • styre systemet via WiFi , Internet , SMS , eMail
  • Grafisk visualisering og kontrol – indlæse tekstfilen af ​​grafiske objekter, der er forbundet med de begivenheder, der skal udføres (af eHouse system) og udstyr statusser
  • Automatisk visualisering for controller (rum)

Visualisering er skabt ved hjælp af Java-bibliotek ” svinge ” med elementer af et ” JPanel ” , ” JButton ” etc .
Disse genstande er automatisk ” dobbelt – bufferet ” , således at virkningen af ​​flimmer elimineres , som er meget irriterende for brugeren .
Brugeren kan også styre billedet:

  • zoome ind og ud
  • flytte op , ned og fra side til side
  • ændre den aktuelle visning ved at vælge ” Indstillinger ”
  • vende tilbage til grafisk visualisering af systemet ved at vælge ” Vis ”

Eksempel på visualisering eHouse system:
 Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
 Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
Zoom ind og ud blev udført med anvendelse af Scalable Vector Graphics (SVG) , således at billedet ikke mister sin kvalitet efter skalaændring:
 Fortryd redigeringer

Nyt! ;
controllere status vises automatisk:
Den opdateres via et computernetværk eller internettet (TCP eller UDP) – online (i realtid)
 Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
 Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
 Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
 Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
Ved at vælge ” Indstillinger ” og værelset kan ses stater controllere og vælge programmer .
Ændring af status for indkommende UDP automatisk rewizualizacjÄ ™:  Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
 Intelligent styring af hjemmet eHouse online grafik og visualisering - java open source
Ud over at visualisering af individuelt designet baseret på den arkitektoniske udformning og installation af intelligente hjem oprettes automatisk visualiseringen uafhængigt for hver controller i systemet (især for RoomManagers og EthernetRoomManager – for individuelle værelser) .
Dette giver mulighed for uafhængige kontrolpaneler og visualisering til hvert værelse individuelt , uden trættende at skabe projekt – baseret visualisering .
For CommManager (tilstande af alarmsensorer , -Udgang)
 Intelligent styring af hjemmet eHouse grafik og visualisering automatisk online - java open source
For RoomManager og EthernetRoomManager:
 Intelligent styring af hjemmet eHouse grafik og visualisering automatisk online - java open source
 Intelligent styring af hjemmet eHouse grafik og visualisering automatisk online - java open source
 Intelligent styring af hjemmet eHouse grafik og visualisering automatisk online - java open source
Kedlen controller , inddrivelse af CO (HeatManagera)
 Intelligent styring af hjemmet eHouse grafik og visualisering automatisk online - java open source
 Intelligent styring af hjemmet eHouse grafik og visualisering automatisk online - java open source
Mere information kan findes i de artikler, der er afsat til programmering biblioteker eHouse4Android (eHouse til Android – Android Java) , som er blevet oversat til Java SE for kompatibilitet og nem software udvikling på forskellige styresystemer .
Kildekoden
/ *
* Template ansøgninger om grafisk visualisering , intelligente hjem eHouse
* Kun for registrerede brugere af systemet eHouse , Samarbejdende selskaber All Rights Reserved
*
* Kræver Klasser:
* Ehousecommunication . klasse – sende begivenheder til systemet
* EhouseTCP . klasse – Initialisering og vedligeholdelse af kommunikation via TCP / IP-controller , Opdaterede data fra systemet ind-og udgange
* StatusEhouse . klasse – datalagring og controller-indstillinger , opdateres løbende over TCP / IP controllere ehouse1 (485)
* StatusCommManager . klasse – gemme aktuelle data og indstillinger controllere , opdateres løbende over TCP / IP controllere ehouse2 (Ethernet)
* GraphicObject . klasse – opbevaring af grafiske objekter
* Visualisering . klasse – tegne grafiske objekter (linjer , ellipser , rektangler) og service relaterede begivenheder
*
* Ansøgning skabelon designet en grafisk visualisering af eHouse System
* KUN TIL REGISTREREDE BRUGERE , Leverandører , Andelsselskaber Copyright ISYS . En All Rights Reserved
*
* Påkrævede klasser:
* Ehousecommunication . klasse – sende begivenheder til systemet
* EhouseTCP . klasse – initialisering og vedligeholdelse TCP / IP kommunikation med regulatorer , ajourføring aktuelle status for controllere
* StatusEhouse . klasse – controllere indstillinger og datalagring , opdaterer data (TCP / IP) for ehouse1 controllere (485)
* StatusCommManager . klasse – controllere indstillinger og datalagring , opdatering af data (TCP / IP) for ehouse2 controllere (Ethernet)
* GraphicObject . klasse – grafiske data storage objekter
* Visualisering . klasse – tegning grafiske objekter (linjer , Ellipser , rektangler) og håndtering af begivenheder relateret til dem
* /
ehouse4java pakke ;
import java . AWT . * ;
import java . AWT . begivenhed . * ;
import javax . svinge . * ;
import javax . svinge . begivenhed . Changeevent ;
import javax . svinge . begivenhed . ChangeListener ;
Ehouse4java public class udvider JFrame redskaber ActionListener , ChangeListener {
/ **
* Klasse ansvarlig for initialisering af systemets status , og skabe
* Den programmets hovedvindue . Implementerer grænseflader, der understøtter tilfælde
* Forbundet med knapper .
*
* Klasse Ansvarlig for initialisering af status af klasser og skabe
* Den programmets hovedvindue . , Der gennemfører grænseflader støtte arrangementer
* Relateret til knapperne .
* /
/ **
* Visualisering objekt, der indeholder for øjeblikket Vist visning
* /
offentlig visualisering Visualisering ;
/ / Offentlige visualisering Options ;
/ / Offentlige visualisering TextEvents ;
/ **
* Pallete af knapper understøtter zoome , skifter og ændres
* Vises visning
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Options ;
JButton View ;
JButton Back ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel med alle knapper
* /
JPanel ZoomPanel ;
/ **
* Panel Vist øjeblikket indeholder visualisering
* /
JPanel viewpanel ;
/ **
* Panelet indeholder en gruppe med knapper brugt til access controller stater ,
* System tidsplaner mv . .
* /
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 ;
dobbelt prevScaleX ;
dobbelt prevScaleY ;
offentlig endelig dobbelt zoomfactor = 0 . 3 ;
public static String previousoptionsview = ” ” ;
/ **
* Opretter ny form Ehouse4java . Starter status af klasser og grafiske
* Komponenter med hovedvinduet .
* /
public Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Starter alle grafiske komponenter
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (ny dimension (200 , 200)) ;
setVisible (sand) ;
prevCenterX = (int) Visualisering . getBounds () . getCenterX () ;
prevCenterY = (int) Visualisering . getBounds () . getCenterY () ;
}
/ **
* Starter alle komponenter tørre som grafiske paneler , knapper , rullebjælker , etc . .
*
* @ Param rude
* /
public void addComponentToPane (Container rude) {

optionfirsttime = true ;

ExitB = new JButton ( ” Udgang ” ) ;
ExitB . setActionCommand ( ” Udgang ” ) ;
ExitB . addActionListener (denne) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (ny FlowLayout ()) ;
viewpanel . add (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (denne) ;
ZoomPanel . add (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (denne) ;
ZoomPanel . add (ZoomMinusButton) ;
. . .
}
/ **
* Initierer og StatusEhouse StatusCommManager klasser ved at indlæse controllere
* Status
* /
public void oncreate () { . . . }
/ **
* @ Param args de kommandolinjeargumenter
* /
public static void main (String args []) {
/ *
* Opret og vise formen
* /
java . AWT . EventQueue . invokeLater (ny Runnable () {
public void run () {
Ehouse4java ny () . setVisible (sand) ;
}
}) ;
}
/ **
* Understøtter begivenheder påberåbes ved at klikke på knappen
*
* @ Param e
* /
@ Override
public void actionPerformed (ActionEvent e) {
kontakt (e . getActionCommand ()) {
sag ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Kompensationskøb ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centrering visningen efter rescalling
ehousecommunication . OffsetX + = (int) ((Visualisering . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Forskydninger + = (int) ((Visualisering . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Beregn zoom
Visualisering . repaint () ;
returnere ;
. . .
}
}
}