eHouse4Java Software Open Source untuk Home Automation eHouse

eHouse Home Automation eHouse4Java – java (open source) perangkat lunak mencakup modul berikut ( . java – source code , . kelas – Kelas yang dihasilkan):

  • Ehouse4java . java – Inti dari aplikasi dan antarmuka utama
  • ehousecommunication . java – komunikasi fungsi dan konfigurasi
  • EhouseTCP . java – komunikasi dan konfigurasi pengendali
  • EventsToSend . java – sekunder acara penanganan
  • EventToSend . java – definisi dari peristiwa tunggal
  • GraphicObject . java – grafis objek definisi
  • ISYS . java – termasuk fungsi didedikasikan untuk vendor
  • RunEvent . java – Mengirim acara dari bentuk teks
  • StatusEhouse . java – Kelas berisi satu contoh untuk setiap controller eHouse1
  • StatusEthernet . java – Kelas berisi satu contoh untuk setiap controller eHouse Ethernet
  • StatusServer . java – Auxiliary TCP / IP Server , mengirimkan semua status pengendali melalui TCP / IP untuk panel client (eksternal melalui LAN , WAN , Intranet , Internet)
  • visualisasi . java – Visualisasi / kelas kontrol grafis sesuai dengan visualisasi eHouse dan standar kontrol grafis

Fungsi dan variabel global yang dijelaskan dalam sumber kode software eHouse4Java .
Perangkat lunak ini meliputi benang independen , misalnya . Komunikasi , yang dilakukan di latar belakang dalam kaitannya dengan aplikasi utama .
Ini tidak menghentikan atau menunda proses aplikasi yang memakan waktu terlalu lama , yang menghasilkan perlambatan yang signifikan dari aplikasi dan kemungkinan suspensi sambil menunggu untuk komunikasi (kunci mati) .
Benang utama adalah:

  • TCP Client (untuk menerima status controller , tcp / ip pada LAN , WAN , Internet , Intranet)
  • UDP Pendengar (untuk mendengarkan siaran status dalam UDP connectionless) – hanya dalam LAN , Intranet
  • Pidato synthesizer untuk memainkan pesan teks akustik
  • Multithreaded TCP / IP Server – untuk rute status yang diterima ke panel klien yang terhubung dari jenis apa pun (melalui LAN , WIFI , Internet , Intranet , WAN)

Nama media komunikasi dengan kontroler disertakan dengan pengaturan pada form pilih jenis koneksi (LAN TCP , LAN UDP , Internet , Off) .
Benang lainnya diaktifkan dengan menggunakan variabel global di kelas ” EhouseTCP ” atau ” ehousecommunication ” .

Aplikasi menggunakan visualisasi sesuai dengan standar eHouse , dihasilkan dari aplikasi CorelDraw menggunakan script yang memungkinkan:

  • impor eHouse sistem konfigurasi
  • penciptaan objek grafis secara manual atau dengan script
  • mengekspor data untuk semua metode visualisasi untuk semua panel , web browser , pc , tablet , smartphone dan sistem lainnya

Hal ini dibahas lebih lanjut dalam artikel:
” menciptakan visualisasi grafis dan kontrol eHouse rumah pintar ” .
software visualisasi didasarkan pada scalable vector graphics (SVG) .
Metode ini memungkinkan Anda ” lossless ” kurva kualitas gambar , teks , sederhana geometris angka , terlepas dari ukuran pembesaran , Layar pergeseran , dll .
Ini tidak akan mungkin terjadi dengan menggunakan gambar latar belakang grafis seperti jpg , bitmap , dll . .
Visualisasi perangkat lunak yang telah dioptimalkan untuk mengurangi pemanfaatan CPU dan waktu graphics processing ketika bekerja secara online , karena sejumlah besar data untuk memproses . Gambar grafis cache dan dibagi menjadi sinyal kontrol yang tepat dan diproses saat menerima status controller , dan ditampilkan pada layar lebih cepat dari cache visualisasi setiap controller .

Hal ini memungkinkan:

  • pengurangan yang signifikan dalam data olahan untuk visualisasi dengan perubahan citra
  • secara signifikan mengurangi flicker ketika mengubah gambar diproyeksikan
  • signifikan pengurangan beban CPU visualisasi dan data
  • penggunaan banyak ” lemah ” , kurang efisien dan lebih murah hardware , grafis panel , tablet , panel kontrol , dll . , sambil mempertahankan kerja yang nyaman
  • pengurangan konsumsi daya yang sangat penting dalam peralatan baterai dan mobile dan lama kerja pada baterai

Hal ini dibahas dengan screenshot dalam artikel:
” Grafis visualisasi dan kontrol rumah cerdas di Jawa ”

EHouse4Java komunikasi dengan kontroler otomatisasi rumah

eHouse1 bawah pengawasan PC

