Dekodiranje binarni status kućne automatizacije kontrolera – besplatni izvorni kod

Početna Automatizacija , Zgrada Uprava eHouse – Dekodiranje status mikroprocesorskih kontrolora
Početna Automatizacija primio upravljačkoj ploči spojen na LAN ili WiFi , preko UDP (User Datagram Protocol) .
Standardni okvir prijem status u binarnom obliku , s Regulatori je objašnjeno u članku ” Inteligentne zgrade eHouse kontroler status paket ” .
Dekodiranje okvir treba analizirati svaki zalogaj podataka iz paketa .
Dodatno , svaka vrsta regulatora:

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

Imaju razliku u iznosu od digitalnih ulaza , mjerni ulazi , digitalni izlazi , dimmers , praćenje funkcije i algoritme koji rezultiraju , da su podaci u standardnih okvira mutirati ovisno o vrsti regulatora .
To rezultira potrebom za dekodiranje malo po malo za svaku vrstu kontrolera samostalno .
U slučaju provedbe svih vrsta mikroprocesora kontrolera za stvaranje i testiranje algoritma frame dekodiranja može potrajati i do 1 mjesec .
Da biste smanjili ovaj put na minimum , kako bi se olakšalo spreman predstaviti algoritam posudio od eHouse . exe aplikacija , automatski dekodirati sve informacije iz regulatora i učitavanje podataka u predložak evidencije osjetljiv na dodir (za tablete) Windows XP , Vidik , 7 , 8 .
Nakon automatski učitava podatke u knjižnicama eHouse softverskih , s nekoliko linija koda , možete stvoriti svoj vlastiti algoritama upravljanja sustavom eHouse u nekoliko minuta .
Binarni okvir dekodiranje softver norme eHouse stanja se provodi u knjižnici predložak za ploče . To treba učiniti binarni , za izravnu dekodiranje statusa iz Ethernet kontrolera bez eHouse . Exe aplikacija nadzor .
Dekodiranje cijeli okvir (za mikroprocesorske kontrolera eHouse1 RM , EM , HM) provodi funkciju postupak set_rm (str: array_of_char ; TCP_INDEX_INC: integer) ;
parametri su funkcije tampon status i pomak (offset) . Tampon sadrži sve primljene podatke iz statusa . Offset ovisi o vrsti prijenosa (proširena adresa , normalan , i druge buduće aplikacije koje ovise o komunikacijskim algoritmima) .
To automatski popunjava polje status za svaki kontroler pojedinačno i onda mogu izravno manipulirati podacima ili ažuriranje podataka automatski na zaslon osjetljiv na dodir ploča .
Ova funkcija se aktivira u slučaju postupka primati podatke iz UDP socket komponente (TNMUDP – zove binarni) u slučaju onDataReceived .
Recepcija je kako slijedi:
Postupak TForm1 . binaryDataReceived (pošiljatelja: TComponent ;
NumberBytes: Integer ; FromIP: Gudački ; Luka: Integer) ;
var C: array [0 . . 1024] od char ;
MyStream: TMemoryStream ;
početi
ako filesystem_status onda izlaz ; / / Ako nije datotečni sustav filesystem_status
MyStream: = TMemoryStream . Stvoriti ; / / Stvaranje tok podataka
binarni . ReadStream (MyStream) ; / / Pročitajte podatkovni tok
MyStream . Pročitajte (C [0] , NumberBytes) ; / / Hrpe tampon C
set_rm (C , 1) ; / / Pretvara binarni podaci i opterećenja registri rm [indeks] za kontrolere eHouse 1
Test_save ; / / Test snimati izlaz na tekstualnu datoteku za jednostavno rukovanje
update_panel ; / / Učitavanje podataka za kontrolne ploče
kraj ;
To vam omogućuje da automatski i ne – invazivna prikupljanje podataka putem LAN ili Wi – Fi s paketom emitiranje preko UDP (User Datagram Protocol) .
Što više ne zahtijevaju otvorena veza s poslužiteljem samo sluša na portu emisiji ‘ 6789 ‘ zadani ili neki drugi .
Pogreške vode , Mreža , routeri ne rezultirati suspenzijom ili nedefinirana softverskih pogrešaka (kao u slučaju komunikacije s TCP server) , ali nestaje samo ažurirati podatke bez utjecaja na podatke ili odgovarajućeg poslužitelja UDP klijent aplikacija .

