House Indibidwal Visualization at graphical control mula sa eHouse System Automation – Dyaba

Graphical visualization ng eHouse Home Automation umaabot ang pag-unlad na kapaligiran para sa system at lumilikha ang posibilidad ng isang malayang pagpapaunlad ng software para sa mga end user sistema ofeHouse , nauugnay na mga kumpanya at negosyo na nais na mag-ambag indibidwal programming sa JSE (Java) na kapaligiran . eHouse para sa Java (eHouse4Java) ay tugma sa Android at Windows Mobile aklatan , na nagpapahintulot sa iyo na lumikha ng iyong sariling software para sa control panel at tablet .
Library ay ang application template at nagbibigay-daan sa:

  • maikarga , ang mga pangalan ng controllers , Output , Input , sensor , atbp .
  • pagtiyak controller ng sistema ng komunikasyon
  • pagtanggap at nagde-decode ang data controller katayuan
  • magpadala ng mga command sa control graphically (gamit ang visualization ng mga bagay) o mula sa teksto form na (sa field mapipili)
  • kontrolin ang sistema sa pamamagitan ng WiFi , Internet , SMS , Email
  • Graphical visualization at kontrol – load ang text file ng mga graphic mga bagay na nauugnay sa mga kaganapan upang ipatupad ang (ng eHouse sistema) at mga kagamitan katayuan
  • Awtomatikong visualization para sa controller (room)

Visualization ay nilikha gamit ang java library ” ugoy ” may mga elemento ng isang ” JPanel ” , ” JButton ” atbp .
Mga bagay na ito ay awtomatikong ” double – buffered ” , sa gayon na ang epekto ng andap ay eliminated , kung saan ay napaka-nakakainis para sa user .
Gumagamit ay maaari ring kontrolin ang imahe:

  • mag-zoom in at out
  • gumalaw , down at mula sa gilid sa gilid
  • baguhin ang kasalukuyang view sa pamamagitan ng pagpili sa ” Mga Pagpipilian sa ”
  • bumalik sa graphical visualization ng system sa pamamagitan ng pagpili sa ” Tingnan ”

Halimbawa ng visualization eHouse sistema:
 Intelligent control eHouse bahay online graphic at visualization - java open source
 Intelligent control eHouse bahay online graphic at visualization - java open source
Pag-zoom in at out ay natupad ang paggamit ng nasusukat na mga vector graphics (SVG) , sa gayon na ang imahe ay hindi mawalan ng kalidad nito pagkatapos ng pagbabago ng sukatan:
 I-undo ang mga pag-edit

Bago! ;
controllers katayuan ay awtomatikong ipinapakita:
-Update sa pamamagitan ng isang computer network o sa Internet (TCP o UDP) – online (sa real time)
 Intelligent control eHouse bahay online graphic at visualization - java open source
 Intelligent control eHouse bahay online graphic at visualization - java open source
 Intelligent control eHouse bahay online graphic at visualization - java open source
 Intelligent control eHouse bahay online graphic at visualization - java open source
Sa pamamagitan ng pagpili sa ” Mga Pagpipilian sa ” at maaaring makita ang room ng controllers estado at pumili ng mga programa .
Pagbabago ng katayuan ng papasok na UDP Awtomatikong rewizualizacjÄ ™:  Intelligent control eHouse bahay online graphic at visualization - java open source
 Intelligent control eHouse bahay online graphic at visualization - java open source
Bilang karagdagan sa visualization ng mga kanya-kanyang disenyo batay sa arkitektura disenyo at pag-install sa smart tahanan ay awtomatikong nalikha ang visualization sa nakapag-iisa para sa bawat controller sa system (sa partikular na para sa mga RoomManagers at EthernetRoomManager – para sa mga indibidwal na kuwarto) .
Na ito ay nagbibigay-daan para sa mga independiyenteng control panel at visualization para sa bawat kuwarto indibidwal , walang pagod sa upang lumikha ng proyekto – batay sa visualization sistema .
Para sa CommManager (estado ng alarma sensor , Ouputs)
 Intelligent kontrol bahay eHouse graphics at visualization awtomatikong online - java open source
