Afkodning den binære status i hjemmet automationscontrollere – fri kildekode

Home Automation , Building Management eHouse – Dekodning status af mikroprocessor controllere
Home Automation modtaget af kontrolpanelet forbundet til LAN eller WiFi , via UDP (User Datagram Protocol) .
Den standard rammemodtagelse status i binær form , med Controllere blev drøftet i artiklen ” Intelligent Building eHouse controller status pakke ” .
Afkodning rammen må analysere hver en bid af data fra pack .
Desuden , hver type controller:

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

Har en forskel i mængden af ​​digitale indgange , måleindgange , digitale udgange , lysdæmpere , overvågningsfunktioner og algoritmer, der skyldes , at dataene i standard frame muterer afhængigt af controlleren .
Dette resulterer i behovet for dekodning af bit for bit for hver styreenhed uafhængigt .
I tilfælde af gennemførelse af alle typer mikroprocessor controllere for at oprette og teste en ramme dekodningsalgoritme kan tage op til 1 måned .
For at minimere denne tid på et minimum , at lette klar til at præsentere den algoritme lånt fra eHouse . exe ansøgning , til automatisk at afkode alle de oplysninger fra regulatoren og indlæse data i skabelonen registreringer af touch-panel (for tabletter) Windows XP , Vista , 7 , 8 .
Efter automatisk indlæsning af data ind i eHouse software biblioteker , med et par linjer kode , kan du oprette din egen kontrol algoritmer eHouse system i et par minutter .
Binary Frame afkodning software af eHouse status standard er implementeret i skabelonen bibliotek til panel . Det skal gøres binært , til direkte dekodning status fra Ethernet-controllere uden eHouse . Exe ansøgning tilsyn .
Afkodning hele rammen (til mikroprocessor controllere eHouse1 RM , EM , HM) udføres ved fremgangsmåden set_rm funktionen (str: array_of_char ; TCP_INDEX_INC: heltal) ;
parametre er funktioner af buffer status og forskydning (forskydning) . Pufferen indeholder alle de modtagne data fra status . Forskydning afhænger af transmission (udvidet adresse , normal , og andre fremtidige applikationer er afhængige af kommunikation algoritmer) .
Det fylder automatisk array status for hver controller individuelt og kan derefter direkte manipulere data eller opdatere data automatisk på skærmen touchpaneler .
Denne funktion aktiveres i tilfælde procedure modtager data fra UDP socket komponent (TNMUDP – kaldet binær) i onDataReceived begivenhed .
Receptionen er som følger:
procedure TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: Integer ; FromIP: String ; Port: Integer) ;
var C: array [0 . . 1024] af char ;
MyStream: TMemoryStream ;
begynde
hvis filesystem_status derefter afslutte ; / / Hvis der ikke filsystemet filesystem_status
MyStream: = TMemoryStream . Opret ; / / Opret en strøm af data
binær . ReadStream (MyStream) ; / / Læs datastrømmen
MyStream . Læs (C [0] , NumberBytes) ; / / Belastninger buffer C
set_rm (C , 1) ; / / Konverterer de binære data og indlæser registrene rm [index] for flyveledere eHouse 1
Test_save ; / / Test optage output til en tekstfil til nem betjening
update_panel ; / / Load data for kontrolpanelet
ende ;
Det giver dig mulighed for automatisk og ikke – invasiv indsamling af data via et LAN eller Wi – Fi med pakken udsendes via UDP (User Datagram Protocol) .
Hvad mere kræver ikke en åben forbindelse til serveren kun lytter på port broadcast ‘ 6789 ‘ misligholdelse eller anden .
Fejl link , Netværk , routere ikke resulterer i en suspension eller uspecificerede softwarefejl (som i tilfælde af kommunikation med TCP server) , men forsvinder lige opdatere data uden at påvirke data eller egnet server UDP klient ansøgning .

