House Individuele visualisering en grafiese beheer van eHouse System Automation – Java

Grafiese visualisering van eHouse Home Automation strek die ontwikkeling omgewing vir die stelsel en skep die moontlikheid van 'n onafhanklike sagteware-ontwikkeling vir eindgebruikers ofeHouse stelsel , geassosieerde maatskappye en besighede wat individueel bydra programmering in JSE (Java) Omgewing . eHouse vir Java (eHouse4Java) is verenigbaar met die Android en Windows Mobile biblioteke , sodat jy jou eie sagteware vir die beheer panele en tablette te skep .
Die biblioteek is die toepassing sjabloon en in staat stel om:

  • laai opset , die name van die beheerders , Uitsette , Insette , sensors , ens .
  • verseker dat kommunikasie stelsel kontroleerder
  • ontvangs en dekodering van die data kontroleerder status
  • stuur instruksies grafies (met die visualisering van voorwerpe) of van 'n teks vorm (met 'n gebied te kies)
  • beheer stelsel via WiFi , Internet , SMS , eMail
  • Grafiese visualisering en beheer – laai die teks lêer van grafiese voorwerpe wat verband hou met die gebeure wat uitgevoer moet word (van eHouse stelsel) en toerusting statusse
  • Outomatiese visualisering vir die beheerder (kamer)

Visualisering is geskep met behulp van Java-biblioteek ” swaai ” met elemente van 'n ” JPanel ” , ” JButton ” ens .
Hierdie voorwerpe is outomaties ” verdubbel – gebuffer ” , sodat die effek van flikkering word uitgeskakel , wat is baie irriterende vir die gebruiker .
Die gebruiker kan ook beheer oor die beeld:

  • Zoom in en uit
  • skuif op , af en van kant tot kant
  • die huidige vertoning te verander deur die kies van die ” Opsies ”
  • terug te keer na die grafiese visualisering van die stelsel deur die kies van die ” View ”

Voorbeeld van visualisering eHouse stelsel:
 Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
 Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
In-en uitzoomen is uitgevoer met die gebruik van Scalable Vector Graphics (SVG) , sodat die beeld nie die kwaliteit verloor na die verandering van die skaal:
 Ontdoen wysigings

Nuut! ;
beheerders status word outomaties vertoon:
Dit is bygewerk deur middel van 'n rekenaarnetwerk of die Internet (TCP of UDP) – aanlyn (in real time)
 Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
 Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
 Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
 Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
Deur die kies van die ” Opsies ” en die kamer gesien kan word state controllers en programme te kies .
Die verandering van die status van die inkomende UDP sal outomaties rewizualizacjÄ ™:  Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
 Intelligente huis beheer eHouse aanlyn grafika en visualisering - java open source
In bykomend tot visualisering van individueel ontwerp wat gebaseer is op die argitektoniese ontwerp en installering van smart huis word outomaties geskep om die visualisering onafhanklik vir elke kontroleerder in die stelsel (in die besonder vir RoomManagers en EthernetRoomManager – vir individuele kamers) .
Dit maak voorsiening vir onafhanklike beheer panele en visualisering vir elke kamer individueel , sonder vervelige projek te skep – gebaseerde visualisering stelsel .
Vir CommManager (state van alarm sensors , Ouputs)
 Intelligente huis beheer eHouse graphics en visualisering outomatiese aanlyn - java open source
Vir RoomManager en EthernetRoomManager:
 Intelligente huis beheer eHouse graphics en visualisering outomatiese aanlyn - java open source
 Intelligente huis beheer eHouse graphics en visualisering outomatiese aanlyn - java open source
 Intelligente huis beheer eHouse graphics en visualisering outomatiese aanlyn - java open source
Die ketel kontroleerder , herstel van CO (HeatManagera)
 Intelligente huis beheer eHouse graphics en visualisering outomatiese aanlyn - java open source
 Intelligente huis beheer eHouse graphics en visualisering outomatiese aanlyn - java open source
