House Visualisasi individu dan kawalan grafik dari Sistem Automasi eHouse – Jawa

Visualisasi grafik eHouse Home Automation memanjangkan persekitaran pembangunan untuk sistem dan mencipta kemungkinan pembangunan perisian bebas untuk pengguna akhir sistem ofeHouse , syarikat bersekutu dan perniagaan yang ingin menyumbang secara individu pengaturcaraan dalam persekitaran JSE (Jawa) . eHouse untuk Java (eHouse4Java) adalah serasi untuk perpustakaan Android dan Windows Mobile , membolehkan anda untuk mencipta perisian anda sendiri untuk panel kawalan dan tablet .
Perpustakaan adalah template permohonan dan membolehkan:

  • memuatkan konfigurasi , nama pengawal , Output , Input , sensor , dan sebagainya .
  • memastikan kawalan sistem komunikasi
  • menerima dan menyahkod data status pengawal
  • menghantar arahan kawalan grafik (dengan visualisasi objek) atau dari bentuk teks (dengan bidang dipilih)
  • mengawal sistem melalui WiFi , Internet , SMS , eMail
  • Visualisasi grafik dan kawalan – memuatkan fail teks objek grafik yang dikaitkan dengan peristiwa-peristiwa yang akan dilaksanakan (eHouse sistem) dan status peralatan
  • Visualisasi automatik untuk pengawal (bilik)

Visualisasi dicipta menggunakan java perpustakaan ” swing ” dengan unsur-unsur ” JPanel ” , ” JButton ” dan sebagainya .
Objek ini secara automatik ” menggandakan – buffered ” , supaya kesan kerlipan dihapuskan , yang sangat menjengkelkan untuk pengguna .
Pengguna juga boleh mengawal imej:

  • mengezum masuk dan keluar
  • bergerak ke atas , ke bawah dan dari sisi ke sisi
  • menukar pandangan semasa dengan memilih ” Pilihan ”
  • kembali kepada visualisasi grafik sistem dengan memilih ” Lihat ”

Contoh eHouse sistem visualisasi:
 Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
 Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
Zoom masuk dan keluar telah dijalankan dengan penggunaan grafik vektor boleh skala (SVG) , supaya imej tidak kehilangan kualiti selepas perubahan skala:
 Undo suntingan

Baru! ;
status pengawal secara automatik dipaparkan:
Ia dikemaskini melalui rangkaian komputer atau Internet (TCP atau UDP) – talian (dalam masa sebenar)
 Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
 Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
 Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
 Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
Dengan memilih ” Pilihan ” dan bilik boleh melihat negeri pengawal dan pilih program .
Menukar status UDP masuk akan secara automatik rewizualizacjÄ ™:  Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
 Intelligent rumah eHouse kawalan talian grafik dan visualisasi - java sumber terbuka
Di samping visualisasi yang direka secara individu berdasarkan reka bentuk seni bina dan pemasangan rumah pintar secara automatik mencipta visualisasi bebas setiap untuk pengawal dalam sistem (khususnya untuk RoomManagers dan EthernetRoomManager – untuk bilik individu) .
Ini membolehkan untuk panel kawalan bebas dan visualisasi untuk setiap bilik individu , tanpa membosankan untuk mewujudkan projek – visualisasi sistem berasaskan .
Untuk CommManager (negeri sensor penggera , Output)
 Intelligent rumah eHouse kawalan grafik dan visualisasi automatik talian - java sumber terbuka
Bagi RoomManager dan EthernetRoomManager:
 Intelligent rumah eHouse kawalan grafik dan visualisasi automatik talian - java sumber terbuka
 Intelligent rumah eHouse kawalan grafik dan visualisasi automatik talian - java sumber terbuka
 Intelligent rumah eHouse kawalan grafik dan visualisasi automatik talian - java sumber terbuka
Pengawal dandang , pemulihan CO (HeatManagera)
 Intelligent rumah eHouse kawalan grafik dan visualisasi automatik talian - java sumber terbuka
 Intelligent rumah eHouse kawalan grafik dan visualisasi automatik talian - java sumber terbuka
