Evi Bireysel Görselleştirme ve eHouse Sistem Otomasyon grafiksel kontrol – Java

Grafiksel görselleştirme ehouse Ev Otomasyonu sistem bir geliştirme ortamı için uzanan ve son kullanıcılar ofeHouse sistemi için bağımsız bir yazılım geliştirme olanağı yaratır , bireysel katkıda bulunmak isteyen bağlantılı şirketler ve işletmeler JSE (Java) ortamında programlama . Java için eHouse (eHouse4Java) Android ve Windows Mobile kütüphaneler ile uyumludur , Eğer kontrol panelleri ve tablet için kendi yazılım oluşturmak için izin .
Kütüphane uygulama şablonu olup aşağıdakileri sağlar:

  • konfigürasyon yüklenemedi , denetleyicilerinin adlarını , Çıkışlar , Girişler , sensörleri , vs .
  • haberleşme sistemi kontrol sağlanması
  • veri denetleyicisinin statüsü alma ve çözme
  • (alan seçimli) grafik (nesneleri görselleştirme ile) veya metin form kontrol komutları gönderebilirsiniz
  • WiFi ile sistemi kontrol , Internet , SMS , eMail
  • Grafiksel görüntüleme ve kontrol – yürütülecek etkinlikler (eHouse sisteminin) ve ekipman durumları ile ilişkili grafik nesneleri metin dosyası yüklemek
  • Denetleyicisi için otomatik görselleştirme (oda)

Görselleştirme java kütüphanesi kullanılarak oluşturulur ” salıncak ” bir elemanları ile ” JPanel ” , ” JButton ” vs .
Bu nesneler otomatik olarak ” çift – tamponlu ” , titreme etkisini ortadan kalkar, böylece , hangi kullanıcı için çok can sıkıcı .
Kullanıcı ayrıca görüntüyü kontrol edebilirsiniz:

  • ve uzaklaştırma
  • yukarı çıkmak , tarafı aşağı ve yan dan
  • seçerek geçerli görünümü değiştirmek ” Seçenekler ”
  • seçerek sistemin grafik görüntülemeye dönmek ” Görünüm ”

Görselleştirme eHouse sistemi örneği:
 Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
 Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
Yakınlaştırma ve uzaklaştırma ölçeklenebilir vektör grafik kullanımı (SVG) ile yürütülen , böylece görüntünün ölçek değişiminden sonra kalitesini kaybetmez:
 Düzenlemeleri geri al

Yeni! ;
denetleyicilerinin durumunu otomatik olarak görüntülenir:
Bir bilgisayar ağı veya internet üzerinden güncellenir (TCP veya UDP) – online (gerçek zamanlı)
 Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
 Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
 Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
 Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
Seçerek ” Seçenekler ” ve oda devletler kontrolörleri görülen ve programları seçmek edilebilir .
Gelen UDP durumunu değiştirme otomatik olarak rewizualizacjÄ ™:  Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
 Akıllı ev kontrol ehouse çevrimiçi grafik ve görselleştirme - java açık kaynak
Ayrı mimari tasarım ve akıllı ev kurulumu göre dizayn görselleştirilmesi ek olarak otomatik sistemdeki her denetleyici için bağımsız görselleştirme (özellikle RoomManagers ve EthernetRoomManager için oluşturulur – bireysel odalar için) .
Bu, her oda için bağımsız kontrol panelleri ve görselleştirme sağlar , Projeyi oluşturmak için sıkıcı olmadan – tabanlı görüntüleme sistemi .
CommManager (alarm sensörleri devletler için , Ouputs)
 Akıllı ev kontrol ehouse grafik ve görselleştirme otomatik çevrimiçi - java açık kaynak
RoomManager ve EthernetRoomManager için:
 Akıllı ev kontrol ehouse grafik ve görselleştirme otomatik çevrimiçi - java açık kaynak
 Akıllı ev kontrol ehouse grafik ve görselleştirme otomatik çevrimiçi - java açık kaynak
 Akıllı ev kontrol ehouse grafik ve görselleştirme otomatik çevrimiçi - java açık kaynak
Kazan kontrol , CO kurtarma (HeatManagera)
 Akıllı ev kontrol ehouse grafik ve görselleştirme otomatik çevrimiçi - java açık kaynak
 Akıllı ev kontrol ehouse grafik ve görselleştirme otomatik çevrimiçi - java açık kaynak
