Decoding ev otomasyon kontrolörleri ikili durumu – ücretsiz kaynak kodu

Ev Otomasyonu , Bina Yönetimi eHouse – Decoding mikroişlemci denetleyicilerinin durumunu
Ev Otomasyonu LAN veya WiFi bağlı kontrol paneli tarafından alınan , yoluyla UDP (Kullanıcı Datagram Protokolü) .
Ikili formda standart çerçeve alım durumu , ile Kontrolörler makalede ele alındı ” Akıllı Bina eHouse denetleyicisi durumu paketi ” .
Decoding çerçeve paketi veri her bit analiz gerekiyor .
Buna ek olarak , kontrolörünün her biri tipi:

  • RoomManager
  • ExternalManager
  • HeatManager
  • InputExtender
  • CommManager
  • LevelManager
  • EthernetRoomManager

Dijital girişlerin miktarında bir fark var , ölçüm girişleri , dijital çıkışlar , kısa huzmeli farlar , izleme fonksiyonları ve algoritmalar sonucunda ortaya , standart kare mutasyona olarak veri kontrolörü türüne bağlı olarak, bu .
Bağımsız denetleyici her türü için bit çözme bit için ihtiyaç Bu sonuç .
Oluşturmak ve kare kod çözme algoritması test etmek için mikroişlemci kontrol tipleri uygulanması durumunda 1 ay kadar sürebilir .
En az bu süre en aza indirmek için , eHouse ödünç algoritması sunmak için hazır kolaylaştırmak için . exe uygulama , otomatik dokunmatik panel şablonu kayıtları (tabletler için) Windows XP içine kontrolörü ve yük verileri tüm bilgilerin şifresini çözmek için , Manzara , 7 , 8 .
Otomatik eHouse yazılım kütüphaneleri içine veri yükledikten sonra , kod birkaç satır ile , Birkaç dakika içinde kendi kontrol algoritmaları eHouse sistem oluşturabilirsiniz .
EHouse durumu standart İkili Çerçeve çözme yazılımı panel için şablon kütüphanesi uygulanmaktadır . Bu ikili yapılması gerekiyor , eHouse olmadan Ethernet denetleyicileri doğrudan kod çözme durumu için . Exe Uygulama denetimi .
Decoding tüm çerçeve (mikroişlemci kontrolörler için eHouse1 RM , EM , Array_of_char: HM) (STR prosedür set_rm fonksiyonu ile gerçekleştirilir ; TCP_INDEX_INC: integer) ;
parametreleri buffer durumunu ve shift (çıkıntı) fonksiyonları . Tampon durum tüm alınan verileri içerir . Ofset iletim tipi (genişletilmiş adres bağlıdır , normal , ve iletişim algoritmaları bağlı diğer gelecekteki uygulamalar) .
Otomatik olarak her bir denetleyici için dizi durumunu doldurur ve sonra doğrudan ekran dokunmatik paneller otomatik veri veya güncelleme veri işleyebilirsiniz .
Bu fonksiyon UDP soket bileşeni aldığınız verilerin olay yordamı (TNMUDP aktive edilir – onDataReceived olay) ikili olarak adlandırılan .
Aşağıdaki gibi alımı:
prosedürü TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: Tamsayı ; FromIP: String ; Liman: Tamsayı) ;
var C: array [0 . . Char 1024] ;
MyStream: TMemoryStream ;
başlamak
filesystem_status sonra çıkarsanız ; / / Hiçbir dosya sistemi filesystem_status varsa
MyStream: = TMemoryStream . Oluşturmak ; / / Veri akışı oluşturma
ikili . ReadStream (MyStream) ; / / Veri akışı
MyStream . Oku (C [0] , NumberBytes) ; / / Yükler tampon C
set_rm (C , 1) ; / / Dönüştürür ikili veri ve yükleri kontrol eHouse 1 yazmaçlar rm [index]
Test_save ; / / Test kolay kullanımı için bir metin dosyasına çıkış kayıt
update_panel ; Kontrol paneli için / / veri yükleyin
uç ;
Bu sizin için otomatik ve sigara verir – LAN veya Wi üzerinden veri invaziv toplama – UDP (Kullanıcı Datagram Protokolü) aracılığıyla paket yayın Fi .
Ne daha sunucusuna açılmış bir bağlantı yalnızca liman yayın dinleyen gerektirmez ‘ 6789 ‘ Varsayılan veya diğer .
Hataları bağlantısını , Ağ , yönlendiriciler (TCP sunucu ile iletişim halinde olduğu gibi) bir süspansiyon veya tanımlanmamış yazılım hataları yol açmaz , ama sadece veri veya uygun sunucu UDP istemci uygulaması etkilemeden veri güncelleme kaybolur .