Para sa RoomManager at EthernetRoomManager:
 Intelligent kontrol bahay eHouse graphics at visualization awtomatikong online - java open source
 Intelligent kontrol bahay eHouse graphics at visualization awtomatikong online - java open source
 Intelligent kontrol bahay eHouse graphics at visualization awtomatikong online - java open source
Ang kuluan controller , pagbawi ng CO (HeatManagera)
 Intelligent kontrol bahay eHouse graphics at visualization awtomatikong online - java open source
 Intelligent kontrol bahay eHouse graphics at visualization awtomatikong online - java open source
Higit pang impormasyon ay matatagpuan sa mga artikulo na nakatuon sa mga aklatan ng programming eHouse4Android (eHouse para sa Android – Android Java) , na isinalin sa Java SE para sa compatibility at kadalian ng software development sa iba't ibang mga operating system .
ANG SOURCE CODE
/ *
* Template application para sa graphic visualization sistema , sa smart tahanan eHouse
* Tanging para sa mga nakarehistrong user ng eHouse sistema , Cooperating kumpanya Nakalaan ang Lahat ng Mga Karapatan
*
* Kinakailangan ang Mga Klase:
* Ehousecommunication . klase – magpadala ng mga kaganapan sa sistema
* EhouseTCP . klase – Pinasimulan at pagpapanatili ng mga komunikasyon sa paglipas ng TCP / IP controller , Update na data mula sa sistema input at output
* StatusEhouse . klase – data ng imbakan at mga setting ng controller , update sa isang patuloy na batayan sa TCP / IP controllers ehouse1 (485)
* StatusCommManager . klase – -imbak ng data at mga setting controllers , update sa isang patuloy na batayan sa TCP / IP controllers ehouse2 (Ethernet)
* GraphicObject . klase – imbakan ng mga graphical na mga bagay
* Visualization . klase – gumuhit mga graphical na bagay (mga linya , ellipses , parihaba) at serbisyo kaugnay na mga kaganapan
*
* Application template na dinisenyo graphic visualization ng eHouse System
* Para lamang sa mga nakarehistrong user , Vendor , Kooperatiba Copyright ISYS . En Lahat ng Karapatan
*
* Kinakailangang mga klase:
* Ehousecommunication . klase – pagpapadala ng mga kaganapan sa sistema
* EhouseTCP . klase – Pinasimulan at pagpapanatili TCP / IP komunikasyon sa controllers , pag-update ng kasalukuyang katayuan ng mga controllers
* StatusEhouse . klase – controllers setting at data storage , pag-update ng data (TCP / IP) para sa mga ehouse1 controllers (485)
* StatusCommManager . klase – controllers setting at data storage , pag-update ng data (TCP / IP) para sa mga ehouse2 controllers (Ethernet)
* GraphicObject . klase – graphic na data ng imbakan bagay
* Visualization . klase – pagguhit graphic na mga bagay (mga linya , Ellipses , parihaba) at handling mga kaganapan na may kaugnayan sa kanila
* /
ehouse4java package ;
-import ng java . awt . * ;
-import ng java . awt . pangyayari . * ;
-import javax . ugoy . * ;
-import javax . ugoy . pangyayari . Changeevent ;
-import javax . ugoy . pangyayari . ChangeListener ;
Klase Ehouse4java pampublikong umaabot ActionListener JFrame ipinapatupad , ChangeListener {
/ **
* Class responsable para sa Sinisimulan ang katayuan ng sistema , at lumikha
* Ang pangunahing window ng application . Ipinapatupad ng interface na sumusuporta sa kaganapan
* Kaugnay na may mga pindutan .
*
* Class Responsable para sa Sinisimulan ang katayuan ng mga klase at paglikha
* Ang pangunahing window ng application . Na ipinapatupad ng mga interface kaganapan sa suporta
* Nauugnay sa ang mga pindutan .
* /
/ **
* Visualization bagay na naglalaman ng kasalukuyang Ipinapakitang pagtingin
* /
pampublikong visualization Visualization ;
/ / Pampublikong visualization ang Opsyon ;
/ / Pampublikong visualization TextEvents ;
/ **
* Pallete ng mga pindutan na sumusuporta sa pag-zoom , paglilipat at pagbabago
* Ipinapakitang pagtingin
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Mga Pagpipilian ;
JButton View ;
JButton Bumalik ;
JButton [] = bagong JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel sa lahat ng pindutan
* /
JPanel ZoomPanel ;
/ **
* Panel ipinapakita kasalukuyang naglalaman ng visualization
* /
JPanel viewpanel ;
/ **
* Ang panel na naglalaman ng isang pangkat ng mga pindutan na ginagamit upang ma-access ang mga estado controllers ,
* System atbp iskedyul . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
pampublikong static int buttonscounter ;
pampublikong int centerX ;
pampublikong int CenterY ;
pampublikong int prevCenterX ;
pampublikong int prevCenterY ;
pampublikong int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
double prevScaleX ;
double prevScaleY ;
pampublikong panghuling double zoomfactor = 0 . 3 ;
pampublikong static String previousoptionsview = ” ” ;
/ **
* Lumilikha ng bagong paraan Ehouse4java . Nagpasimula ang katayuan ng mga klase at mga graphic
* Mga Bahagi sa pangunahing window .
* /
pampublikong Ehouse4java () {
sobrang ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Sinimulan ang lahat ng mga graphic na bahagi
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (bagong Dimensyon (200 , 200)) ;
setVisible (totoo) ;
prevCenterX = (int) Visualization . getBounds () . getCenterX () ;
prevCenterY = (int) Visualization . getBounds () . getCenterY () ;
}
/ **
* Sinimulan ang lahat ng mga bahagi ng dry bilang graphic panel , pindutan , scrollbars , atbp . .
*
* @ Param pane
* /
pampublikong void addComponentToPane (Lalagyan pane) {

optionfirsttime = true ;

ExitB = bagong JButton ( ” Lumabas ” ) ;
ExitB . setActionCommand ( ” Lumabas ” ) ;
ExitB . addActionListener () ;
. . .
indexView int = 0 ;
Mga ZoomPanel = bagong JPanel (bagong FlowLayout ()) ;
viewpanel . magdagdag ng (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = bagong JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener () ;
ZoomPanel . magdagdag (ZoomPlusButton) ;
ZoomMinusButton = bagong JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener () ;
ZoomPanel . magdagdag (ZoomMinusButton) ;
. . .
}
/ **
* Nagpasimula at StatusEhouse StatusCommManager klase sa pamamagitan ng paglo-load ng controllers
* Katayuan
* /
pampublikong void OnCreate () { . . . }
/ **
* @ Param args mga argumento sa command line
* /
pampublikong static na walang bisa pangunahing (String args []) {
/ *
* Lumikha at ipakita ang form
* /
Dyaba . awt . EventQueue . invokeLater (bagong Runnable () {
pampublikong void run () {
Ehouse4java bagong () . setVisible (totoo) ;
}
}) ;
}
/ **
* Sinusuportahan ang mga kaganapan na mahihingi sa pamamagitan ng pag-click sa pindutan
*
* @ Param e
* /
@ Override
pampublikong void actionPerformed (ActionEvent e) {
switch (e . getActionCommand ()) {
kaso ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Offset ;
ehousecommunication . Mga ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . Mga ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Pagsasentro ang view pagkatapos rescalling
ehousecommunication . OffsetX + = (int) ((Visualization . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Offset + = (int) ((Visualization . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Kalkulahin ang zoom
Paggunita . magpintang muli () ;
bumalik ;
. . .
}
}
}