Dekoodaus binary aseman kotiautomaatio ohjaimet – vapaa lähdekoodi

Home Automation , Building Management eHouse – Dekoodataan tila mikroprosessorin ohjaimet
Home Automation saamat ohjauspaneelin yhdistetty LAN-tai WLAN , UDP (User Datagram Protocol) .
Vakiorunko vastaanoton tila binäärimuodossa , kanssa Ohjaimet käsiteltiin artikkelissa ” Älykäs rakentaminen eHouse säätimen tila paketti ” .
Dekoodaus runko on analysoitava jokainen vähän tietoja pakkaus .
Lisäksi , kunkin säätimen:

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

On erotusta Digitaalitulojen , mittaus panosten , digitaalilähtöä , himmentimet , valvontatoiminnot ja algoritmeja, jotka johtavat , että tiedot standardin kehyksen muuntua riippuen ohjaimen .
Tämä johtaa tarpeeseen dekoodaamiseksi bitti kullekin ohjaimen itsenäisesti .
Tapauksessa toteuttamista kaikentyyppisten mikroprosessorin ohjaimet luoda ja testata kehyksen dekoodausalgoritmi voi kestää jopa 1 kuukausi .
Minimoida tämä aika on vähintään , helpottaa valmis esittämään algoritmin lainattu eHouse . exe sovellus , automaattisesti purkaa kaikki tiedot ohjain ja ladata tietoja malliin kirjaa kosketusnäyttö (pillereiden) Windows XP , Näköala , 7 , 8 .
Jälkeen automaattisesti lastaus datan eHouse ohjelmisto kirjastot , muutaman rivin koodia , Voit luoda omia säätöalgoritmit eHouse muutamassa minuutissa .
Binary Frame koodauksen ohjelmisto eHouse Vakiojäsen toteutetaan mallin kirjastossa paneeli . Se on tehtävä binary , suoraan koodauksen tilan Ethernet ohjaimet ilman eHouse . Exe sovelluksen valvonta .
Koko kehyksen dekoodaamista (mikroprosessorille ohjaimet eHouse1 RM , EM , HM) suoritetaan menettelyä set_rm toiminto (str: array_of_char ; TCP_INDEX_INC: kokonaisluku) ;
parametrit ovat toimintoja puskurin tila ja muutos (offset) . Puskuri sisältää kaikki vastaanotetun datan asemasta . Offset riippuu lähetyksen (laajennettu osoite , normaali , ja muiden tulevien sovellusten riippuvainen viestintä algoritmit) .
Se täyttää automaattisesti array tilan kunkin säätimen erikseen ja voi sitten suoraan manipuloida tiedot tai päivittää tiedot automaattisesti ruudulla kosketuspaneelit .
Tämä toiminto aktivoituu tapauksessa menettelyssä vastaanottamaan dataa UDP socket komponentti (TNMUDP – kutsutaan binary) jos onDataReceived .
Vastaanotto on seuraava:
menettely TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: Integer ; FromIP: String ; Port: Integer) ;
var C: array [0 . . 1024] nieriää ;
MyStream: TMemoryStream ;
alkaa
jos filesystem_status poistu ; / / Jos ei tiedostojärjestelmä filesystem_status
MyStream: = TMemoryStream . Luoda ; / / Luo datavirran
binaarinen . ReadStream (MyStream) ; / / Lue tietovirran
MyStream . Lue (C [0] , NumberBytes) ; / / Kuormat puskuri C
set_rm (C , 1) ; / / Muuntaa binary data ja lataa rekisterit rm [index] lennonjohtajien eHouse 1
Test_save ; / / Test tallentaa lähtö tekstitiedosto helpottaa käyttöä
update_panel ; / / Load tiedot ohjauspaneelin
pää ;
Sen avulla voit automaattisesti ja ei – invasiivisia keruu lähiverkossa tai Wi – Fi kanssa paketin lähetyksen UDP (User Datagram Protocol) .
Mitä enemmän ei vaadi avoin yhteys palvelimeen vain kuuntelee portti broadcast ‘ 6789 ‘ oletus tai muu .
Virheet linkki , Verkko , reitittimet eivät johda suspension tai määrittelemätön ohjelmistojen virheet (kuten yhteydenpitoa TCP-palvelin) , mutta katoaa vain päivittää tiedot vaikuttamatta tietoja tai sopivan palvelimen UDP-asiakasohjelma .