Meer inligting kan gevind word in die artikels gewy aan programmering biblioteke eHouse4Android (eHouse vir Android – Android Java) , wat reeds vertaal in Java SE vir die verenigbaarheid en die gemak van die ontwikkeling van sagteware op verskillende bedryfstelsels .
Die bron-kode
/ *
* Template aansoeke vir grafiese visualisering stelsel , smart huis eHouse
* Slegs vir geregistreerde gebruikers van die stelsel eHouse , Saam te werk maatskappye All Rights Reserved
*
* Vereis Klasse:
* Ehousecommunication . klas – Stuur gebeure wat tot die stelsel
* EhouseTCP . klas – Inisialisasie en instandhouding van kommunikasie oor TCP / IP kontroleerder , Bygewerk data van die insette en uitsette van die stelsel
* StatusEhouse . klas – data stoor en kontroleerder instellings , opgedateer op 'n deurlopende basis oor TCP / IP controllers ehouse1 (485)
* StatusCommManager . klas – stoor huidige data en instellings controllers , opgedateer op 'n deurlopende basis oor TCP / IP controllers ehouse2 (Ethernet)
* GraphicObject . klas – berging van grafiese voorwerpe
* Visualisering . klas – teken grafiese voorwerpe (lyne , ellipse , reghoeke) en diens-verwante gebeure
*
* Aansoek sjabloon ontwerp 'n grafiese visualisering van eHouse System
* Slegs beskikbaar vir geregistreerde gebruikers , Verkopers , Koöperasies Copyright ISYS . En All Rights Reserved
*
* Vereiste klasse:
* Ehousecommunication . klas – die stuur van gebeure wat tot die stelsel
* EhouseTCP . klas – inisialisering en instandhouding TCP / IP kommunikasie met beheerders , opdatering van die huidige status van beheerders
* StatusEhouse . klas – beheerders instellings en data stoor , opdatering van data (TCP / IP) vir ehouse1 controllers (485)
* StatusCommManager . klas – beheerders instellings en data stoor , opdatering van data (TCP / IP) vir ehouse2 controllers (Ethernet)
* GraphicObject . klas – grafiese data stoor voorwerpe
* Visualisering . klas – teken grafiese voorwerpe (lyne , Ellipse , reghoeke) en hantering gebeure wat verband hou met hulle
* /
ehouse4java pakket ;
invoer java . awt . * ;
invoer java . awt . gebeurtenis . * ;
invoer javax . swaai . * ;
invoer javax . swaai . gebeurtenis . Changeevent ;
invoer javax . swaai . gebeurtenis . ChangeListener ;
Ehouse4java public class strek JFrame implemente ActionListener , ChangeListener {
/ **
* Klas verantwoordelik vir die inisialisering van die stelsel status , en die skep van
* Die belangrikste venster . Implemente interfaces wat die geleentheid ondersteun
* Verband hou met knoppies .
*
* Klas Verantwoordelik vir die inisialisering van die status van klasse en die skep van
* Die belangrikste venster . Dit Implemente interfaces ondersteuning gebeure
* Verwant aan die knoppies .
* /
/ **
* Visualisering voorwerp wat huidiglik vertoon oog
* /
openbare impressie impressie ;
/ / Openbare visualisatie opsies ;
/ / Openbare visualisering TextEvents ;
/ **
* Pallete knoppies te ondersteun inzoomen , verskuiwing en veranderende
* Vertoon die oog
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Options ;
JButton View ;
JButton Terug ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel met al die knoppies
* /
JPanel ZoomPanel ;
/ **
* Paneel vertoon wat tans visualisering
* /
JPanel viewpanel ;
/ **
* Die paneel met 'n groep van knoppies controllers state gebruik om toegang te verkry tot ,
* System skedules ens . .
* /
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 ;
dubbel prevScaleX ;
dubbel prevScaleY ;
openbare finale dubbel zoomfactor = 0 . 3 ;
public static String previousoptionsview = ” ” ;
/ **
* Skep nuwe vorm Ehouse4java . Inisieer die status van klasse en grafiese
* Komponente met die hoof venster .
* /
openbare Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Inisieer alle grafiese komponente
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (nuwe dimensie (200 , 200)) ;
setVisible (ware) ;
prevCenterX = (int) Visualization . getBounds () . getCenterX () ;
prevCenterY = (int) Visualization . getBounds () . getCenterY () ;
}
/ **
* Inisieer alle komponente droog as grafiese panele , knoppies , rolstawe , ens . .
*
* @ Param paneel
* /
public void addComponentToPane (Container paneel) {

optionfirsttime = true ;

ExitB = new JButton ( ” Verlaat ” ) ;
ExitB . setActionCommand ( ” Verlaat ” ) ;
ExitB . addActionListener (hierdie) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (nuwe FlowLayout ()) ;
viewpanel . voeg (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (hierdie) ;
ZoomPanel . voeg (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (hierdie) ;
ZoomPanel . voeg (ZoomMinusButton) ;
. . .
}
/ **
* Inisieer en StatusEhouse StatusCommManager klasse laai controllers
* Status
* /
public void OnCreate () { . . . }
/ **
* @ Param argumente die command line argumente
* /
public static void main (String argumente []) {
/ *
* Skep en vertoon die vorm
* /
java . awt . EventQueue . invokeLater (nuwe uitvoerbare () {
public void run () {
Ehouse4java nuwe () . setVisible (ware) ;
}
}) ;
}
/ **
* Ondersteun gebeure opgeroep deur te kliek op die knoppie
*
* @ Param e
* /
@ Ignoreer
public void actionPerformed (ActionEvent e) {
switch (e . getActionCommand ()) {
geval ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Offsets ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Leadership die oog na rescalling
ehousecommunication . OffsetX + = (int) ((Visualization . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Offsets + = (int) ((Visualization . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Bereken zoom
Visualisering . verf () ;
terugkeer ;
. . .
}
}
}