Decoding hadhi binary ya controllers automatisering nyumbani – bure source code

Home Automation , Jengo Usimamizi eHouse – Decoding hadhi ya controllers Microprocessor
Home Automation kupokea na jopo kudhibiti kushikamana na LAN au WiFi , kupitia UDP (User Datagram Itifaki) .
kiwango frame mapokezi hadhi katika fomu binary , na Controllers ilijadiliwa katika makala ” Intelligent Ujenzi eHouse mtawala sasa mfuko ” .
Decoding frame inahitaji kuchambua kila kidogo ya data kutoka pakiti .
Aidha , kila aina ya mtawala:

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

Kuwa tofauti katika kiasi ya pembejeo digital , kipimo pembejeo , digital matokeo , dimmers , ufuatiliaji na kazi algorithms kwamba matokeo , kuwa data katika mutate kiwango frame kutegemea aina ya mtawala .
Hii matokeo katika haja ya Decoding kidogo kidogo kwa kila aina ya mtawala wa kujitegemea .
Katika kesi ya utekelezaji wa aina zote za controllers Microprocessor kujenga na mtihani frame Decoding algorithm inaweza kuchukua hadi mwezi 1 .
Ili kupunguza muda huu kwa kiwango cha chini , kuwezesha tayari kuwasilisha algorithm zilizokopwa kutoka eHouse . exe maombi , moja kwa moja Decode taarifa zote kutoka mtawala na data shehena katika kumbukumbu template ya jopo kugusa (kwa vidonge) Windows XP , Vista , 7 , 8 .
Baada ya moja kwa moja upakiaji data ndani ya maktaba programu eHouse , na mistari michache ya maadili ya , unaweza kuunda algorithms yako mwenyewe kudhibiti mfumo eHouse katika dakika chache .
Binary Frame programu Decoding ya kiwango hali eHouse unatekelezwa katika maktaba kiolezo kwa ajili ya jopo . Ni kufanywa binary , kwa moja kwa moja Decoding hadhi kutoka controllers Ethernet bila eHouse . Exe maombi ya usimamizi .
Decoding frame mzima (kwa microprocessor controllers eHouse1 RM , EM , HM) unafanywa na kazi set_rm utaratibu (str: array_of_char ; TCP_INDEX_INC: integer) ;
vigezo ni kazi ya hali ya buffer na kuhama (kukabiliana) . buffer ina data zote kupokea kutoka sasa . Kukabiliana hutegemea aina ya maambukizi (kupanuliwa anuani , kawaida , na nyingine baadaye maombi wanategemea algorithms mawasiliano) .
Ni moja kwa moja fyller hadhi safu kwa mtawala kila mmoja mmoja na wanaweza basi moja kwa moja kuendesha data au data update moja kwa moja kwenye paneli touch screen .
Kazi hii ni ulioamilishwa katika tukio utaratibu wa data kupokea kutoka UDP sehemu tundu (TNMUDP – kuitwa binary) katika tukio onDataReceived .
mapokezi ni kama ifuatavyo:
utaratibu TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: Integer ; FromIP: Kamba ; Port: Integer) ;
var C: array [0 . . 1024] ya Char ;
MyStream: TMemoryStream ;
kuanza
ikiwa filesystem_status kisha exit ; / / Kama hakuna mfumo wa faili filesystem_status
MyStream: = TMemoryStream . Unda ; / / Create mkondo wa data
binary . ReadStream (MyStream) ; / / Soma mkondo data
MyStream . Soma (C [0] , NumberBytes) ; / / Mizigo C buffer
set_rm (C , 1) ; / / Waongofu data binary na mizigo madaftari rm [index] kwa controllers eHouse 1
Test_save ; / / Test kurekodi pato faili Nakala kwa kazi rahisi
update_panel ; / / Load data kwa jopo la kudhibiti
mwisho ;
Ni inaruhusu wewe moja kwa moja na zisizo za – vamizi ukusanyaji wa data juu ya LAN au Wi – Fi pamoja na matangazo ya mfuko kupitia UDP (User Datagram Itifaki) .
Nini zaidi hauhitaji uhusiano wazi kwa server tu juu ya matangazo anasikiliza bandari ‘ 6789 ‘ default au nyingine .
Makosa kiungo , Mtandao , ruta hayawezi kusababisha kusimamishwa au makosa hakijatajwa programu (kama katika kesi ya mawasiliano na TCP server) , lakini kutoweka tu update data bila kuathiri data au yanafaa server UDP maombi ya mteja .

