House Առանձին Visualization եւ գրաֆիկական վերահսկողության eHouse համակարգի ավտոմատացման համար – Java

Գրաֆիկական Visualization եւ eHouse Home Automation երկարացրել զարգացման միջավայր համակարգի ստեղծում հնարավորությունը եւ անկախ Ծրագրային ապահովման մշակում վերջնական օգտագործողների ofeHouse համակարգում , կապված ընկերությունների եւ ձեռնարկությունների ցանկանում է նպաստել անհատապես ծրագրավորման JSE (Java) Բնապահպանություն . eHouse համար Java (eHouse4Java) այն համատեղելի է Android եւ Windows Mobile գրադարանների , որը թույլ է տալիս Ձեզ ստեղծել Ձեր սեփական ծրագրային ապահովման համար, վերահսկողության վահանակներ Ցուցանակներ .
Գրադարանը դիմումը Կաղապար եւ հնարավորություն է տալիս:

  • բեռնել կոնֆիգուրացիան , անունները Կարգավորիչներ , Արդյունքները , Միջոցները , սենսորների , եւ այլն .
  • ապահովելով համակարգի հատուկ արարիչ սարք
  • ստացման եւ ապակոդավորում տվյալների հսկիչ կարգավիճակ
  • ուղարկել հսկիչ հրամանները գրաֆիկորեն (հետ visualization օբյեկտների) կամ տեքստային ձեւով (with դաշտային selectable)
  • հսկման համակարգեր միջոցով WiFi , Ինտերնետ , SMS , eMail
  • Գրաֆիկական Visualization եւ վերահսկում – բեռնել տեքստային ֆայլի գրաֆիկական օբյեկտների հետ կապված միջոցառումներ պետք է իրականացնենք (of eHouse համակարգում) եւ սարքավորումների դրությունից
  • Ավտոմատ Visualization համար վերահսկիչ (սենյակ)

Visualization ստեղծվել օգտագործելով java գրադարանը ” ումպ ” հետ տարրերով է ” JPanel ” , ” JButton ” եւ այլն .
Այդ օբյեկտներն են ավտոմատ կերպով ” կրկնակի – buffered ” , այնպես, որ արդյունքում երերում է վերացվի , որը շատ annoying համար օգտագործողի .
Օգտվողը կարող է նաեւ վերահսկել Կարգավիճակ:

  • zoom եւ դուրս
  • շարժվել մինչեւ , ներքեւ եւ կողմի կողմից
  • փոխել ներկայիս տեսքը, ընտրելով ” Ընտրանքներ ”
  • վերադառնալու է գրաֆիկական visualization համակարգի կողմից ընտրելով ” Դիտել ”

Օրինակ Visualization eHouse համակարգը:
 Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
 Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
Zooming եւ դուրս էր իրականացվում scalable վեկտոր գրաֆիկայի (SVG օգտագործմամբ) , որ պատկերը չի կորցնում իր որակի փոփոխությունից հետո սանդղակով:
 Հետադարձել խմբագրումները

New! ;
վերահսկողները կարգավիճակ են ավտոմատ կերպով ցուցադրվում:
Այն թարմացվում է համակարգչային ցանցի միջոցով կամ Ինտերնետ (TCP կամ UDP) – օնլայն (իրական ժամանակով)
 Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
 Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
 Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
 Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
, Ընտրելով ” Ընտրանքներ ” եւ սենյակը կարելի States կարգավարների եւ ընտրել ծրագրեր .
Տեսակի փոփոխման ներգնա UDP ավտոմատ rewizualizacjÄ ™:  Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
 Խելացի տունը վերահսկման eHouse օնլայն գրաֆիկա եւ արտացոլման - Java Open Source
Ի լրումն visualization կողմից անհատապես հիման վրա մշակված ճարտարապետական ​​նախագծում, մոնտաժում Smart տուն է ինքնաբերաբար ստեղծել Visualization ինքնուրույն յուրաքանչյուր վերահսկիչ է համակարգի (մասնավորապես RoomManagers եւ EthernetRoomManager – առանձին սենյակներում) .
Սա հնարավորություն է տալիս անկախ վերահսկողության վահանակներ եւ արտացոլման, յուրաքանչյուր սենյակում առանձին , առանց ձանձրալի ստեղծելու ծրագիրը – վրա հիմնված համակարգը Visualization .
For CommManager (պետությունները ազդարարման սենսորների , Ouputs)
 Խելացի տունը վերահսկման eHouse գրաֆիկա եւ Visualization ավտոմատ առցանց - Java Open Source