UPOZORENJE! . Ako stvorite kontrole softver na Windowsima za eHouse Home Automation , potrebno je provesti sve algoritme u jednoj primjeni , koji analizira podatke i obavlja sve algoritme te ih vizualizirati . Uočili smo da ponekad dva UDP slušatelja utičnica ne može postojati na istom računalu .
Najvažnije varijable u knjižnici binarnom:
boiler_alarm: Booleova = false ; / / Kotla alarm alarm programirana temperatura iznad
/ / Više – Temperatura alarm kotao
bonfire_stat: cijeli ; / / Krijes grijanje razina 0 – 7 za binarnom modu – radni status požara
/ / 0 – ivaca – ne zagrije
/ / 1 – Vatra na / gašenje => ; ; zelena razina < ; ; temperatura jakna (zelena LED treperi) – istječe bljeska zeleno
/ / 2 – Požar na => ; ; zelena razina> ; ; = Temp jakna> ; ; žuta razina – histeressis (zelena LED) – zelen
/ / 3 – Požar na => ; ; žuta razina – histeressis> ; ; temp jakna> ; ; histeressis razina + žuta) (zelena + žuta LED) – zelen – žut
/ / 4 – Požar na => ; ; žuta razina + histeressis> ; ; temp jakna> ; ; crvena razina – histeressis (žuta) – žut
/ / 5 – bezuvjetna => ; ; crvena razina – histeressis < ; ; temp jakna < ; ; histeressis razina + crvena (crveni + žuta LED) žuta – crven
/ / 6 – bezuvjetna => ; ; temp jakna> ; ; histeressis razina + crvena (crveni LED konstanta) – crven
/ / 7 – bezuvjetna => ; ; temp jakna> ; ; krijes alarma (crvena LED treperi) ALARM – crveni bljesak
bonfire_sensor_error: Booleova = false ; / / Pogreška senzori krijes previše različiti vodeni jakna senzori temperature između dva
/ / Error kamin ovojnice temperaturni senzori prevelika razlika
recuperator_status: niz ; / / Status oporavak , ventilacija , klima grijanje – rekuperatora i ventilacija status
recu_winter: Booleova = false ; / / Rekuperatora zima / ljeto topline način omogućeno / onemogućeno – rekuperator zima / ljeto
recu_manual_amalva: boolean = true ; / / Rekuperatora auto / ručni pogon za amalva rekuperatora (automatsko upravlja unutarnje Kontroler amalva , priručnik za eHouse HeatManager) / /
rekuperator amalva priručnik / auto
went_cooler: boolean = true ; / / Voda hladnjak za uključivanje / isključivanje za ventilaciju ili hlađenje u oporavak sustava oporavak ili GWC ON / OFF
went_gwc: Booleova = false ; / / GHE (prizemlje izmjenjivač topline) servo uključivanje / isključivanje – tlo topline motora za uključivanje / isključivanje
went_aux_gwc_fan: Booleova = false ; / / Pomoćni GWC ventilator / fan on / off prekidač za podzemne topline – GWC fan pomagao
bonfire_dgp: Booleova = false ; / / Krijes vrući zrak distribucijskog sustava omogućeno / onemogućeno – Fan distribuciju toplog zraka od kamina DGP
ventilation_on: Booleova = false ; / / Ventilacija trenutno radi za uključivanje / isključivanje – uključuju ventilaciju i otpadne topline
heater_pump: boolean = true ; / / Pumpa za grijanje za ventilaciju za uključivanje / isključivanje – pumpa za grijanje i ventilaciju krug za radijatore
three_ways_cutoff: cijeli = 0 ; / / Tri načina granična smjer 0 isključiti , Povećanje razine 1 , – Smanjivanje razine 1) smjer vrtnje electra – način ventil
solar_pump: Booleova = false ; / / Solarna pumpa za uključivanje / isključivanje – Solarna pumpa
boiler_on: Booleova = false ; / / Kotla omogućeno / onemogućeno – kotao za uključivanje / isključivanje
boiler_pump: Booleova = false ; / / Status kotla pumpom on / off – bojler pumpa za uključivanje / isključivanje
boiler_fuel_out: Booleova = false ; / / Kotla bez goriva aproksimativni (računati sati grijanja) – Procjenjuje goriva nestašice za kruto gorivo kotao (izračunata na temelju sati rada kotla)
boiler_power_on: Booleova = false ; / / Kotla supplay snage za uključivanje / isključivanje ; – Bojler snage za uključivanje / isključivanje
boiler_fuel_supply_override: Booleova = false ; / / Brisanje supplyier goriva kotao (kontrola eHouse / unutarnji bojler kontroler) – Roditelj kontrolirani sustav dovoda goriva eHouse za uključivanje / isključivanje
bonfire_pump: Booleova = false ; / / Krijes pumpa statusa za uključivanje / isključivanje – protupožarne pumpe za uključivanje / isključivanje
recu_speed: cijeli = 0 ; / / Rekuperatora Speeed 0 . . 3 – rekuperator brzina
recu_temperature: cijeli ; / / Temperatura razina RECU 0 . . 30C temperatura rekuperatora za amalwa
_recu_mode: string = ‘ ‘ ; / / Rekuperiranje način u tekstu kao što je HeatManager upravljačkoj ploči (eHouse . exe) – rekuperatora način kao aplikacija upravljačke ploče HeatMAnagerem eHouse . exe
otišao: niz ; / / Tekst ventilacija status kao ploči HeatManager Control (eHouse . exe) – ventilacija status isti kao u HeatManager ploči eHouse . exe
bojler , Solarni: niz ; / / Kotla , Solarna tekst HeatManager status kao Control Panel (eHouse . exe) – status kotla i solarni panel kontrola (HeatManager) eHouse . exe
Komi: niz ; / / Tekst krijes status kao ploči HeatManager Control (eHouse . exe) – status kao panel požara kontrole aplikacija HeatManager eHouse . exe
Kontrola Svjetla