WARNING! . Kama kujenga kudhibiti programu ya Windows kwa eHouse Automation Home , ni muhimu kutekeleza algorithms wote katika maombi moja , ambayo uchambuzi data na hufanya algorithms wote na uyaone . Sisi aliona kwamba wakati mwingine 2 UDP msikilizaji tundu haiwezi kuwepo kwenye PC sawa .
vigezo muhimu katika binary maktaba:
boiler_alarm: Boolean = uongo ; / / Boiler alarm alarm programmerad joto juu
/ / Zaidi ya – joto alarm boiler
bonfire_stat: integer ; / / Bonfire inapokanzwa ngazi 0 – 7 kwa mode binary – ajira ya moto
/ / 0 – moto off – haina joto
/ / 1 – Moto juu ya / kuzimia => ; ; kijani ngazi < ; ; temp Jacket (kijani LED blinking) – muda wake uangazavyo kijani
/ / 2 – moto juu ya => ; ; kijani ngazi> ; ; = Temp Jacket> ; ; manjano ngazi – histeressis (kijani LED) – kijani
/ / 3 – moto juu ya => ; ; manjano ngazi – histeressis> ; ; temp Jacket> ; ; histeressis ngazi + njano) (kijani + LEDs njano) – kijani – manjano
/ / 4 – moto juu ya => ; ; manjano ngazi + histeressis> ; ; temp Jacket> ; ; nyekundu ngazi – histeressis (njano) – manjano
/ / 5 – masharti => ; ; nyekundu ngazi – histeressis < ; ; temp Jacket < ; ; histeressis ngazi + nyekundu (red + manjano LEDs) manjano – nyekundu
/ / 6 – masharti => ; ; temp Jacket> ; ; histeressis ngazi + nyekundu (nyekundu LED mara kwa mara) – nyekundu
/ / 7 – masharti => ; ; temp Jacket> ; ; bonfire alarm (nyekundu LED blinking) Alarm – nyekundu uangazavyo
bonfire_sensor_error: Boolean = uongo ; / / Hitilafu sensorer bonfire sana tofauti maji Jacket joto sensorer Kati mbili
/ / Hitilafu fireplace joho joto sensorer kubwa mno tofauti
recuperator_status: string ; / / Hali ya recuperation , uingizaji hewa , hewa inapokanzwa – recuperator na uingizaji hewa hadhi
recu_winter: Boolean = uongo ; / / Recuperator baridi / majira ya joto exchanger mode kuwezeshwa / walemavu – recuperator baridi / majira
recu_manual_amalva: bulin = kweli ; / / Recuperator auto / mwongozo mode kwa Amalva recuperator (auto kusimamiwa na ndani controler Amalva , mwongozo kwa eHouse HeatManager) / /
recuperator Amalva mwongozo / auto
went_cooler: bulin = kweli ; / / Maji baridi juu ya / off kwa uingizaji hewa au baridi nchini recuperation mfumo recuperation au GWC ON / OFF
went_gwc: Boolean = uongo ; / / GHE (ardhi exchanger joto) servomotor tarehe / off – joto ardhi exchanger motor juu ya / off
went_aux_gwc_fan: Boolean = uongo ; / / Auxiliary GWC kidirisha / shabiki juu ya / off kubadili kwa ardhi exchanger joto – GWC shabiki kusaidiwa
bonfire_dgp: Boolean = uongo ; / / Bonfire moto hewa mfumo wa usambazaji wa kuwezeshwa / walemavu – Fan usambazaji wa hewa moto kutoka DGP fireplace
ventilation_on: Boolean = uongo ; / / Uingizaji hewa kwa sasa anafanya kazi kwenye / off – ni pamoja na uingizaji hewa na joto ahueni
heater_pump: bulin = kweli ; / / Pump kwa heater kwa uingizaji hewa ya juu / off – pampu inapokanzwa na uingizaji hewa mzunguko kwa radiators
three_ways_cutoff: integer = 0 ; / / Tatu njia cutoff mwelekeo 0 mbali , Kuongeza kiwango 1 , – Kupungua kwa kiwango 1) mwelekeo wa mzunguko electro – njia valve
solar_pump: Boolean = uongo ; / / Solar pampu ya juu / off – nishati ya jua pampu
boiler_on: Boolean = uongo ; / / Boiler kuwezeshwa / walemavu – boiler tarehe / off
boiler_pump: Boolean = uongo ; / / Hali ya pampu boiler tarehe / off – boiler pampu ya juu / off
boiler_fuel_out: Boolean = uongo ; / / Boiler nje ya mafuta aproximate (kuhesabu masaa ya inapokanzwa) – Inakadiriwa uhaba wa mafuta kwa ajili ya boiler imara mafuta (imekadiriwa juu ya msingi wa masaa ya kazi ya boiler)
boiler_power_on: Boolean = uongo ; / / Boiler supplay nguvu juu ya / off ; – Boiler nguvu juu ya / off
boiler_fuel_supply_override: Boolean = uongo ; / / Override supplyier mafuta boiler (kudhibiti na eHouse / ndani Boiler mtawala) – Mzazi kudhibitiwa mafuta mfumo wa utoaji eHouse tarehe / off
bonfire_pump: Boolean = uongo ; / / Bonfire pampu hali ya juu / off – moto pampu ya juu / off
recu_speed: integer = 0 ; / / Recuperator Speeed 0 . . 3 – recuperator kasi
recu_temperature: integer ; / / Joto ngazi ya RECU 0 . . 30c joto recuperator kwa amalwa
_recu_mode: string = ‘ ‘ ; / / Recuperation mode katika maandishi kama HeatManager kudhibiti jopo (eHouse . exe) – recuperator mode kama eHouse kudhibiti jopo maombi HeatMAnagerem . exe
akaenda: string ; / / Nakala uingizaji hewa sasa kama jopo HeatManager Udhibiti (eHouse . exe) – uingizaji hewa hadhi sawa katika HeatManager jopo la eHouse . exe
boiler , nishati ya jua: string ; / / Boiler , Solar Nakala HeatManager sasa kama Jopo Udhibiti (eHouse . exe) – Hali ya boiler na nishati ya jua jopo kudhibiti (HeatManager) eHouse . exe
Komi: string ; / / Nakala bonfire sasa kama jopo HeatManager Udhibiti (eHouse . exe) – sasa kama kudhibiti moto eHouse jopo maombi HeatManager . exe
Document Taa