Համար RoomManager եւ EthernetRoomManager:
 Խելացի տունը վերահսկման eHouse գրաֆիկա եւ Visualization ավտոմատ առցանց - Java Open Source
 Խելացի տունը վերահսկման eHouse գրաֆիկա եւ Visualization ավտոմատ առցանց - Java Open Source
 Խելացի տունը վերահսկման eHouse գրաֆիկա եւ Visualization ավտոմատ առցանց - Java Open Source
The կաթսա հատուկ արարիչ սարք , վերականգնումը CO (HeatManagera)
 Խելացի տունը վերահսկման eHouse գրաֆիկա եւ Visualization ավտոմատ առցանց - Java Open Source
 Խելացի տունը վերահսկման eHouse գրաֆիկա եւ Visualization ավտոմատ առցանց - Java Open Source
Ավելի մանրամասն տեղեկություններ կարելի է գտնել այսօր տեղի ծրագրավորման գրադարանների eHouse4Android (eHouse Android-ի համար – Android Java) , որոնք թարգմանվել են Java SE համար համատեղելիությունը եւ հեշտ ծրագրային ապահովման զարգացման տարբեր օպերացիոն համակարգեր .
Ելակետային կոդը
/ *
* Կաղապար հայտերը գրաֆիկական արտացոլման համակարգի , Smart տուն eHouse
* Միայն գրանցված օգտվողների համակարգի eHouse , Համագործակցող ընկերություններ Բոլոր իրավունքները պաշտպանված են
*
* Պահանջում դասեր:
* Ehousecommunication . դաս – ուղարկել միջոցառումներ համակարգին
* EhouseTCP . դաս – Initialization եւ սպասարկում կապի ավելի քան TCP / IP վերահսկիչ , Թարմացվել է տվյալներ, այդ համակարգի միջոցները եւ արդյունքներին
* StatusEhouse . դաս – տվյալների պահպանման եւ վերահսկիչ գործառույթներ , Թարմացվել է շարունակական հիմունքներով է TCP / IP Կարգավորիչներ ehouse1 (485)
* StatusCommManager . դաս – պահել առկա տվյալները եւ պարամետրերը Կարգավորիչներ , Թարմացվել է շարունակական հիմունքներով է TCP / IP Կարգավորիչներ ehouse2 (Ethernet)
* GraphicObject . դաս – պահեստավորում գրաֆիկական օբյեկտների
* Visualization . դաս – նկարել գրաֆիկական օբյեկտները (Գծեր , ellipses , ուղղանկյուններ) եւ սպասարկման հետ կապված իրադարձություններ
*
* Ծրագիր է, որը նախատեսված է Կաղապար գրաֆիկական արտացոլման եւ eHouse համակարգի
* ՄԻԱՅՆ գրանցված օգտվողները , Մատակարարների , Կոոպերատիվների Copyright ISYS . En All Rights Reserved
*
* Պարտադիր դասեր:
* Ehousecommunication . դաս – ուղարկելով միջոցառումներ համակարգին
* EhouseTCP . դաս – initialization եւ սպասարկում TCP / IP հետ Կարգավորիչներ , թարմացնելու ներկայիս կարգավիճակը կարգավարների
* StatusEhouse . դաս – կարգավարների պարամետրերը եւ տվյալների պահպանման , Թարմացվում տվյալներ (TCP / IP) ehouse1 Կարգավորիչներ (485)
* StatusCommManager . դաս – կարգավարների պարամետրերը եւ տվյալների պահպանման , թարմացում տվյալները (TCP / IP) ehouse2 Կարգավորիչներ (Ethernet)
* GraphicObject . դաս – արվեստ տվյալների պահպանման օբյեկտները
* Visualization . դաս – Գունավոր արվեստ օբյեկտները (գծեր , Ellipses , ուղղանկյուններ) բեռնաթափման միջոցառումների հետ կապված նրանց
* /
ehouse4java փաթեթ ;
Ներմուծման Java . awt . * ;
Ներմուծման Java . awt . իրադարձություն . * ;
Ներմուծման javax . ումպ . * ;
Ներմուծման javax . ումպ . իրադարձություն . Changeevent ;
Ներմուծման javax . ումպ . իրադարձություն . ChangeListener ;
Ehouse4java հասարակական կարգի տարածվում JFrame իրականացնում ActionListener , ChangeListener {
/ **
* Դուք պատասխանատու Նախապատրաստվում համակարգի կարգավիճակ , ստեղծել
* Հիմնական հայտի պատուհանը . Իրականացնում է որոնում, որոնք աջակցում են միջոցառումը
* Կապված կոճակներ .
*
* Դուք պատասխանատու Նախապատրաստվում կարգավիճակ դասերի եւ ստեղծել
* Հիմնական հայտի պատուհանը . Այն իրականացնում է ինտերֆեյսերի աջակցության միջոցառումներ
* Առնչվող է կոճակներ .
* /
/ **
* Visualization օբյեկտ պարունակող ներկայումս ցուցադրվում տեսակետը
* /
հասարակական Visualization Visualization ;
/ / Հասարակական արտացոլման Ընտրանքներ ;
/ / Հասարակական արտացոլման TextEvents ;
/ **
* Pallete կոճակներ սատարող zooming , անցումն եւ փոխվենք
Ցուցադրված * Դիտել
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = առ ;
JButton Ընտրանքներ ;
JButton View ;
JButton Հետ ;
JButton [] = նոր JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel բոլոր կոճակներ
* /
JPanel ZoomPanel ;
/ **
* Panel ներկայումս ցուցադրվում է, որը պարունակում է արտացոլման
* /
JPanel viewpanel ;
/ **
* The վահանակ պարունակող մի խումբ կոճակներ օգտագործվող մուտք Կարգավորիչներ պետություններին ,
* System ժամանակացույցերը եւ այլն . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
հասարակական ստատիկ int buttonscounter ;
հասարակական int centerX ;
հասարակական int CenterY ;
հասարակական int prevCenterX ;
հասարակական int prevCenterY ;
հասարակական int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
Կրկնակի prevScaleX ;
Կրկնակի prevScaleY ;
հասարակական վերջնական կրկնակի zoomfactor = 0 . 3 ;
հասարակական ստատիկ String previousoptionsview = ” ” ;
/ **
* Ստեղծում նոր ձեւ Ehouse4java . Նախաձեռնում կարգավիճակ դասերի եւ գրաֆիկական
* Բաղադրիչներ ունեցող հիմնական պատուհանում .
* /
հասարակական Ehouse4java () {
սուպեր ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Նախաձեռնում է բոլոր գրաֆիկական բաղադրիչները
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (նոր Dimension (200 , 200)) ;
setVisible (իսկական) ;
prevCenterX = (int) Visualization . getBounds () . getCenterX () ;
prevCenterY = (int) Visualization . getBounds () . getCenterY () ;
}
/ **
* – Ն, ինչպես նաեւ բոլոր բաղադրիչների չոր գրաֆիկական վահանակներ , սպասավոր , scrollbars , եւ այլն . .
*
* @ Param թրաշ
* /
հասարակական անվավեր addComponentToPane (Տարա թրաշ) {

optionfirsttime = ճիշտ ;

ExitB = նոր JButton ( ” Ելք ” ) ;
ExitB . setActionCommand ( ” Ելք ” ) ;
ExitB . addActionListener (this) ;
. . .
indexView int = 0 ;
ZoomPanel = նոր JPanel (նոր FlowLayout ()) ;
viewpanel . ավելացնել (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = նոր JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (this) ;
ZoomPanel . ավելացնել (ZoomPlusButton) ;
ZoomMinusButton = նոր JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (this) ;
ZoomPanel . ավելացնել (ZoomMinusButton) ;
. . .
}
/ **
* Նախաձեռնում եւ StatusEhouse StatusCommManager Դասնթացներ ի loading Կարգավորիչներ
* Կարգավիճակը
* /
հասարակական անվավեր OnCreate () { . . . }
/ **
* @ Param args է հրամանի տող փաստարկները
* /
հասարակական ստատիկ անվավեր main (լարային args []) {
/ *
* Ստեղծել եւ ցուցադրել ձեւը
* /
Java . awt . EventQueue . invokeLater (նոր Runnable () {
հասարակական անվավեր run () {
Ehouse4java նոր () . setVisible (իսկական) ;
}
}) ;
}
/ **
* Աջակցում է միջոցառումների վկայակոչվել սեղմելով կոճակը
*
* E @ Param
* /
@ Վերագրել
հասարակական անվավեր actionPerformed (ActionEvent e) {
switch (e . getActionCommand ()) {
գործ ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Դիսկ ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centering տեսակետը հետո rescalling
ehousecommunication . OffsetX + = (int) ((Visualization . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . + Դիսկ = (int) ((Visualization . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Հաշվել zoom
Visualization . վերաներկել () ;
վերադարձ ;
. . .
}
}
}