Nyumba Binafsi Visualization na kudhibiti graphical kutoka eHouse Automation System – Java

Graphical visualization ya eHouse Home Automation inaenea mazingira ya maendeleo kwa ajili ya mfumo na inajenga uwezekano wa maendeleo ya kujitegemea programu kwa ajili ya mfumo watumiaji ofeHouse mwisho , kuhusishwa makampuni na wafanyabiashara wanaotaka kuchangia mmoja mmoja katika programu JSE mazingira (Java) . eHouse kwa Java (eHouse4Java) ni sambamba na Android na Windows maktaba ya Mkono , kuruhusu wewe kuunda programu yako mwenyewe kwa paneli kudhibiti na vidonge .
maktaba ni template maombi na inawezesha:

  • mzigo Configuration , majina ya controllers , Matokeo , Pembejeo , sensorer , nk .
  • kuhakikisha mawasiliano ya mfumo wa mtawala
  • kupokea na Decoding mtawala wa data kwa sasa
  • kutuma amri kudhibiti graphically (pamoja na taswira ya vitu) au kutoka aina ya maandishi (kwa selectable shamba)
  • kudhibiti mfumo kupitia WiFi , Internet , SMS , barua pepe
  • Graphical visualization na kudhibiti – mzigo faili Nakala ya vitu graphic kuhusishwa na matukio ya kuuawa (ya mfumo eHouse) na statuses vifaa
  • Automatic visualization kwa mtawala (chumba)

Visualization ni umba kutumia java maktaba ” swing ” na mambo ya ” JPanel ” , ” JButton ” nk .
Hizi vitu ni moja kwa moja ” mara mbili – buffered ” , hivyo kwamba athari ya flicker ni kuondolewa , ambayo ni annoying sana kwa mtumiaji .
user unaweza pia kudhibiti Image:

  • zoom ndani na nje
  • hoja juu , chini na kutoka upande kwa upande
  • kubadili mtazamo wa sasa kwa kuchagua ” Chaguzi ”
  • kurudi visualization graphical ya mfumo kwa kuchagua ” View ”

Mfano wa mfumo eHouse visualization:
 Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
 Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
Zooming ndani na nje ulifanywa na matumizi ya graphics scalable vector (faili) , hivyo kuwa picha haina kupoteza ubora wake baada ya mabadiliko ya viwango:
 Undo zangu

Mpya! ;
Hali controllers ni moja kwa moja kuonyeshwa:
Ni updated kupitia mtandao wa kompyuta au Internet (TCP au UDP) – online (katika wakati halisi)
 Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
 Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
 Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
 Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
Kwa kuchagua ” Chaguzi ” na chumba inaweza kuonekana controllers majimbo na kuchagua mipango .
Kubadilisha hali ya UDP zinazoingia mapenzi moja kwa moja rewizualizacjÄ ™:  Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
 Akili nyumbani kudhibiti eHouse online graphics na taswira - java wazi chanzo
Mbali na taswira ya mtu mmoja mmoja iliyoundwa msingi design usanifu na ufungaji wa nyumbani smart ni moja kwa moja aliumba visualization kujitegemea kwa kila mtawala katika mfumo (hasa kwa RoomManagers na EthernetRoomManager – kwa ajili ya vyumba binafsi) .
Hii inaruhusu kwa paneli huru kudhibiti na taswira kwa chumba kila mmoja mmoja , bila tedious kujenga mradi – makao visualization mfumo .
Kwa CommManager (majimbo ya sensorer alarm , Ouputs)
 Akili nyumbani kudhibiti eHouse graphics na taswira ya moja kwa moja online - java wazi chanzo
Kwa RoomManager na EthernetRoomManager:
 Akili nyumbani kudhibiti eHouse graphics na taswira ya moja kwa moja online - java wazi chanzo
 Akili nyumbani kudhibiti eHouse graphics na taswira ya moja kwa moja online - java wazi chanzo
 Akili nyumbani kudhibiti eHouse graphics na taswira ya moja kwa moja online - java wazi chanzo
mtawala boiler , ahueni ya CO (HeatManagera)
 Akili nyumbani kudhibiti eHouse graphics na taswira ya moja kwa moja online - java wazi chanzo
 Akili nyumbani kudhibiti eHouse graphics na taswira ya moja kwa moja online - java wazi chanzo