Dalam versi ini eHouse aplikasi . exe bekerja sebagai status penerima RS – 485 (dengan konverter RS – 485/RS – 232) dan mengirimkan status tanpa perubahan pada dua metode tidak bertabrakan satu sama lain:

  • eHouse . exe bekerja sebagai server TCP / IP menanggapi pertanyaan tentang panel status , mengacu lanjut menghubungkan panel dan memelihara mereka sampai terputus untuk alasan apapun . Metode ini sangat berharga dengan upaya untuk membangun komunikasi dengan panel TCP / IP luar melalui jaringan , seperti Internet di mana tidak mungkin untuk menerima status UDP .
  • eHouse . exe mengirimkan protokol siaran UDP connectionless untuk sejumlah klien di LAN , Intranet . Ini berarti bahwa , bahwa panel tidak terhubung ke server , tetapi mendengarkan pesan siaran dari ” eHouse . exe ” aplikasi . Dengan cara ini tidak peduli berapa banyak penerima panel statusnya tidak mengubah beban jaringan , atau komputer di mana ” eHouse . exe ” aplikasi berjalan . Sayangnya itu tidak mungkin atau sangat sulit untuk mengirimkan siaran UDP melalui internet sehingga dalam hal ini metode pertama harus digunakan .

eHouse1 bawah pengawasan CommManager

Dalam versi ini , CommManager menerima status yang masuk melalui RS – 485 (dari eHouse1 controller) dan mengirimkan status tanpa perubahan pada dua metode tidak bertabrakan satu sama lain:

  • CommManager bekerja sebagai server TCP / IP menanggapi pertanyaan tentang panel status , mengacu lanjut menghubungkan panel dan memelihara mereka sampai terputus untuk alasan apapun . Metode ini terutama upaya berharga untuk menjalin komunikasi dengan panel luar LAN , seperti Internet di mana tidak mungkin untuk menerima status UDP .
  • CommManager mengirimkan siaran (connectionless) protokol UDP adalah untuk sejumlah klien di LAN , Intranet .
    Ini berarti bahwa , bahwa panel tidak terhubung ke server TCP CommManager , tetapi mendengarkan pesan siaran dari CM . Dengan cara ini tidak peduli berapa banyak penerima panel status , itu tidak mengubah beban jaringan atau pemanfaatan CommManager CPU . Penyiaran siaran UDP tidak mungkin , atau sangat terhambat melalui internet sehingga dalam hal ini metode pertama harus digunakan .

Ethernet eHouse (eHouse4Ethernet)

Dalam versi ini kontroler Ethernet: CommManager , EthernetRoomManager , dll . , independen mengirim status dua cara , tidak bertabrakan satu sama lain:

  • Setiap controller bekerja sebagai server TCP / IP menanggapi pertanyaan tentang panel status , mengacu lanjut menghubungkan panel dan memelihara mereka sampai terputus untuk alasan apapun . Metode ini terutama upaya berharga untuk menjalin komunikasi dengan panel luar LAN , seperti Internet , di mana tidak mungkin untuk menerima status UDP .
    Namun , dalam kasus kontroler Ethernet beberapa diperlukan untuk mempertahankan koneksi ke TCP / IP setiap controller , untuk mengambil status sistem yang lengkap langsung dari pengendali . Hal ini dapat mengakibatkan beban yang lebih besar pada panel kontrol prosesor , keparahan masalah yang terkait dengan komunikasi . Dalam hal ini , adalah lebih baik untuk menempatkan pada aplikasi sisi LAN , yang menerima statusnya UDP lokal , dan meneruskan melalui TCP / IP melalui Internet . Hal ini diwujudkan dan dibahas dalam aplikasi eHouse4Java , yang memungkinkan solusi ini . Kerugiannya adalah kebutuhan untuk mempertahankan hardware tambahan yang melakukan fungsi-fungsi .
  • Setiap kontroler mengirimkan broadcast (connectionless) protokol UDP adalah untuk sejumlah klien di LAN , Intranet . Ini berarti bahwa , bahwa panel tidak terhubung ke controller server TCP , tetapi mendengarkan pesan siaran dari semua kontroler . Dengan cara ini tidak peduli berapa banyak penerima panel statusnya tidak mengubah beban jaringan atau pemanfaatan pengendali cpu . Penyiaran UDP paket tidak mungkin atau sangat terhambat melalui internet , sehingga dalam hal ini metode pertama harus digunakan . Kemungkinan penularan UDP kadang-kadang mungkin tergantung pada jenis link , Prestasi . Kadang-kadang adalah mungkin untuk mendapatkan UDP broadcast melalui link VPN dikonfigurasi , Namun , bahkan dalam situasi ini , paket dapat hilang , karena kurangnya mekanisme keamanan untuk UDP . Data yang tidak benar secara otomatis dibatalkan oleh panel software eHouse untuk checksum non (cek sum)