ADVARSEL! . Hvis du opretter kontrol software på en Windows for eHouse Home Automation , er det nødvendigt at gennemføre alle algoritmer i én applikation , der analyserer data og udfører alle de algoritmer og visualisere dem . Vi observerede undertiden, at 2 UDP lytteren socket ikke kan eksistere på samme PC .
De vigtigste variable i biblioteket binære:
boiler_alarm: Boolean = false ; / / Kedel alarm alarm programmeret temperatur over
/ / Over – temperatur alarm kedel
bonfire_stat: integer ; / / Bonfire varme niveau 0 – 7 for binær – beskæftigelsesstatus brand
/ / 0 – affyre – ikke varme
/ / 1 – Brand på / slukning => ; ; grøn niveau < ; ; temp jakke (grøn LED blinker) – udløber blinker grønt
/ / 2 – brand på => ; ; grøn niveau> ; ; = Temp jakke> ; ; gul niveau – histeressis (grøn LED) – grøn
/ / 3 – brand på => ; ; gul niveau – histeressis> ; ; temp jakke> ; ; histeressis niveau + gul) (grøn + gul lysdioder) – grøn – gul
/ / 4 – brand på => ; ; gul niveau + histeressis> ; ; temp jakke> ; ; rød niveau – histeressis (gul) – gul
/ / 5 – ubetinget => ; ; rød niveau – histeressis < ; ; temp jacket < ; ; histeressis niveau + rød (rød + gul LED) gul – rød
/ / 6 – ubetinget => ; ; temp jakke> ; ; histeressis niveau + rød (rød lysdiode konstant) – rød
/ / 7 – ubetinget => ; ; temp jakke> ; ; bål alarm (rød LED blinker) ALARM – røde blink
bonfire_sensor_error: Boolean = false ; / / Error sensorer bål for meget forskellige vandkappe temperaturfølere mellem to
/ / Fejl kaminhylde temperaturfølere for stor forskel
recuperator_status: string ; / / Status for rekreation , ventilation , luftopvarmning – rekuperator og ventilation status
recu_winter: Boolean = false ; / / Rekuperator vinter / sommer varmeveksler tilstand aktiveret / deaktiveret – rekuperator vinter / sommer
recu_manual_amalva: boolean = true ; / / Rekuperator auto / manuel mode for amalva rekuperator (auto forvaltes af intern controler amalva , manual til eHouse HeatManager) / /
rekuperator amalva manuel / auto
went_cooler: boolean = true ; / / Vand køler on / off for ventilation eller køligere i systemet rekreation genindvinding eller GWC ON / OFF
went_gwc: Boolean = false ; / / GHE (jorden varmeveksler) Spjældmotor on / off – jorden varmeveksler motor on / off
went_aux_gwc_fan: Boolean = false ; / / Auxiliary GWC ventilator / blæser on / off-knap for jorden varmeveksler – GWC bistået fan
bonfire_dgp: Boolean = false ; / / Bonfire varm luft distributionssystem aktiveret / deaktiveret – Fan fordeling af varm luft fra pejsen DGP
ventilation_on: Boolean = false ; / / Ventilation arbejder i øjeblikket on / off – omfatte ventilation og varmegenvinding
heater_pump: boolean = true ; / / Pumpe til varmeapparat til ventilation on / off – pumpe varme og ventilation kredsløb for radiatorer
three_ways_cutoff: integer = 0 ; / / Tre måder cutoff retning 0 off , Øget niveau 1 , – Faldende 1) omdrejningsretning electro – vejsventil
solar_pump: Boolean = false ; / / Solar pumpe on / off – solvarmepumpe
boiler_on: Boolean = false ; / / Kedel aktiveret / deaktiveret – kedel on / off
boiler_pump: Boolean = false ; / / Status for kedelpumpe on / off – kedelpumpe on / off
boiler_fuel_out: Boolean = false ; / / Kedel tør for brændstof aproximate (tælle timers opvarmning) – anslåede mangel på brændstof til fastbrændselsfyr (beregnet på grundlag af driftstimer af kedlen)
boiler_power_on: Boolean = false ; / / Kedel supplay power on / off ; – Kedel tænd / sluk
boiler_fuel_supply_override: Boolean = false ; / / Tilsidesæt supplyier brændstof kedel (kontrol af eHouse / intern kedel controller) – Forældre styret brændstof delivery system eHouse on / off
bonfire_pump: Boolean = false ; / / Bonfire pumpestatus on / off – brandpumpe on / off
recu_speed: integer = 0 ; / / Rekuperator Speeed 0 . . 3 – rekuperator hastighed
recu_temperature: integer ; / / Temperatur niveau reçu 0 . . 30C temperatur rekuperator for amalwa
_recu_mode: string = ‘ ‘ ; / / Genindvinding mode i tekst, som den HeatManager kontrolpanel (eHouse . exe) – rekuperator mode som kontrolpanelet ansøgning HeatMAnagerem eHouse . exe
gik: string ; / / Tekst ventilation status som HeatManager Kontrolpanel (eHouse . exe) – ventilation status den samme som i HeatManager panel af eHouse . exe
kedel , sol: string ; / / Kedel , Solar tekst HeatManager status som et Kontrolpanel (eHouse . exe) – status af kedlen og solpanel kontrol (HeatManager) eHouse . exe
Komi: string ; / / Tekst bål status som HeatManager Kontrolpanel (eHouse . exe) – status som brandkontrolpanel ansøgning HeatManager eHouse . exe
Kontrol Lights