Home Automation eHouse decoding CommManager Status – source code

eHouse Home Automation , Gedung Manajemen – Format data CommManager status kode biner . CommManager adalah pengawas dari eHouse Home Automation sistem , yang mengumpulkan fungsi komunikasi dan merupakan ” gerbang ke dunia ” untuk sistem berbasis pada versi eHouse pengendali sistem 1 (485) .
Hal ini memungkinkan Anda untuk membuang PC Anda dengan tetap menjaga fungsionalitas tinggi (built standar – di controller) .
Tambahan , sistem menggantikan versi lama dari ExternalManager ” eHouse 1 ” dan 3 InputExtenders , Bertindak kontroler berfungsi penuh: rol , gerbang dan awning . Hal ini juga terintegrasi dengan alarm yang memungkinkan Kontrol melalui SMS atau LAN .
Ia juga memiliki built – di SMS pemberitahuan alarm – Ethernet Home Automation – Rollers , Gates , Gateway – pengendali dan sistem keamanan
Pengendali dalam versi hybrid (eHouse 1 di bawah pengawasan CommManager) mengumpulkan semua status dari RoomManagers ( Home Automation – Kamar Pengontrol ) Dan HeatManager ( Boiler Pengontrol , pemulihan , Otomatis energi hijau ) Dan mengirim mereka ke panel kontrol melalui TCP / IP atau UDP .
Tambahan , memungkinkan Anda untuk mengirim status sebagai UDP disiarkan ke semua perangkat di LAN , memungkinkan Anda untuk melacak status dan eHouse status sistem connectionless oleh sejumlah panel kontrol dan visualisasi output , input dan nilai-nilai terukur .
Jenis siaran tidak membebankan CPU tambahan CommManager , tidak peduli berapa banyak panel menerima data di atas .
Selain data yang diterima dari eHouse 1 kontroler (bekerja pada RS485) , CommManager melampirkan statusnya saat ini , yang merupakan keadaan sistem alarm .
Bingkai status dalam kode biner telah dibahas dalam posting:
” Smart Home , Bangunan cerdas eHouse bingkai status kode biner ”
” Smart Home , Intelligent Building eHouse – bingkai decoding Status – source code ”
Sejauh ini kita ' ; telah menutupi format frame , pentingnya bit dan byte dalam bingkai dan disajikan untuk memfasilitasi kode sumber data siap decoding dari semua eHouse controller yang dihubungkan oleh CommManager atau eHouse aplikasi . exe (untuk eHouse 1) .

Ini ' ; s waktu untuk perangkat lunak untuk memecahkan kode status CommManager bingkai diperbesar .
Meski berstatus dapat dikirim baik TCP / IP dan UDP dalam bentuk yang sama , kita hanya akan disiarkan UDP , karena kurangnya harus log on ke controller dan meningkatkan beban CPU .
Komunikasi melalui TCP / IP socket server kami meninggalkan bebas untuk panel ponsel remote kebutuhan , bekerja di luar (LAN Smartphone , GSM ponsel) , menggunakan UDP sebagai transmisi internet bisa sulit dan melibatkan banyak kesalahan , mencegah status yang benar decoding , karena rendahnya kualitas link , dan kurangnya konfirmasi mekanisme dan pengulangan dari sesi UDP .
Untuk tujuan ini , pada panel kontrol Delphi Template akhir yang telah dibahas sebelumnya dalam posting: ” eHouse rumah pintar , Sumber panel kontrol kode untuk tablet bekerja pada Windows XP , Pemandangan , 7 ”
Bundled mengubah status biner menerima data melalui UDP dengan menambahkan CommManager dukungan
Prosedur TForm1 . binaryDataReceived (Sender: TComponent ; NumberBytes: Integer ; FromIP: String ; Port: Integer) ;
var C: array [0 . . 1024] dari char ;
MyStream: TMemoryStream ;
numberb: integer ;
mulai
jika filesystem_status kemudian keluar ; / / Hanya ketika udp aktif
MyStream: = TMemoryStream . Menciptakan ;
biner . ReadStream (MyStream) ;
numberb: = NumberBytes ;
jika numberb> ; 1.023 maka numberb: = 1023 / / membatasi jumlah byte yang diterima – kita dipotong untuk ukuran buffer data
MyStream . Baca (C [0] , numberb) ;
set_rm (C , 1) ; / / Decode eHouse status 1 controller – Decode RM kontroler Status , HM
set_status_commmanager (C , 0 , 254) ; / / Decode commanager Status kontroler – decode commmanagera Status
Test_save ; / / Test menyimpan data ke file teks untuk setiap RM , HM – menyimpan hasil tes ke file teks untuk semua eHouse 1 controller (RM , HM)
Test_save_eth ; / / Test menyimpan data ke file teks untuk CommManager dan masing-masing Ethernet Controller – menyimpan hasil tes ke file teks untuk CommManagera dan semua EtherneteHouse pengendali
update_panel ; / / Update data ke panel untuk kontroler yang dipilih – memperbarui data panel pengontrol
akhir ; :
Pelaksanaan lengkap status proses decoding untuk frame CommManagera dan pengendali lainnya melakukan prosedur Ethernet eHouse
set_status_commmanager (C , 0 , 254) ; / / Parameter Anda menentukan nama dan alamat dari pengendali data buffer (dua komponen terakhir dari alamat IP) .
Prosedur ini melakukan decoding status biner dari frame dan kemudian beban data didekode untuk merekam Ethernet controller yang merupakan contoh dari catatan ” ethernet_rm_hm_cm_lm ” bernama ” ethrm ” .
Indeks dicari otomatis terhubung ke alamat IP dalam status .
Hal ini memungkinkan kita untuk:

  • langsung analisis data dari semua kontroler
  • membuat algoritma sendiri tergantung pada status output , Masukan , pengukuran sensor
  • penerapan sistem kontrol yang didedikasikan untuk menganalisa sejumlah parameter dari sistem yang ada
  • log analyzer pengembangan perangkat lunak dan status eHouse sistem
  • software memungkinkan perhitungan konsumsi listrik
  • memungkinkan pelaksanaan panel kontrol individu dan visualisasi untuk semua pengendali atas dasar template
  • tidak perlu pengetahuan tentang cara frame komunikasi dan data
  • menulis tinggi – tingkat perangkat lunak (beberapa baris kode sumber) melalui penerapan perpustakaan eHouse sistem perangkat lunak .