Maklumat lanjut boleh didapati di artikel yang dikhaskan untuk perpustakaan pengaturcaraan eHouse4Android (eHouse untuk Android – Android Jawa) , yang telah diterjemahkan ke dalam Java SE untuk keserasian dan memudahkan pembangunan perisian pada sistem operasi yang berbeza .
KOD SOURCE
/ *
Aplikasi * Template untuk sistem visualisasi grafik , rumah eHouse pintar
* Hanya untuk pengguna berdaftar eHouse sistem , Kerjasama syarikat All Rights Reserved
*
* Memerlukan Kelas:
* Ehousecommunication . kelas – menghantar acara untuk sistem
* EhouseTCP . kelas – Pengawalan dan penyelenggaraan komunikasi over TCP / IP pengawal , Dikemaskini data dari input dan output sistem
* StatusEhouse . kelas – Tetapan data penyimpanan dan pengawal , dikemaskini secara berterusan over TCP / pengawal IP ehouse1 (485)
* StatusCommManager . kelas – menyimpan data semasa dan pengawal tetapan , dikemaskini secara berterusan over TCP / pengawal IP ehouse2 (Ethernet)
* GraphicObject . kelas – penyimpanan objek grafik
* Visualisasi . kelas – menarik objek grafik (garis , elips , segiempat tepat) dan perkhidmatan acara berkaitan
*
* Template Permohonan direka visualisasi grafik Sistem eHouse
* HANYA UNTUK PENGGUNA BERDAFTAR , Vendor , Copyright ISYS KOPERASI . En All Rights Reserved
*
Kelas * Diperlukan:
* Ehousecommunication . kelas – menghantar acara untuk sistem
* EhouseTCP . kelas – pengawalan dan penyelenggaraan komunikasi TCP / IP dengan pengawal , mengemaskini status semasa pengawal
* StatusEhouse . kelas – pengawal tetapan dan penyimpanan data , pengemaskinian data (TCP / IP) untuk ehouse1 pengawal (485)
* StatusCommManager . kelas – pengawal tetapan dan penyimpanan data , mengemas kini data (TCP / IP) untuk ehouse2 pengawal (Ethernet)
* GraphicObject . kelas – objek penyimpanan data grafik
* Visualisasi . kelas – melukis objek grafik (garis , Elips , segiempat tepat) dan acara pengendalian yang berkaitan dengan mereka
* /
pakej ehouse4java ;
import java . AWT . * ;
import java . AWT . acara . * ;
import javax . swing . * ;
import javax . swing . acara . Changeevent ;
import javax . swing . acara . ChangeListener ;
Ehouse4java kelas awam memanjangkan JFrame ActionListener melaksanakan , ChangeListener {
/ **
* Kelas bertanggungjawab untuk Memulakan status sistem , dan mewujudkan
* Permohonan tetingkap utama . Melaksanakan antara muka yang menyokong acara
* Bersekutu dengan butang .
*
* Kelas Bertanggungjawab untuk Memulakan status kelas dan mewujudkan
* Permohonan tetingkap utama . Itu Laksana acara sokongan antara muka
* Berkaitan dengan butang .
* /
/ **
* Visualisasi objek mengandungi pandangan kini Dipapar
* /
visualisasi Visualisasi awam ;
/ / Pilihan visualisasi Awam ;
/ / Visualisasi TextEvents Awam ;
/ **
* Pallete butang sokongan zoom , peralihan dan perubahan
* Pandangan Dipapar
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Pilihan ;
JButton View ;
Kembali JButton ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel dengan semua butang
* /
ZoomPanel JPanel ;
/ **
Panel * dipaparkan kini mengandungi visualisasi
* /
Viewpanel JPanel ;
/ **
* Panel yang mengandungi kumpulan butang yang digunakan untuk mengakses pengawal negeri ,
* Sistem jadual dll . .
* /
Optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
awam statik int buttonscounter ;
awam int centerX ;
awam CenterY int ;
awam int prevCenterX ;
awam prevCenterY int ;
awam Ycompensation int ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
double prevScaleX ;
double prevScaleY ;
awam akhir zoomfactor double = 0 . 3 ;
awam statik String previousoptionsview = ” ” ;
/ **
* Mencipta Ehouse4java bentuk baru . Memulakan status kelas dan grafik
* Komponen dengan tetingkap utama .
* /
Ehouse4java awam () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Memulakan semua komponen grafik
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (Dimensi baru (200 , 200)) ;
setVisible (benar) ;
prevCenterX = (int) Visualisasi . getBounds () . getCenterX () ;
prevCenterY = (int) Visualisasi . getBounds () . getCenterY () ;
}
/ **
* Memulakan semua komponen kering sebagai panel grafik , butang , scrollbar , dan sebagainya . .
*
* @ Param pane
* /
addComponentToPane terbatal awam (Kontena pane) {

optionfirsttime = true ;

ExitB = new JButton ( ” Keluar ” ) ;
ExitB . setActionCommand ( ” Keluar ” ) ;
ExitB . addActionListener (ini) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (baru FlowLayout ()) ;
viewpanel . add (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (ini) ;
ZoomPanel . add (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (ini) ;
ZoomPanel . add (ZoomMinusButton) ;
. . .
}
/ **
* Dimulakannya dan StatusEhouse StatusCommManager kelas oleh pengawal loading
* Taraf
* /
terbatal OnCreate awam () { . . . }
/ **
* Args Param @ hujah baris arahan
* /
awam statik tidak sah utama (String args []) {
/ *
* Buat dan memaparkan bentuk
* /
java . AWT . EventQueue . invokeLater (baru Runnable () {
terbatal jangka awam () {
Ehouse4java baru () . setVisible (benar) ;
}
}) ;
}
/ **
* Menyokong peristiwa yang disembelih dengan mengklik butang
*
* @ Param e
* /
@ Override
awam tidak sah actionPerformed (ActionEvent e) {
suis (e . getActionCommand ()) {
kes ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Ofset ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Memusatkan pandangan selepas rescalling
ehousecommunication . OffsetX + = (int) ((Visualisasi . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Ofset + = (int) ((Visualisasi . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Kira zoom
Visualisasi . mengecat semula () ;
kembali ;
. . .
}
}
}