VAROITUS! . Jos luot valvonta ohjelmiston Windows eHouse Home Automation , on tarpeen toteuttaa kaikki algoritmeja yhdessä sovelluksessa , joka analysoi tiedot ja suorittaa kaikki algoritmit ja visualisoida ne . Havaitsimme joskus että 2 UDP kuuntelija liitäntään ei voi olla samassa tietokoneessa .
Tärkeimpien muuttujien kirjastossa binary:
boiler_alarm: Boolean = false ; / / Kattila hälytys hälytys ohjelmoitu lämpötila yli
/ / Yli – lämpötilan hälytys kattilan
bonfire_stat: kokonaisluku ; / / Bonfire lämmitys taso 0 – 7 binäärimuodossa – työsuhteen palo
/ / 0 – tulipalo pois – ei kuumene
/ / 1 – Tulipalo / sammutusjärjestelmän => ; ; vihreä taso < ; ; temp takki (vihreä merkkivalo vilkkuu) – päättyy vilkkuu vihreänä
/ / 2 – tulipalo => ; ; vihreä taso> ; ; = Temp takki> ; ; keltainen taso – histeressis (vihreä LED) – vihreä
/ / 3 – tulipalo => ; ; keltainen taso – histeressis> ; ; temp takki> ; ; histeressis taso + keltainen) (vihreä + keltainen LED) – vihreä – keltainen
/ / 4 – tulipalo => ; ; keltainen taso + histeressis> ; ; temp takki> ; ; punainen taso – histeressis (keltainen) – keltainen
/ / 5 – ehdoton => ; ; punainen taso – histeressis < ; ; temp takki < ; ; histeressis taso + punainen (punainen + keltainen LED) keltainen – punainen
/ / 6 – ehdoton => ; ; temp takki> ; ; histeressis taso + punainen (punainen LED vakio) – punainen
/ / 7 – ehdoton => ; ; temp takki> ; ; Bonfire hälytys (punainen merkkivalo vilkkuu) ALARM – punainen vilkkuu
bonfire_sensor_error: Boolean = false ; / / Error anturit kokko liikaa eri vesivaippa anturit Between Two
/ / Error takanreunukselle anturit liian iso ero
recuperator_status: string ; / / Tila toipuminen , ilmanvaihto , ilmalämmitys – rekuperaattori ja ilmanvaihto tila
recu_winter: Boolean = false ; / / Rekuperaattori talvi / kesä lämmönvaihdin tila käytössä / pois käytöstä – rekuperaattori talvi / kesä
recu_manual_amalva: boolean = true ; / / Rekuperaattori automaattinen / manuaalinen tila amalva rekuperaattori (auto hallinnoi sisäisen controler amalva , käsikirja eHouse HeatManager) / /
rekuperaattori amalva manuaalinen / automaattinen
went_cooler: boolean = true ; / / Vesijäähdytyspatteri päälle / pois ilmanvaihtoa tai jäähdytin järjestelmän toipuminen lepäämiseen tai GWC ON / OFF
went_gwc: Boolean = false ; / / GHE (maa lämmönvaihdin) Servomoottori päälle / pois – maa lämmönvaihdin moottorin päälle / pois päältä
went_aux_gwc_fan: Boolean = false ; / / Ylimääräiset GWC hengityslaitetta / tuuletin päälle / pois kytkin maa lämmönvaihdin – GWC tuuletin
bonfire_dgp: Boolean = false ; / / Bonfire hot Ilmanjakojärjestelmä käytössä / ei käytössä – Tuuletin jakelu kuumaa ilmaa takka DGP
ventilation_on: Boolean = false ; / / Ilmanvaihto on parhaillaan / off – kuuluvat ilmanvaihto ja lämmön talteenotto
heater_pump: boolean = true ; / / Pumppu lämmittimen tuuletus päälle / pois – pumppu lämmityksen ja ilmanvaihdon piiri lämpöpattereita
three_ways_cutoff: kokonaisluku = 0 ; / / Kolme tapaa cutoff suuntaan 0 pois , Lisääntyvä taso 1 , – Laskeva taso 1) pyörimissuuntaa electro – tieventtiili
solar_pump: Boolean = false ; / / Solar pumppu päälle / pois – aurinko pumppu
boiler_on: Boolean = false ; / / Kattila käytössä / pois käytöstä – kattila päälle / pois päältä
boiler_pump: Boolean = false ; / / Tila kattilan pumpun päälle / pois – Kattilan pumppu päälle / pois
boiler_fuel_out: Boolean = false ; / / Kattila pois polttoaineen aproximate (count tunnin lämmitys) – arvioidaan polttoainepulaa kiinteän polttoaineen kattilan (laskettu tunteja kattilan toimintaan)
boiler_power_on: Boolean = false ; / / Kattila supplay virta päälle / pois päältä ; – Kattilan teho päälle / pois päältä
boiler_fuel_supply_override: Boolean = false ; / / Ohitus supplyier polttoaineen kattilan (valvonta eHouse / sisäinen kattilan säädin) – Vanhempi ohjattu polttoaineen jakelujärjestelmä eHouse päälle / pois päältä
bonfire_pump: Boolean = false ; / / Bonfire Pumpun tilan päälle / pois päältä – palopumppu päälle / pois päältä
recu_speed: kokonaisluku = 0 ; / / Rekuperaattori Speeed 0 . . 3 – rekuperaattori nopeus
recu_temperature: kokonaisluku ; / / Lämpötila tason Recu 0 . . 30C lämpötilassa rekuperaattori varten amalwa
_recu_mode: string = ‘ ‘ ; / / Talteenotto-tila tekstissä, koska se HeatManager ohjauspaneelin (eHouse . exe) – rekuperaattori tilassa ohjauspaneelin sovellus HeatMAnagerem eHouse . exe
meni: string ; / / Teksti ilmanvaihto asema HeatManager Ohjauspaneeli (eHouse . exe) – tuuletus tila sama kuin HeatManager paneelissa eHouse . exe
höyrykattila , aurinko: string ; / / Kattila , Solar teksti HeatManager asema Ohjauspaneeli (eHouse . exe) – tila kattilan ja aurinkopaneeli ohjaus (HeatManager) eHouse . exe
Komi: string ; / / Teksti kokko asema HeatManager Ohjauspaneeli (eHouse . exe) – asema palonvalvontapaneelissa sovellus HeatManager eHouse . exe
Ohjaus Valot