UYARI! . Eğer ehouse Ev Otomasyonu için bir Windows üzerinde kontrol yazılımı oluşturursanız , o bir uygulama tüm algoritmalar uygulamak için gerekli olan , verileri analiz eder ve gerçekleştirir tüm algoritmalar ve onları görselleştirmek hangi . Biz aynı PC üzerinde 2 UDP dinleyici soketi olamayacağı bazen gözlenen .
Kütüphane ikili en önemli değişkenler:
boiler_alarm: Boolean = false ; / / Kazan alarm alarm programlanmış sıcaklık yukarıda
/ / Üst – sıcaklık alarmı kazan
bonfire_stat: integer ; / / Bonfire ısıtma seviyesi 0 – İkili modu için 7 – istihdam durumu yangın
/ / 0 – ateşlemesi – ısınmıyor
/ / 1 – / Söndürme üzerine Yangın => ; ; Yeşil düzey < ; ; temp ceket (yeşil LED yanıp söner) – yeşil renkte yanıp söner sona eriyor
/ / 2 – => yangın ; ; Yeşil düzey> ; ; = Temp ceket> ; ; sarı seviyesi – histeressis (yeşil LED) – yeşil
/ / 3 – => yangın ; ; sarı seviyesi – histeressis> ; ; temp ceket> ; ; histeressis seviyesi + sarı) (yeşil + sarı led) – yeşil – sarı
/ / 4 – => yangın ; ; sarı seviyesi + histeressis> ; ; temp ceket> ; ; kırmızı seviyesi – histeressis (sarı) – sarı
/ / 5 – koşulsuz => ; ; kırmızı seviyesi – histeressis < ; ; temp ceket < ; ; histeressis seviyesi + kırmızı (kırmızı + sarı led) sarı – kırmızı
/ / 6 – koşulsuz => ; ; temp ceket> ; ; histeressis seviyesi + kırmızı (kırmızı LED sabit) – kırmızı
/ / 7 – koşulsuz => ; ; temp ceket> ; ; bonfire alarm (kırmızı yanıp sönen LED) ALARM – kırmızı yanıp söner
bonfire_sensor_error: Boolean = false ; İki Arasında / / Hata sensörler şenliğimiz çok farklı su ceketi sıcaklık sensörleri
/ / Hata şömine manto sıcaklık sensörleri çok büyük fark
recuperator_status: string ; Iyileşme / / Durum , havalandırma , hava ile ısıtma – reküperatör ve havalandırma durumu
recu_winter: Boolean = false ; / / Reküperatör kış / yaz eşanjör modu etkin / devre dışı – reküperatör kış / yaz
recu_manual_amalva: boolean = true ; Amalva reküperatör için / / Reküperatör otomatik / manuel mod (iç Kontrolcü amalva tarafından yönetilen otomatik , eHouse HeatManager manuel) / /
reküperatör amalva manuel / otomatik
went_cooler: boolean = true ; Sistem iyileşme iyileşme veya ON / OFF GWC havalandırma veya soğutucu açık / kapalı / / Su soğutucu
went_gwc: Boolean = false ; Açık / kapalı / / GHE (toprak ısı değiştirici) Servomotor – açık / kapalı toprak ısı değiştirici motoru
went_aux_gwc_fan: Boolean = false ; / / Yardımcı GWC zemin eşanjör için ventilatör / açma / kapama düğmesi fan – Destekli GWC fanı
bonfire_dgp: Boolean = false ; / / Bonfire sıcak hava dağıtım sistemi etkin / devre dışı – Şömine DGP sıcak havanın Fan dağılımı
ventilation_on: Boolean = false ; / / Havalandırma anda on / off çalışıyor – havalandırma ve ısı geri kazanımı içerir
heater_pump: boolean = true ; On / off havalandırma için ısıtıcı / / Pompa – radyatörler için pompa ısıtma ve havalandırma devresi
three_ways_cutoff: integer = 0 ; / / Üç yolu kapalı kesim yönü 0 , 1. seviye artırılması , – ) Rotasyon elektro yönü seviye 1 Azalan – yollu vana
solar_pump: Boolean = false ; Açık / kapalı / / Solar pompa – solar pompa
boiler_on: Boolean = false ; / / Kazan etkin / devre dışı – açık / kapalı kazan
boiler_pump: Boolean = false ; Açık / kapalı kazan pompası / / Durum – açık / kapalı kazan pompası
boiler_fuel_out: Boolean = false ; Aproximate yakıt / / Kazan çıkışı (ısıtma saat saymak) – Katı yakıt kazan (kazan çalışma saatleri arasında hesaplanan) için tahmin edilen yakıt sıkıntısı
boiler_power_on: Boolean = false ; On / off / / Kazan supplay güç ; – Açık / kapalı Boyler gücü
boiler_fuel_supply_override: Boolean = false ; / / Geçersiz kılma supplyier yakıt kazanı (eHouse / dahili kazan denetleyicisi tarafından kontrol) – Açık / kapalı Ebeveyn kontrollü yakıt dağıtım sistemi ehouse
bonfire_pump: Boolean = false ; On / off / / Bonfire pompa durumu – açık / kapalı yangın pompası
recu_speed: integer = 0 ; / / Reküperatör 0 Speeed . . 3 – reküperatör hızı
recu_temperature: integer ; Reçu 0 / / Sıcaklık seviyesi . . Amalwa için 30C sıcaklık reküperatör
_recu_mode: string = ‘ ‘ ; Bu HEatManager kontrol paneli (eHouse olarak metin / / Nekahat modu . exe) – kontrol paneli uygulaması HeatMAnagerem eHouse olarak reküperatör modu . exe
Kimler: string ; Bir HeatManager Kontrol paneli (eHouse olarak / / Metin havalandırma durumu . exe) – havalandırma durum ehouse HeatManager panel ile aynı . exe
kazan , Güneş: string ; / / Kazan , Bir Denetim Masası gibi Güneş metin HeatManager durumu (eHouse . exe) – kazan durumu ve güneş paneli kontrolü (HeatManager) eHouse . exe
komi: string ; Bir HeatManager Kontrol paneli (eHouse olarak / / Metin bonfire durumu . exe) – yangın kontrol paneli uygulaması heatmanager ehouse statüsü . exe
Kontrol Işıkları