Daha fazla bilgi (Android için eHouse programlama kütüphaneleri eHouse4Android adanmış yazılar bulunabilir – Android Java) , Hangi farklı işletim sistemlerinde uyumluluk ve yazılım geliştirme kolaylığı için Java SE tercüme edilmiştir .
KAYNAK KODU
/ *
Grafik görselleştirme sistemi için * Şablon uygulamaları , akıllı ev ehouse
* Sadece sistem ehouse kayıtlı kullanıcılar için , Tüm Hakları Saklıdır işbirliği şirketleri
*
* Gerektirir Sınıflar:
* Ehousecommunication . sınıf – sistem olayları göndermek
* EhouseTCP . sınıf – TCP üzerinde Başlatma ve haberleşme bakım / IP kontrolörü , Sistem giriş ve çıkışlarından Güncelleme verileri
* StatusEhouse . sınıf – veri depolama ve kontrolör ayarları , TCP / IP denetleyicileri ehouse1 (485) üzerinde sürekli olarak güncellenen
* StatusCommManager . sınıf – Geçerli verileri ve ayarları kontrol saklamak , TCP / IP denetleyicileri ehouse2 (Ethernet) üzerinden sürekli olarak güncellenen
* GraphicObject . sınıf – grafik nesnelerinin depolanması
* Görselleştirme . sınıf – grafik nesneler (çizgiler çizin , elips , dikdörtgenler) ve hizmet ile ilgili olaylar
*
EHouse Sistem bir grafik görselleştirme dizayn * Application şablonu
* SADECE KAYITLI KULLANICILAR İÇİN , Bayiler , KOOPERATİFLER Telif ISYS . Tüm Hakları Saklıdır En
*
* Gerekli sınıfları:
* Ehousecommunication . sınıf – sistem olayları gönderme
* EhouseTCP . sınıf – kontrolörleri ile başlatma ve bakım TCP / IP iletişim , denetleyicileri şu anki durumunu güncelleme
* StatusEhouse . sınıf – kontrolörleri ayarları ve veri depolama , ehouse1 denetleyicileri için güncelleme bilgileri (TCP / IP) (485)
* StatusCommManager . sınıf – kontrolörleri ayarları ve veri depolama , ehouse2 denetleyicileri için veri (TCP / IP) (Ethernet) güncellenmesi
* GraphicObject . sınıf – grafik veri depolama nesneleri
* Görselleştirme . sınıf – çizim grafik nesneler (çizgiler , Elips , onlarla ilgili dikdörtgenler) ve taşıma olayları
* /
ehouse4java paketi ;
ithalat java . awt . * ;
ithalat java . awt . olay . * ;
ithalat javax . salıncak . * ;
ithalat javax . salıncak . olay . Changeevent ;
ithalat javax . salıncak . olay . ChangeListener ;
Ehouse4java public class JFrame uygular ActionListener uzanır , {ChangeListener
/ **
Sistem durumu başlatılırken sorumlu * Sınıf , ve yaratmak
* Ana uygulama penceresi . Olayı desteklemek arayüzler uygular
* Düğmeleri ile ilişkili .
*
Sınıfların durumunu başlatma ve oluşturmak için Sorumlu * Sınıf
* Ana uygulama penceresi . O arayüzleri desteği olayları uygular
* Düğmeleri İlişkin .
* /
/ **
Şu anda Gösterilme görünümü içeren * Görselleştirme nesnesi
* /
Kamu görselleştirme Görselleştirme ;
/ / Kamu görselleştirme Seçenekleri ;
/ / Kamu görselleştirme TextEvents ;
/ **
Yakınlaştırma destekleme * Pallete düğmeleri , değişen ve değişen
* Gösterilme görünümü
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton Aşağı tuşuna ;
JButton ExitB = null ;
JButton Seçenekleri ;
JButton Görüntüle ;
JButton Geri ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
Tüm düğmeleri * Paneli
* /
JPanel ZoomPanel ;
/ **
* Panel anda görselleştirme içeren Gösterilme
* /
JPanel viewpanel ;
/ **
Denetleyicileri devletleri erişmek için kullanılan düğmeleri grubu içeren * paneli ,
* Sistem programları vb . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
public static int buttonscounter ;
public int centerX ;
public int centery ;
public int prevCenterX ;
public int prevCenterY ;
public int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
çift ​​prevScaleX ;
çift ​​prevScaleY ;
public final çift zoomfactor = 0 . 3 ;
public static String previousoptionsview = ” ” ;
/ **
* Yeni bir form Ehouse4java oluşturur . Sınıflar ve grafik durumunu başlatır
Ana penceresi ile * Bileşenleri .
* /
Kamu Ehouse4java () {
super ( ” EHouse ” ) ;
() OnCreate ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Tüm grafik bileşenleri başlatır
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
(yeni boyut (200 setMinimumSize , 200)) ;
setVisible (true) ;
prevCenterX = (int) Görselleştirme . getBounds () . getCenterX () ;
prevCenterY = (int) Görselleştirme . getBounds () . getCenterY () ;
}
/ **
* Grafik paneller gibi kuru tüm bileşenleri başlatır , düğmeleri , scrollbars , vs . .
*
* @ Param bölmesi
* /
public void addComponentToPane (Konteyner bölmesi) {

optionfirsttime = true ;

ExitB = new JButton ( ” Çıkış ” ) ;
ExitB . setActionCommand ( ” Çıkış ” ) ;
ExitB . addActionListener (bu) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (yeni FlowLayout ()) ;
viewpanel . ekleyin (ZoomPanel , BorderLayout bu sınır . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (bu) ;
ZoomPanel . ekleyin (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (bu) ;
ZoomPanel . ekleyin (ZoomMinusButton) ;
. . .
}
/ **
* Başlatır ve yükleme kontrolörler tarafından StatusEhouse StatusCommManager sınıfları
* Durum
* /
public void OnCreate () { . . . }
/ **
* @ Param değiştirgeler komut satırı argümanları
* /
public static void main (String [] args) {
/ *
* Oluşturun ve formunu görüntüleyiniz
* /
java . awt . EventQueue . invokeLater (yeni Runnable () {
public void run () {
Ehouse4java yeni () . setVisible (true) ;
}
}) ;
}
/ **
* Butonuna tıklayarak çağrılan olayları destekler
*
* @ Param E
* /
@ Override
actionPerformed public void (ActionEvent e) {
anahtarı (E . getActionCommand ()) {
dava ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Ofsetlerini ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Rescalling sonra görünümü Centering
ehousecommunication . OffsetX + = (int) ((Görselleştirme . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Ofsetlerini + = (int) ((Görselleştirme . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Zoom hesaplayın
Görüntüleme . repaint () ;
dönmek ;
. . .
}
}
}