Ապակոդավորում են երկուական կարգավիճակը տնային ավտոմատացման Կարգավորիչներ – ազատ կոդով

Home Automation , Building Management eHouse – Ապակոդավորում կարգավիճակը միկրոպրոցեսորային Կարգավորիչներ
Home Automation ընդունեց Control Panel կապված է LAN կամ WiFi , միջոցով UDP (User Datagram արձանագրություն) .
Ստանդարտ շրջանակը ընդունելություն կարգավիճակը երկուական տեսքով , հետ Կարգավորիչներ քննարկվել է հոդվածում ” Խելացի շենք eHouse վերահսկիչ փաթեթը կարգավիճակը ” .
Ապակոդավորում շրջանակներում պետք է վերլուծել բոլոր քիչ տվյալների տուփի .
Ի լրումն , յուրաքանչյուր տեսակի վերահսկիչ:

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

Մի տարբերություն չափով թվային միջոցները , չափման միջոցները , թվային արդյունքները , dimmers , մոնիտորինգի գործառույթները եւ ալգորիթմների, որ արդյունքը , որ տվյալների ստանդարտ շրջանակ mutate կախված տեսակից վերահսկիչ .
Սա հանգեցնում է, որ անհրաժեշտ է, որ վերծանման բիտ bit կողմից յուրաքանչյուր տեսակի համար անկախ վերահսկիչ .
Այն դեպքում, իրականացման բոլոր տեսակի միկրոպրոցեսորային Կարգավորիչներ ստեղծել եւ փորձարկել շրջանակներում ապակոդավորում ալգորիթմ կարող է տեւել մինչեւ 1 ամիս .
Նվազագույնի հասցնելու համար, այս անգամ պետք է նվազագույնի , հեշտացնել պատրաստ է ներկայացնել ալգորիթմ փոխառու – ից eHouse . Փոխանցել դիմումը , ավտոմատ վերծանել բոլոր տեղեկությունները, որ վերահսկիչ եւ բեռնել տվյալների մեջ template ռեկորդներ touch panel համար (Սմայլերի) Windows XP , Ծառուղի , 7 , 8 .
Հետո ավտոմատ բեռնում տվյալների մեջ eHouse ծրագրային գրադարանների , մի քանի տող կոդ, , Դուք կարող եք ստեղծել ձեր սեփական հսկողության eHouse համակարգ, ալգորիթմեր մի քանի րոպեից: .
Երկուական Շրջանակ վերծանման ծրագրային է eHouse կարգավիճակի ստանդարտի իրականացվում է գրադարանի համար Կաղապար վահանակի . Դա պետք է արվի Երկուական , ուղղակի ապակոդավորում կարգավիճակի Ethernet eHouse Կարգավորիչներ առանց . Exe դիմումը հսկողություն .
Ապակոդավորում ամբողջ շրջանակը համար (միկրոպրոցեսորային Կարգավորիչներ eHouse1 RM , EM , HM) իրականացվում է սահմանված կարգով set_rm գործառույթի (ՀՀ, ք. Array_of_char ; TCP_INDEX_INC. Թիվ) ;
ցուցանիշները գործառույթները բուֆերային կարգավիճակի եւ Shift (փոխհատուցում) . The բուֆերային պարունակում է բոլոր ստացված տվյալներ կարգավիճակի . Օֆսեթ կախված տեսակից հաղորդման (Extended հասցեն , նորմալ վիճակ , եւ հետագա ծրագրերը կախված են կապի ալգորիթմներ) .
Այն ինքնաբերաբար լրացնում է array կարգավիճակ յուրաքանչյուր վերահսկիչ անհատապես, եւ կարող է, ապա ուղղակի շահարկել տվյալներ կամ թարմացրեք Տվյալները ավտոմատ էկրանին կապ վահանակի .
Այս ֆունկցիան ակտիվացված է հանդիսանում ընթացակարգով ստացվող տվյալների UDP ԱՊ բաղադրիչի (TNMUDP – կոչվում երկուական) այն դեպքում onDataReceived .
Ընդունելության հետեւյալն է.
կարգը TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes թիվ: ; FromIP: String ; Port: Integer) ;
var C: array [0 . . 1024] of char ;
MyStream: TMemoryStream ;
սկսել
եթե filesystem_status ապա հեռանալ ; / / Եթե ոչ ֆայլ համակարգ filesystem_status
MyStream: = TMemoryStream . Ստեղծել ; / / Ստեղծել տվյալների հոսքը
Երկուական . ReadStream (MyStream) ; / / Կարդալ տվյալների հոսքը
MyStream . Կարդալ (C [0] , NumberBytes) ; / / Բեռներ են բուֆերային C
set_rm (C , 1) ; / /, Որ նորադարձների Երկուական տվյալների եւ բեռների եւ գրանցումների rm [ինդեքս համար eHouse 1 կարգավարների
Test_save ; / / Test արձանագրում արտադրանքի է տեքստային ֆայլի համար հեշտ շահագործման
update_panel ; / / Load տվյալներ տրամադրելու համար: Կառավարման վահանակ
վերջ ;
Այն թույլ է տալիս Ձեզ ավտոմատ կերպով եւ ոչ – ինվազիվ հավաքածուն տվյալների, ավելի քան մեկ LAN կամ Wi – Fi, ինչպես նաեւ փաթեթի հեռարձակման միջոցով UDP (տարբ Datagram արձանագրություն) .
Ինչ չի պահանջում բաց կապ սերվերի միայն լսում է, որ նավահանգստի հեռարձակումը ‘ 6789 ‘ չկատարելու կամ այլ .
Errors ՈՒղեցույց , Ցանց , երթուղագծիչներ չեն հանգեցնում է կամ կասեցման չմասնավորեցված ծրագրային սխալների (նաեւ այն դեպքերում, երբ հետ TCP սերվերի) , բայց պարզապես անհետանում է թարմացնել տվյալների վրա, առանց համապատասխան տվյալները կամ սերվերի UDP client application .

ԶԳՈՒՇԱՑՈՒՄ! . Եթե ​​դուք ստեղծել վերահսկողության ծրագրային ապահովման Windows-ի համար մի eHouse Սկիզբ ավտոմատացման , անհրաժեշտ է իրականացնել բոլոր ալգորիթմները է մեկ դիմում , որը վերլուծում է տվյալները եւ կատարում է բոլոր ալգորիթմները եւ պատկերացնել նրանց . Մենք դիտարկել ենք, որ երբեմն 2 UDP socket լսողը չի կարող գոյություն ունենալ նույն PC .
Կարեւորագույն փոփոխականների գրադարանում: Երկուական
boiler_alarm: Բուլյան = կեղծ ; / / Կաթսայի Հակաառեւանգման Հակաառեւանգման ծրագրային ջերմաստիճանը բարձր է
/ / Over – ջերմաստիճանը տագնապ կաթսա
bonfire_stat: ամբողջ թիվ ; / / Խարույկ ջեռուցման մակարդակը 0 – 7 երկուական ռեժիմում – զբաղվածության կարգավիճակը Կրակ
/ / 0 – կրակել են – չի տաքացնում
/ / 1 – Կրակ / մարման => ; ; Կանաչ մակարդակ < ; ; Ջերմ բաճկոն (Green LED blinking) – ժամկետը լրանում է Մեծ սմայլիկներ կանաչ
/ / 2 – կրակ => ; ; Կանաչ մակարդակ> ; ; Ջերմ բաճկոն => ; ; Դեղին մակարդակ – histeressis (Green LED) – կանաչ
/ / 3 – կրակ => ; ; Դեղին մակարդակ – histeressis> ; ; Ջերմ բաճկոն> ; ; histeressis մակարդակ + Yellow) (Կանաչ Դեղին leds +) – կանաչ – դեղին գույն
/ / 4 – կրակ => ; ; Դեղին մակարդակը + histeressis> ; ; Ջերմ բաճկոն> ; ; Կարմիր մակարդակ – histeressis (yellow) – դեղին գույն
/ / 5 – անվերապահ => ; ; Կարմիր մակարդակ – histeressis < ; ; Ջերմ բաճկոն < ; ; histeressis մակարդակը + Red (Կարմիր Դեղին leds +) Դեղին – կարմիր
/ / 6 – անվերապահ => ; ; Ջերմ բաճկոն> ; ; histeressis մակարդակը + Red (Կարմիր LED անընդհատ) – կարմիր
/ / 7 – անվերապահ => ; ; Ջերմ բաճկոն> ; ; խարույկ Հակաառեւանգման (Կարմիր LED blinking) Զարթուցիչ – կարմիր Մեծ սմայլիկներ
bonfire_sensor_error: Բուլյան = կեղծ ; / / Error սենսորների խարույկ ջուր բաճկոն ջերմաստիճանը սենսորների շատ տարբեր երկու
/ / Error բուխարի թիկնոց ջերմաստիճանի տվիչների չափազանց մեծ տարբերությամբ
recuperator_status, STRING ; / / Կարգավիճակը առողջացում , օդափոխություն , Air ջեռուցում – Recuperator եւ օդափոխման կարգավիճակը
recu_winter: Բուլյան = կեղծ ; / / Recuperator ձմեռային / ամառային ջերմության exchanger Տարբերակ միացված / անջատված է – Recuperator ձմեռային / Summer
recu_manual_amalva: Բուլյան = ճիշտ ; / / Recuperator Auto / մեխանիկական եղանակով amalva recuperator (Auto կառավարվում է ներքին controler amalva , ձեռնարկ է eHouse HeatManager) / /
Recuperator amalva Ձեռնարկ / Auto
went_cooler: Բուլյան = ճիշտ ; / / Water Cooler / անջատելու համար, օդափոխության կամ Cooler համակարգի առողջացում առողջացում կամ GWC ON / OFF
went_gwc: Բուլյան = կեղծ ; / / GHE (հիմք ջերմության exchanger) Servomotor / անջատելու – հիմք ջերմության exchanger Motor / անջատելու
went_aux_gwc_fan: Բուլյան = կեղծ ; / / Օժանդակ GWC օդանցք / fan / անջատելու switch համար հիմք ջերմության exchanger – GWC fan օգնել
bonfire_dgp: Բուլյան = կեղծ ; / / Խարույկ տաք օդի բաշխման համակարգ միացված / անջատված է – Fan բաշխման տաք օդի է բուխարի DGP
ventilation_on: Բուլյան = կեղծ ; / / Օդափոխում ներկայումս աշխատում է / անջատելու – ներառում են օդափոխության եւ ջերմության վերականգնման
heater_pump: Բուլյան = ճիշտ ; / / Pump համար ջրատաքացուցիչը համար օդափոխության / անջատելու – պոմպեր ջեռուցման եւ օդափոխման շրջապատ համար մարտկոցների
three_ways_cutoff: թիվ = 0 ; / / Three եղանակներ կտրվածքի ուղեցույցներ 0 Off , Բարձրացում Level 1 , – Նվազեցնել մակարդակը 1) ուղղությունը ռոտացիոն էլեկտրո – ճանապարհ փականը
solar_pump: Բուլյան = կեղծ ; / / Արեւային պոմպ / անջատելու – Արեւային պոմպ
boiler_on: Բուլյան = կեղծ ; / / Կաթսայի միացված / անջատված է – կաթսա / անջատելու
boiler_pump: Բուլյան = կեղծ ; / / Կարգավիճակը կաթսայատան պոմպ / անջատելու – կաթսա պոմպ / անջատելու
boiler_fuel_out: Բուլյան = կեղծ ; / / Կաթսայի դուրս վառելիքի aproximate (COUNT ժամ ջեռուցման) – Մոտավորապես Վառելիքի պակասը համար պինդ վառելիքի կաթսա (հաշվարկվում է, հիմք ընդունելով ժամ շահագործման կաթսայատանը)
boiler_power_on: Բուլյան = կեղծ ; / / Կաթսայի supplay Power / անջատելու ; – Կաթսայի Power / անջատելու
boiler_fuel_supply_override: Բուլյան = կեղծ ; / / Վերագրել supplyier վառելիքի կաթսա (վերահսկում է eHouse / ներքին կաթսա հատուկ արարիչ սարք) – Ծնողների կողմից վերահսկվող վառելիքի առաքման համակարգ eHouse / անջատելու
bonfire_pump: Բուլյան = կեղծ ; / / Խարույկ պոմպ կարգավիճակը / անջատելու – Հրդեհային պոմպեր / անջատելու
recu_speed: թիվ = 0 ; / / Speeed Recuperator 0 . . 3 – Recuperator արագությունը
recu_temperature: ամբողջ թիվ ; / / Ջերմաստիճանի մակարդակ RECU 0 . . 30C ջերմաստիճանի Recuperator համար amalwa
_recu_mode, STRING = ‘ ‘ ; / / Առողջացում եղանակի տեքստը, ինչպես HeatManager Control Panel (eHouse . Փոխանցել) – Recuperator ռեժիմ, ինչպես նաեւ Կառավարման վահանակ հայտի eHouse HeatMAnagerem . Փոխանցել
գնաց, STRING ; / / Text օդափոխման կարգավիճակը որպես HeatManager Control Panel (eHouse . Փոխանցել) – օդափոխման կարգավիճակը նույնն է HeatManager հանձնաժողովի eHouse . Փոխանցել
կաթսա , Արեգակնային, STRING ; / / Կաթսայի , Արեւային տեքստային HeatManager կարգավիճակը որպես Control Panel (eHouse . Փոխանցել) – կարգավիճակը կաթսայատանը եւ արեւային վահանակը վերահսկողության (HeatManager) eHouse . Փոխանցել
Komi, STRING ; / / Text խարույկ կարգավիճակը որպես HeatManager Control Panel (eHouse . Փոխանցել) – կարգավիճակ հրդեհային Control Panel հայտի eHouse HeatManager . Փոխանցել
Control Lights