Dekodavimo dvejetainis namų automatikos vadovų statusas – nemokama kodo

Home Automation , Pastatų valdymo eHouse – Dekodavimo mikroprocesorinių valdiklių padėtis
Home Automation gavo valdymo skydelyje, prijungtas prie LAN arba WiFi , per UDP (User datagram Protocol) .
Standartinis rėmas priėmimo dvejetaine forma statusas , su Valdikliai sociobiologija ” Pažangi Statyba eHouse kontrolierius padėtis paketas ” .
Dekodavimo rėmo reikia analizuoti kiekvieną šiek tiek duomenų iš pakuotės .
Papildomai , kiekvienas Valdiklio tipas:

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

Turėti sumą skaitmeninių įėjimų skirtumas , matavimo įėjimai , skaitmeniniai išėjimai , reguliatoriai , kontrolės funkcijos ir algoritmai, kad rezultatas , standartinį kadrų mutuoti duomenys, priklausomai nuo valdiklio tipo .
Tai už dekodavimo bitų reikia šiek tiek už kiekvieną valdytojo savarankiškai .
Visų mikroprocesorinių valdiklių tipų įgyvendinimo sukurti ir išbandyti rėmo dekodavimo algoritmas gali būti iki 1 mėnesio .
Siekiant sumažinti šį laiką iki minimumo , siekiant palengvinti pasirengęs pateikti algoritmą pasiskolino iš eHouse . exe , automatiškai iššifruoti visą informaciją iš duomenų valdytojo ir įkelti duomenis į šablonų įrašus Touch Panel (tablečių) "Windows XP" , Vaizdas , 7 , 8 .
Po automatiškai pakrovimo duomenis į eHouse programinės įrangos bibliotekų , su kelių eilučių kodo , galite sukurti savo kontrolės algoritmai eHouse sistemą per kelias minutes .
Dvejetainis Rėmas dekodavimo programinės įrangos eHouse statusas Nuostata yra įgyvendinamas šablonų biblioteką for panel . Tai reikia padaryti dvejetainis , tiesiogiai dekodavimo statusą iš Ethernet valdikliai be eHouse . Exe priežiūra .
Dekodavimo Visas rėmas (mikroprocesorinių valdiklių eHouse1 RM , EM , HM) atlieka procedūros set_rm funkcija (g: array_of_char ; TCP_INDEX_INC: integer) ;
parametrai funkcijos buferiniu statuso ir Shift (kompensuoti) . Buferis yra visus gautus duomenis iš statuso . Poslinkis priklauso nuo perdavimo tipą (Išplėstas adresas , normalus , ir kitus ateityje programos priklauso nuo komunikacijos algoritmų) .
Ji automatiškai užpildo kiekvieno valdytojo statusas masyvo atskirai, ir tada tiesiogiai manipuliuoti duomenis arba atnaujinti duomenis automatiškai ekrane Žymeklio valdymo .
Ši funkcija yra aktyvuota įvykio procedūroje gauti duomenis iš UDP lizdas komponento (TNMUDP – vadinamas dvejetainis) tuo atveju onDataReceived .
Priėmimas yra toks:
procedūra TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: integer ; FromIP: String ; Port: Integer) ;
var C: masyvas [0 . . 1024] char ;
MyStream: TMemoryStream ;
pradėti
jei filesystem_status išeikite iš ; / / Jei ne failas sistema filesystem_status
MyStream: = TMemoryStream . Kurti ; / / Sukuriamas duomenų srautą
dvejetainis . ReadStream (MyStream) ; / / Skaityti duomenų srautas
MyStream . Skaityti (C [0] , NumberBytes) ; / / Krovinys buferis C
set_rm (C , 1) ; / / Konvertuoja dvejetainius duomenis ir apkrovos registrai rm [index] valdikliai eHouse 1
Test_save ; / / Test įrašyti išėjimo į tekstinį failą lengvai valdyti
update_panel ; / / Įkelti valdymo skydelio duomenys
pabaiga ;
Jis leidžia jums automatiškai ir ne – invazinės duomenų rinkimas per LAN ar Wi – Pakuotės transliacijos internetu per UDP (User Datagram Protocol) .
, Ką dar nereikalauja atviro ryšio su serveriu tik klauso uosto transliacijos ‘ 6789 ‘ numatytoji arba iš kitų .
Klaidų nuorodos , Tinklas , maršrutizatoriai nesukelia sustabdymo arba nepatikslintais programinės įrangos klaidų (kaip ir bendravimo su TCP serveris) , bet dingsta tiesiog atnaujinti duomenis nepaveikiant duomenis arba tinkamą serverio UDP kliento programa, .

