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)