Rumah individu Visualisasi dan kontrol grafis dari Otomasi eHouse Sistem – Jawa

Grafis visualisasi eHouse Home Automation memperluas lingkungan pengembangan untuk sistem dan menciptakan kemungkinan pengembangan perangkat lunak independen untuk sistem pengguna akhir ofeHouse , perusahaan asosiasi dan bisnis yang ingin berkontribusi secara individual pemrograman di BEJ (Jawa) lingkungan . eHouse Java (eHouse4Java) kompatibel dengan Android dan Windows Mobile perpustakaan , memungkinkan Anda untuk membuat perangkat lunak Anda sendiri untuk panel kontrol dan tablet .
Perpustakaan adalah template aplikasi dan memungkinkan:

  • memuat konfigurasi , nama-nama kontroler , Output , Masukan , sensor , dll .
  • memastikan pengontrol sistem komunikasi
  • menerima dan decoding status pengontrol data
  • mengirim perintah kontrol grafis (dengan visualisasi benda) atau dari bentuk teks (dengan dipilih lapangan)
  • mengendalikan sistem melalui WiFi , Internet , SMS , eMail
  • Grafis visualisasi dan kontrol – memuat file teks dari objek grafis terkait dengan peristiwa yang akan dieksekusi (sistem eHouse) dan status peralatan
  • Otomatis visualisasi untuk controller (kamar)

Visualisasi dibuat menggunakan java perpustakaan ” ayunan ” dengan unsur-unsur dari ” JPanel ” , ” JButton ” dll .
Benda-benda ini secara otomatis ” dua kali lipat – buffered ” , sehingga efek dari flicker dihilangkan , yang sangat menjengkelkan bagi pengguna .
Pengguna juga dapat mengontrol gambar:

  • memperbesar dan memperkecil
  • naik pangkat , ke bawah dan dari sisi ke sisi
  • mengubah tampilan saat ini dengan memilih ” Pilihan ”
  • kembali ke visualisasi grafis dari sistem dengan memilih ” Melihat ”

Contoh dari sistem visualisasi eHouse:
 Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
 Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
Zooming masuk dan keluar dilakukan dengan menggunakan scalable vector graphics (SVG) , sehingga gambar tidak kehilangan kualitas setelah perubahan skala:
 Undo suntingan

Baru! ;
Status pengendali secara otomatis ditampilkan:
Hal ini diperbarui melalui jaringan komputer atau internet (TCP atau UDP) – secara online (real time)
 Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
 Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
 Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
 Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
Dengan memilih ” Pilihan ” dan ruang dapat dilihat pengendali negara dan pilih program .
Mengubah status UDP masuk secara otomatis akan rewizualizacjÄ ™:  Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
 Rumah cerdas eHouse kontrol secara online grafis dan visualisasi - java open source
Selain visualisasi dirancang secara individual berdasarkan pada desain arsitektur dan instalasi rumah pintar secara otomatis menciptakan visualisasi secara independen untuk setiap controller dalam sistem (khususnya untuk RoomManagers dan EthernetRoomManager – untuk kamar individu) .
Hal ini memungkinkan untuk panel kontrol independen dan visualisasi untuk setiap kamar secara individual , tanpa membosankan untuk membuat proyek – berbasis sistem visualisasi .
Untuk CommManager (negara sensor alarm , Ouputs)
 Cerdas rumah eHouse kontrol grafis dan visualisasi otomatis secara online - java open source
Untuk RoomManager dan EthernetRoomManager:
 Cerdas rumah eHouse kontrol grafis dan visualisasi otomatis secara online - java open source
 Cerdas rumah eHouse kontrol grafis dan visualisasi otomatis secara online - java open source
 Cerdas rumah eHouse kontrol grafis dan visualisasi otomatis secara online - java open source
Kontroler boiler , pemulihan CO (HeatManagera)
 Cerdas rumah eHouse kontrol grafis dan visualisasi otomatis secara online - java open source
 Cerdas rumah eHouse kontrol grafis dan visualisasi otomatis secara online - java open source