DĖMESIO! . Jei jūs sukuriate eHouse namų automatikos valdymo programinę įrangą "Windows" , būtina įgyvendinti visus algoritmus vienoje programoje , , kuri analizuoja duomenis ir atlieka visus algoritmus ir juos vizualizuoti . Kartais, kad mes nustatėme, 2 UDP klausytojas lizdas negali egzistuoti to paties kompiuterio .
Bibliotekos dvejetainis svarbiausių kintamųjų:
boiler_alarm: boolean = false ; / / Katilo signalizacija signalizacija užprogramuotas temperatūra turi būti aukštesnė
/ / Per – temperatūros signalizacija, katilas
bonfire_stat: integer ; / / Laužo šildymo lygis 0 – 7 tekstiniu režimu – užimtumo statusas gaisro
/ / 0 – iššaudyti – nekaista
/ / 1 – Gaisras / gesinimo => ; ; žalia lygis < ; ; temp striukė (žalias šviesos diodas mirksi) – baigiasi mirksi žaliai
/ / 2 – gaisras => ; ; žalia lygis> ; ; = Temp striukė> ; ; geltona lygis – histeressis (žalias šviesos diodas) – žalias
/ / 3 – gaisras => ; ; geltona lygis – histeressis> ; ; temp striukė> ; ; histeressis lygis + geltona) (žalia + geltona LED) – žalias – geltonas
/ / 4 – gaisras => ; ; geltona lygis + histeressis> ; ; temp striukė> ; ; Red Level – histeressis (geltona) – geltonas
/ / 5 – besąlyginis => ; ; Red Level – histeressis < ; ; temp striukė < ; ; histeressis lygis + raudona (raudona + geltona lemputės) geltona – raudonas
/ / 6 – besąlyginis => ; ; temp striukė> ; ; histeressis lygis + raudona (raudonas LED konstantą) – raudonas
/ / 7 – besąlyginis => ; ; temp striukė> ; ; laužas signalizacija (raudonas LED mirksi) ALARM – raudona mirksi
bonfire_sensor_error: boolean = false ; / / Klaida jutikliai ugnies per daug skirtingų vandens striukė temperatūros jutikliai tarp dviejų
/ / Klaida židinys mantijos temperatūros jutikliai per didelis skirtumas
recuperator_status: string ; / / Statusas rekuperacija , vėdinimas , oro šildymo – rekuperatoriumi ir vėdinimo padėtis
recu_winter: boolean = false ; / / Rekuperator vasaros / žiemos šilumokaitis režimas įjungtas / išjungtas – rekuperatorius vasaros / žiemos
recu_manual_amalva: boolean = true ; / / Rekuperator AUTOMATINIS / RANKINIS režimas Amalva rekuperatoriumi (automatinis valdo vidaus Valdiklio AMALVA , vadovą eHouse HeatManager) / /
Rekuperator Amalva rankinis / automatinis
went_cooler: boolean = true ; / / Vandens aušintuvas įjungimo / išjungimo ventiliacijos ar aušintuvas rekuperacijos sistemos rekuperacija ar GWC įjungimo / išjungimo
went_gwc: boolean = false ; / / Ghe (žemės šilumokaičio) Servomotor įjungimo / išjungimo – žemės šilumokaičio variklis įjungimas / išjungimas
went_aux_gwc_fan: boolean = false ; / / Pagalbiniai GWC žemės šilumokaičio ventiliatorius / ventiliatoriaus įjungimo / išjungimo jungiklis – GWC ventiliatoriumi
bonfire_dgp: boolean = false ; / / Laužo karšto oro paskirstymo sistema įjungta / išjungta – Paskirstymo ventiliatorius karšto oro iš židinio DGP
ventilation_on: boolean = false ; / / Ventiliacija šiuo metu dirba įjungimo / išjungimo – ventiliacijos ir šilumos panaudojimo
heater_pump: boolean = true ; / / Siurblys šildytuvo ventiliacijos įjungimo / išjungimo – siurblys šildymo ir vėdinimo Radiatorių grandinė
three_ways_cutoff: sveikasis skaičius = 0 ; / / Trys būdai Odcinacz krypties 0 išjungtas , 1 lygio didinimas , – Mažėja Lygis 1) sukimosi electro kryptį – trieigis vožtuvas
solar_pump: boolean = false ; / / Saulės siurblio įjungimo / išjungimo – saulės siurblys
boiler_on: boolean = false ; / / Katilo įjungiama / išjungiama – katilo įjungimo / išjungimo
boiler_pump: boolean = false ; / / Statusas katilo siurblio įjungimo / išjungimo – Katilo siurblio įjungimo / išjungimo
boiler_fuel_out: Būlio = false ; / / Katilo kuro aproximate (skaičius valandas šildymo) – Apskaičiuota, kuro trūkumas kieto kuro katilas (skaičiuojama katilo veikimo valandų)
boiler_power_on: boolean = false ; / / Katilo supplay įjungimo / išjungimo ; – Katilo įjungimo / išjungimo
boiler_fuel_supply_override: boolean = false ; / / Nepaisyti supplyier kuro katilas (kontrolė eHouse / Vidaus Katilo valdiklis) – Parent kontroliuojamas kuro tiekimo sistema eHouse įjungimo / išjungimo
bonfire_pump: boolean = false ; / / Laužo siurblio būsena įjungta / išjungta – gaisrinio siurblio įjungimo / išjungimo
recu_speed: integer = 0 ; / / Rekuperator Speeed 0 . . 3 – rekuperatorius greitis
recu_temperature: integer ; / / Temperatūros lygis RECU 0 . . 30C temperatūra rekuperatorius už amalwa
_recu_mode: String = ‘ ‘ ; / / Rekuperacija režimas teksto HeatManager valdymo pulto (eHouse . Exe) – rekuperatorius režimas kaip valdymo skydelio paraiškos HeatMAnagerem eHouse . Exe
nuėjo: string ; / / Tekstas ventiliacijos HeatManager Control Panel (eHouse statusas . Exe) – vėdinimo padėtis HeatManager skydelyje eHouse . Exe
katilas , saulės: string ; / / Boileris , Saulės tekstas HeatManager Control Panel "(Valdymo skydas) (eHouse statusas . Exe) – statusas katilo ir saulės skydelis kontrolė (HeatManager) eHouse . Exe
Komių: string ; / / Tekstas laužo HeatManager Control Panel (eHouse statusas . Exe) – Priešgaisrinės saugos pulte paraiškos HeatManager eHouse statusas . Exe
Valdyti šviesas