Habari zaidi yanaweza kupatikana katika makala kujitoa kwa programu eHouse4Android maktaba (eHouse kwa Android – Android Java) , ambayo imekuwa kutafsiriwa katika Java SE kwa utangamano na urahisi wa programu ya maendeleo juu ya mifumo ya uendeshaji tofauti .
CODE SOURCE
/ *
* Kigezo maombi kwa ajili ya mfumo graphic visualization , smart nyumbani eHouse
* Tu kwa ajili ya watumiaji wa usajili wa eHouse mfumo , Kushirikiana makampuni Haki zote zimehifadhiwa
*
* Inahitaji Madarasa:
* Ehousecommunication . darasa – kutuma matukio kwa mfumo
* EhouseTCP . darasa – Initialization na matengenezo ya mawasiliano zaidi ya TCP / IP mtawala , Updated data kutoka pembejeo mfumo na matokeo
* StatusEhouse . darasa – kuhifadhi data na mtawala mazingira , updated juu ya msingi inayoendelea juu ya TCP / IP controllers ehouse1 (485)
* StatusCommManager . darasa – kuhifadhi data sasa na controllers mazingira , updated juu ya msingi inayoendelea juu ya TCP / IP controllers ehouse2 (Ethernet)
* GraphicObject . darasa – uhifadhi wa vitu graphical
* Visualization . darasa – kuteka vitu graphical (mistari , ellipses , mistatili) na huduma matukio yanayohusiana na
*
* Maombi ya template iliyoundwa visualization graphic ya System eHouse
* TU Watumiaji Registered , Wachuuzi , USHIRIKA Copyright ISYS . Sw Haki zote zimehifadhiwa
*
* Required madarasa:
* Ehousecommunication . darasa – kutuma matukio kwa mfumo
* EhouseTCP . darasa – initialization na matengenezo ya TCP / IP mawasiliano na controllers , uppdatering hali ya sasa ya controllers
* StatusEhouse . darasa – controllers mazingira na kuhifadhi data , uppdatering data (TCP / IP) kwa controllers ehouse1 (485)
* StatusCommManager . darasa – controllers mazingira na kuhifadhi data , uppdatering data (TCP / IP) kwa controllers ehouse2 (Ethernet)
* GraphicObject . darasa – kuhifadhi data graphic vitu
* Visualization . darasa – kuchora mchoro vitu (mistari , Ellipses , mistatili) na matukio ya utunzaji kuhusiana na wao
* /
ehouse4java mfuko ;
kuagiza java . awt . * ;
kuagiza java . awt . tukio . * ;
kuagiza javax . swing . * ;
kuagiza javax . swing . tukio . Changeevent ;
kuagiza javax . swing . tukio . ChangeListener ;
Ehouse4java umma darasa inaenea zana JFrame ActionListener , ChangeListener {
/ **
* Hatari kuwajibika kwa initializing sasa mfumo , na kujenga
* Kuu ya maombi dirisha . Kutekeleza interfaces kwamba msaada tukio
* Yanayohusiana na vifungo .
*
* Hatari Responsible kwa initializing hali ya madarasa na kujenga
* Kuu ya maombi dirisha . Hiyo kutekeleza matukio msaada interfaces
* Kuhusiana na vifungo .
* /
/ **
* Visualization kitu containing sasa ka mtazamo
* /
umma visualization Visualization ;
/ / Umma visualization Chaguzi ;
/ / Umma visualization TextEvents ;
/ **
* Pallete ya kifungo kusaidia zooming , shifting na kubadilisha
* Ka mtazamo
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Chaguzi ;
JButton View ;
JButton Nyuma ;
JButton [] = mpya JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Jopo na vifungo wote
* /
JPanel ZoomPanel ;
/ **
* Jopo visas sasa zenye taswira
* /
JPanel viewpanel ;
/ **
* Jopo zenye kundi la vifungo kutumika kupata majimbo controllers ,
* System ratiba nk . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
umma tuli int buttonscounter ;
umma int centerX ;
umma int CenterY ;
umma int prevCenterX ;
umma int prevCenterY ;
umma int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
mbili prevScaleX ;
mbili prevScaleY ;
umma ya mwisho mbili zoomfactor = 0 . 3 ;
umma tuli Kamba previousoptionsview = ” ” ;
/ **
* Feed mpya fomu Ehouse4java . Initiativet hali ya madarasa na graphic
* Components kwa dirisha kuu .
* /
umma Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Initiativet vipengele vyote graphic
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (mpya Vipimo (200 , 200)) ;
setVisible (wa kweli) ;
prevCenterX = (int) Visualization . getBounds () . getCenterX () ;
prevCenterY = (int) Visualization . getBounds () . getCenterY () ;
}
/ **
* Initiativet vipengele vyote kavu kama paneli graphic , vifungo , scrollbars , nk . .
*
* @ Param Pane
* /
umma utupu addComponentToPane (Kontena Pane) {

optionfirsttime = kweli ;

ExitB = mpya JButton ( ” Toka ” ) ;
ExitB . setActionCommand ( ” Toka ” ) ;
ExitB . addActionListener (hii) ;
. . .
indexView int = 0 ;
ZoomPanel = mpya JPanel (mpya FlowLayout ()) ;
viewpanel . kuongeza (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = mpya JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (hii) ;
ZoomPanel . kuongeza (ZoomPlusButton) ;
ZoomMinusButton = mpya JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (hii) ;
ZoomPanel . kuongeza (ZoomMinusButton) ;
. . .
}
/ **
* Initiativet na StatusEhouse madarasa StatusCommManager na controllers upakiaji
* Hali ya
* /
umma utupu OnCreate () { . . . }
/ **
* @ Param args mstari amri hoja
* /
umma tuli utupu kuu (String args []) {
/ *
* Fungua na kuonyesha fomu
* /
java . awt . EventQueue . invokeLater (mpya Runnable () {
umma utupu kukimbia () {
Ehouse4java mpya () . setVisible (wa kweli) ;
}
}) ;
}
/ **
* Inasaidia matukio kutenguliwa kwa kubonyeza kifungo
*
* @ Param e
* /
@ Override
umma utupu actionPerformed (ActionEvent e) {
kubadili (e . getActionCommand ()) {
kesi ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Offsets ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centering mtazamo baada 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) ; / / Kokotoa zoom
Visualization . repaint () ;
kurudi ;
. . .
}
}
}