Informasi lebih lanjut dapat ditemukan dalam artikel yang ditujukan untuk eHouse4Android pemrograman perpustakaan (eHouse untuk Android – Android Java) , yang telah diterjemahkan ke dalam Java SE untuk kompatibilitas dan kemudahan pengembangan perangkat lunak pada sistem operasi yang berbeda .
KODE SUMBER
/ *
* Template aplikasi untuk sistem visualisasi grafis , eHouse rumah pintar
* Hanya untuk pengguna terdaftar dari sistem eHouse , Bekerja sama perusahaan All Rights Reserved
*
* Membutuhkan Kelas:
* Ehousecommunication . kelas – mengirim peristiwa ke sistem
* EhouseTCP . kelas – Inisialisasi dan pemeliharaan komunikasi melalui TCP / IP pengontrol , Diperbarui data dari input dan output sistem
* StatusEhouse . kelas – penyimpanan data dan pengontrol pengaturan , diperbarui secara berkelanjutan melalui TCP / IP pengendali ehouse1 (485)
* StatusCommManager . kelas – menyimpan data saat ini dan pengaturan pengendali , diperbarui secara berkelanjutan melalui TCP / IP pengendali ehouse2 (Ethernet)
* GraphicObject . kelas – penyimpanan objek grafis
* Visualisasi . kelas – menggambar objek grafis (garis , elips , persegi panjang) dan acara jasa terkait
*
* Aplikasi template yang dirancang visualisasi grafis Sistem eHouse
* HANYA UNTUK PENGGUNA TERDAFTAR , Vendor , KOPERASI Copyright ISYS . En All Rights Reserved
*
* Diperlukan kelas:
* Ehousecommunication . kelas – mengirimkan peristiwa ke sistem
* EhouseTCP . kelas – inisialisasi dan pemeliharaan TCP / IP komunikasi dengan kontroler , memperbarui status pengendali
* StatusEhouse . kelas – pengendali pengaturan dan penyimpanan data , pemutakhiran data (TCP / IP) untuk ehouse1 pengendali (485)
* StatusCommManager . kelas – pengendali pengaturan dan penyimpanan data , pemutakhiran data (TCP / IP) untuk ehouse2 pengendali (Ethernet)
* GraphicObject . kelas – grafis penyimpanan data objek
* Visualisasi . kelas – menggambar grafik benda (baris , Elips , persegi panjang) dan acara penanganan berhubungan dengan mereka
* /
ehouse4java paket ;
impor java . awt . * ;
impor java . awt . peristiwa . * ;
impor javax . ayunan . * ;
impor javax . ayunan . peristiwa . Changeevent ;
impor javax . ayunan . peristiwa . ChangeListener ;
Ehouse4java public class extends JFrame ActionListener alat , ChangeListener {
/ **
* Bertanggung jawab untuk menginisialisasi status sistem Kelas , dan menciptakan
* Jendela utama aplikasi . Mengimplementasikan interface yang mendukung acara
* Terkait dengan tombol .
*
* Bertanggung jawab untuk menginisialisasi status kelas dan menciptakan Kelas
* Jendela utama aplikasi . Itu Implements peristiwa antarmuka dukungan
* Terkait dengan tombol .
* /
/ **
* Visualisasi objek yang mengandung pandangan saat Tampilkan
* /
publik visualisasi Visualisasi ;
/ / Pilihan visualisasi Publik ;
/ / TextEvents visualisasi Publik ;
/ **
* Pallete tombol pendukung zooming , bergerak dan berubah
* Tampilkan pandangan
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Pilihan ;
JButton View ;
JButton Kembali ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel dengan semua tombol
* /
JPanel ZoomPanel ;
/ **
* Panel ditampilkan saat mengandung visualisasi
* /
JPanel viewpanel ;
/ **
* Panel berisi sekelompok tombol yang digunakan untuk mengakses negara pengendali ,
* Sistem jadwal dll . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
public int buttonscounter static ;
public int centerX ;
public int Centery ;
public int prevCenterX ;
public int prevCenterY ;
public int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
ganda prevScaleX ;
ganda prevScaleY ;
publik zoomfactor ganda akhir = 0 . 3 ;
public static String previousoptionsview = ” ” ;
/ **
* Membuat Ehouse4java bentuk baru . Memulai status kelas dan grafis
* Komponen dengan jendela utama .
* /
public Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Memulai semua komponen grafis
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (Dimensi baru (200 , 200)) ;
setVisible (true) ;
prevCenterX = (int) Visualisasi . getBounds () . getCenterX () ;
prevCenterY = (int) Visualisasi . getBounds () . getCenterY () ;
}
/ **
* Memulai semua komponen kering sebagai panel grafis , kancing-kancing , scrollbars , dll . .
*
* @ Param pane
* /
public void addComponentToPane (pane Container) {

optionfirsttime = true ;

ExitB = new JButton ( ” Keluar ” ) ;
ExitB . setActionCommand ( ” Keluar ” ) ;
ExitB . addActionListener (ini) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (new 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) ;
. . .
}
/ **
* Inisiat dan StatusCommManager StatusEhouse kelas oleh pengendali pemuatan
* Status
* /
public void OnCreate () { . . . }
/ **
* @ Param args argumen perintah baris
* /
public static void main (String args []) {
/ *
* Membuat dan menampilkan form
* /
java . awt . EventQueue . invokeLater (new Runnable () {
public void run () {
Ehouse4java baru () . setVisible (true) ;
}
}) ;
}
/ **
* Mendukung peristiwa dipanggil dengan mengklik tombol
*
* @ Param e
* /
@ Override
public void actionPerformed (ActionEvent e) {
switch (e . getActionCommand ()) {
kasus ” ZoomPlus ” :
prevOffsetX = ehousecommunication . Offsetx ;
prevOffsetY = ehousecommunication . Offset ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centering tampilan setelah rescalling
ehousecommunication . Offsetx + = (int) ((Visualisasi . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Offset + = (int) ((Visualisasi . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Hitung zoom
Visualisasi . repaint () ;
kembali ;
. . .
}
}
}