Software-s-LOGO

Ծրագրային ապահովման HALO Smart Sensor API Հիմնական ծրագրակազմ

Software-s-HALO-Smart-Sensor-API-Basic-Software-PRODUCT

Առաջ

Այս փաստաթուղթը նկարագրում է Halo Smart Sensor-ի սարքավորումների խումբը, որը հայտնի է որպես ՀԻՄՆԱԿԱՆ API կամ Application Programming Interface: Այս քննարկումը նախատեսված է ծրագրավորողների կամ ինտեգրատորների կողմից օգտագործելու համար, ովքեր հետաքրքրված են մեկ կամ մի քանի HALO Smart Sensors (HALOs) ինտեգրել երրորդ կողմի (ոչ IPVideo) ծրագրային բաղադրիչներին կամ համակարգերին: Ընդհանուր առմամբ, HALO API-ն նախատեսված է HALO-ից սովորական Ethernet ցանցի միջոցով տեղեկատվություն արդյունավետ փոխանցելու համար արտաքին ծրագիր: Այս նպատակին հասնելու համար API-ն բաժանված է երեք բաժինների՝ իրադարձությունների վրա հիմնված վարդակների միացում, սրտի բաբախման վարդակների միացում և իրադարձությունների տվյալներ։ URL. BACnet ինտերֆեյսը նույնպես առկա է և լուսաբանվում է առանձին փաստաթղթում:

API դիզայն

API-ն նախագծված է՝ օգտագործելով արդյունաբերական ստանդարտ ձևաչափեր, ինչպիսիք են՝ TCP/IP: HTTP, HTTPS և JSON: Դիզայնը չի պահանջում որևէ հատուկ կամ սեփականության տեխնիկա կամ գրադարան օգտագործել արտաքին ծրագրի կամ հավելվածի մշակման համար: API-ն ճկուն է և կարող է կազմաձևվել և ծրագրավորվել, որպեսզի մատուցի ճշգրիտ պահանջվող տվյալները և ամենաարդյունավետ ձևով: Վերոնշյալ բաժիններից յուրաքանչյուրի շահագործման մանրամասները ներկայացված են այս ուղեցույցի հաջորդ բաժիններում:

Արտաքին հաղորդագրություններ

Այս սարքը օգտագործվում է ազդանշաններ կամ ահազանգեր և Իրադարձությունների տվյալները արտաքին ծրագրին, VMS համակարգին, սերվերին և այլն առաքելու համար, երբ Իրադարձությունը գործարկվում է (կարգավորվում է): Ընտրովի հաղորդագրությունները կարող են նաև ազդարարել, երբ Իրադարձությունը մաքրվում է (վերակայվում է): Այս առաքումը կարող է իրական ժամանակում կատարել TCP/IP վարդակից կամ HTTP/S սերվերին: Կա մի շարք կարգավորելի արձանագրություններ՝ հարմարեցվող բովանդակությամբ: Հասանելի են նույնականացում և գաղտնագրում:

Սրտի բաբախյուն

Սրտի բաբախման հաղորդագրություններն ուղարկվում են կարգավորելի ընդմիջումով (միջոցառումների ակտիվացման փոխարեն)՝ ուղիղ եթերում/մատչելիության ապացույց ապահովելու համար: Նրանք ունեն հնարավորությունների նույն շրջանակը, ինչ Արտաքին հաղորդագրությունների փոխանակումը, բայց սովորաբար կազմաձևված են այնպես, որ պարունակեն ընդհանուր վիճակի տեղեկատվություն, այլ ոչ թե կոնկրետ իրադարձության մասին մանրամասներ:

Իրադարձության տվյալներ URL

Այս հարմարանքը հասանելի է միայն NDA-ի ներքո և պետք է օգտագործվի միայն այն դեպքում, երբ արտաքին ծրագիրը պահանջում է մուտք գործել Իրադարձության ցանկացած արժեք, շեմեր և պետական ​​դրոշներ: Այս տվյալները սովորաբար առբերվում են ըստ պահանջի արտաքին ծրագրի կողմից, բայց ոչ շատ բարձր հաճախականությամբ: Այս մեթոդը, ընդհանուր առմամբ, որոշակի ուշացում է առաջացնում, երբ օգտագործվում է հարցումների համեստ տոկոսադրույքը: Հարցումների տիպիկ տոկոսադրույքները տատանվում են րոպեում մեկից մինչև 5 վայրկյանում մեկ անգամ՝ վայրկյանում մեկ անգամ բացարձակ առավելագույն արագությամբ: Այս մեթոդը կարող է օգտագործվել նաև լրացուցիչ օժանդակ տվյալներ ստանալու համար, երբ ստացվում է Իրադարձություն (զգուշացում):

Արտաքին հաղորդագրությունների մանրամասները

HALO-ի մի հատված web Ինտերֆեյսի Ինտեգրման ելնող պատուհանը ապահովում է մեկ երրորդ կողմի կապի կարգավորում, որտեղ տարբեր արժեքներ կարող են ուղարկվել հեռավոր TCP վարդակից կամ HTTP/HTTPS սերվերին: Տեղատերերը (tokens) օգտագործվում են փոխանցվող տեքստի մեջ կենդանի արժեքներ տեղադրելու համար: Թեև այս ալիքը կոչվում է «Արտաքին հաղորդագրություններ», սակայն կարող է օգտագործվել գրեթե ցանկացած նպատակով, որը պահանջում է իրական ժամանակում Իրադարձությունների գործարկիչներ, որոնք ակտիվորեն մատուցվում են HALO-ի կողմից: Այս դասավորությունը բավականին ճկուն է, քանի որ «Գործողությունների» ընտրությունը որոշում է, թե որ HALO իրադարձությունները փոխանցվում են այս ալիքով:

Software-s-HALO-Smart-Sensor-API-Basic-Software-FIG-1

HTTP ռեժիմում Set և Reset strings են URLs, որոնք պետք է մուտքագրվեն և ձևաչափվեն, ինչպես պահանջվում է ցանկալի նպատակակետ սերվերի կողմից: Նույնականացման համար կարող է օգտագործվել Օգտագործողի և գաղտնաբառի դաշտը: Տես ստորև՝ HTTP ռեժիմ:

Software-s-HALO-Smart-Sensor-API-Basic-Software-FIG-2

TCP ռեժիմում Set և Reset strings-ը միայն մեկ հաղորդագրության տվյալներն են, որոնք ուղարկվում են ստացող TCP վարդակից: Դրանք կարող են ձևակերպվել ըստ նպատակակետի: Նպատակակետը նշված է Հասցե և Նավահանգիստ դաշտերում: Տես TCP ռեժիմը ստորև:

Software-s-HALO-Smart-Sensor-API-Basic-Software-FIG-3

Ցանկացած ռեժիմի համար ցուցադրվում է ամենավերջին հաղորդագրության կարգավիճակը, որը կարող է օգնել կապի կամ այլ խնդիրների շտկմանը: Դուք կարող եք օգտագործել «Իրադարձությունների փորձարկում» կոճակները «Գործողությունների» ելնող պատուհանում՝ հաղորդագրություն պարտադրելու համար.

Software-s-HALO-Smart-Sensor-API-Basic-Software-FIG-4

Համաշխարհային միացում/անջատում Set-ի կամ Reset-ի համար պետք է միացված լինի՝ այդ տեսակի հաղորդագրությունները միացնելու համար: Վերակայումը հաճախ չի օգտագործվում, քանի որ միայն Իրադարձության սկիզբն է հետաքրքրում, բայց դա կարող է տարբեր լինել: Յուրաքանչյուր Իրադարձություն կարող է ինքնուրույն նշել, թե արդյոք այն կօգտագործի Set կամ Reset հաղորդագրությունը Գործողությունների ելնող պատուհանում: Աչքի կոճակները կցուցադրեն կոպիտ պատկերացում, թե ինչ է ուղարկվում բանալի բառերի փոխարինումից և ձևաչափումից հետո: Repeat Holdoff-ը կարող է օգտագործվել հաճախակի հաղորդագրությունները չեղարկելու համար՝ ուշացնելով մինչև մեկ այլ հաղորդագրություն ուղարկելը: Սա արվում է ինքնուրույն յուրաքանչյուր Իրադարձության համար: HALO-ն ներկառուցված պահման ժամանակ ունի 15 վայրկյան իրադարձությունների համար՝ Իրադարձությունների արագ վերսկսումը կանխելու համար: Եթե ​​ցանկանում եք ապահովել, որ րոպեում ուղարկվում է ոչ ավելի, քան 1 տեսակի իրադարձություն, կարող եք Repeat Holdoff-ը սահմանել 60 (վայրկյան):

Սրտի զարկերի մանրամասները

Սրտի զարկերի փոխանցումները գործում են վերը նշվածի նման, բացառությամբ, որ Գործողությունների էջի հետ փոխազդեցություն չկա: Փոխարենը, Heartbeat փոխանցումը տեղի է ունենում կանոնավոր հիմունքներով, ինչպես կազմաձևված է Interval դաշտում, HTTP ռեժիմում Set և Reset strings են: URLs, որոնք պետք է մուտքագրվեն և ձևաչափվեն, ինչպես պահանջվում է ցանկալի նպատակակետ սերվերի կողմից: Նույնականացման համար կարող է օգտագործվել Օգտագործողի և գաղտնաբառի դաշտը: Տես ստորև՝ HTTP ռեժիմ:

Software-s-HALO-Smart-Sensor-API-Basic-Software-FIG-5

Չնայած Heartbeat-ի հիմնական նպատակը HALO Smart Sensor-ի կյանքի ապացույցն է հեռավոր հավելվածին, այս հաղորդագրությունը կարող է օգտագործվել նաև ընտրված սենսորների կամ Իրադարձության վիճակի ընթացիկ տեղեկատվությունը փոխանցելու համար: Նախկինample վերևում ուղարկում է երկար տողային պարամետր URL որոնք ներառում են Halo անունը, սենսորային արժեքների մեծամասնությունը և, վերջապես, Triggered=%ACTIVE%, որը կարող է դատարկ լինել կամ ներկայումս գործարկվող իրադարձությունների ցանկը:

HTTP (և HTTPS) ռեժիմ

Արտաքին հաղորդագրությունների փոխանակման և սրտի զարկերի տողերը կարող են լինել http: կամ https: URLըստ անհրաժեշտության: Ճանապարհը և պարամետրերը կարող են մուտքագրվել ըստ անհրաժեշտության նպատակակետ սերվերի կողմից: Հիմնաբառեր, ինչպիսիք են %NAME% (HALO սարքի անվանումը) կամ %EID% (Իրադարձության id) կարող են տեղադրվել ըստ անհրաժեշտության և կփոխարինվեն համապատասխան տվյալներով, երբ հաղորդագրությունն ուղարկվի: Արագ հղման համար ցուցադրվում է սովորաբար օգտագործվող հիմնաբառերի ցանկը:
Այն URL ուղին կարող է պարունակել հիմնաբառեր, ինչպես նաև դրա պարամետրերը URL. Պարամետրերը կարող են լինել NAME=VALUE զույգեր կամ JSON օբյեկտ կամ հատուկ ձևաչափ՝ կախված նպատակակետ սերվերից: Օրինակ՝ampԱրտաքին հաղորդագրությունների փոխանակման համար պարունակվող տեղեկությունները կներառեն %EID%՝ ցույց տալու այն Իրադարձությունը, որը գործարկեց՝

  • https://server.com/event/%NAME%/%EID%
  • https://server.com/event?location=%NAME%&event=%EID%
  • https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}

ExampՍրտի բաբախյունը կարող է ավելացնել %ACTIVE% (ներկայումս գործարկվող իրադարձություններ) կամ սենսորային արժեք՝

  • https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
  • https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
    %SENSOR:…% արժեքներն օգտագործում են աջակողմյան սենսորային սյունակների վերնագրերում հայտնաբերված անունները evtYYYYMMDD.csv մատյանում: fileս. Դրանք սովորաբար հետևյալն են.

Software-s-HALO-Smart-Sensor-API-Basic-Software-FIG-6

Եթե ​​նպատակակետ սերվերը նախընտրում է HTTP PUT կամ POST GET հարցումների փոխարեն, կարող եք նախածանց տեղադրել URL հետ PUT: կամ POST:. Անկախ, դուք կարող եք ավելացնել JSON ծանրաբեռնվածություն, որը հայտնի է շատ սերվերների կողմից՝ ավելացնելով [JSONBODY] հիմնաբառը, որին հաջորդում է JSON ձևաչափված օբյեկտ: Օրինակ՝ampլե:
PUT:https://server.com/event[JSONBODY]{“location”:”%NAME%”,”event”:”%EID%”}
Այն URL աջակցում է տիպիկ IP հասցե (և IPv6) և նավահանգիստ և օգտվողի գաղտնաբառի ընտրանքներ, կամ անհրաժեշտության դեպքում կարող եք օգտագործել Օգտվողի և գաղտնաբառի դաշտերը՝ որպես նպատակային սերվեր նույնականացման մեթոդների համար, ինչպիսիք են Basic կամ Digest:
https://username:password@123.321.123.321:9876/event

TCP ռեժիմ

External Messaging և Heartbeat տողերը պարզապես տվյալների համար են, քանի որ Հասցե և Նավահանգիստ դաշտերը նշում են նպատակակետը: Հասցեն աջակցում է անուններին՝ IPv4 և IPv6:
Տողը կարող է ֆորմատավորվել ինչպես վերը նկարագրված HTTP հաղորդագրությունների տվյալների բաժինները, կամ ինչպես պահանջվում է նպատակակետ սերվերի կողմից:
ExampԱրտաքին հաղորդագրությունների փոխանակման համար պարունակվող տեղեկությունները կներառեն %EID%՝ ցույց տալու այն Իրադարձությունը, որը գործարկեց՝
գտնվելու վայրը=%NAME%,իրադարձություն=%EID%
{“location”:”:%NAME%”,”իրադարձություն”:”%EID%”}
ExampՍրտի բաբախյունը կարող է ավելացնել %ACTIVE% (ներկայումս գործարկվող իրադարձություններ) կամ սենսորային արժեք՝
location=%NAME%&Triggered=%ACTIVE%
{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}

Software-s-HALO-Smart-Sensor-API-Basic-Software-FIG-7

«Ինտեգրման հավաքածու» և «Ինտեգրման վերակայում» սյունակների վանդակները որոշում են, թե որ Իրադարձությունները կգործարկեն ուղարկումը: Իրադարձությունների և գործողությունների կարգավորումների մասին ավելին հասանելի է HALO ադմինիստրատորի ուղեցույցում:

JSON իրադարձությունների հաղորդագրությունների առաքում
Որոշ մշակողներ նախընտրում են ստանալ Իրադարձությունների տվյալները՝ ձևաչափված որպես արդյունաբերական ստանդարտ ինքնապիտակավորված JSON, այլ ոչ թե պարզ ASCII տեքստ, քանի որ առաջինն ավելի հուսալի և հեշտ է վերլուծվում: HALO-ի վրա web էջի «Հաղորդագրություններ» ներդիրում, կարող եք JSON հաղորդագրություններ մատակարարել «Արտաքին հաղորդագրությունների փոխանակում» կարգավորումներում «Սահմանել լարը» և «Վերականգնել տողը» և «Սրտի բաբախում» «Հաղորդագրություն»:

Examples:
«Արտաքին հաղորդագրությունների փոխանակում» Կարգավորումները Սահմանել տողը.

{ “սարք”:”%NAME%”, “իրադարձություն”:”%EID%”, “զարթուցիչ”:”այո” }
Սա մեկ TCP կամ UDP JSON հաղորդագրություն կուղարկի նշված սերվերին, որը կհաղորդի հարմար սարքի անունը, իրադարձության անունը և այն, որ այն նոր է սկսվել:

«Արտաքին հաղորդագրությունների փոխանակում» Կարգավորումների վերակայման տողը.
{ “սարք”:”%NAME%”, “իրադարձություն”:”%EID%”, “զարթուցիչ”:”ոչ” }
Սա մեկ TCP կամ UDP JSON հաղորդագրություն կուղարկի նշված սերվերին, որը կհաղորդի հարմար սարքի անունը, իրադարձության անունը, և որ պայմանն այժմ դադարել է:

«Սրտի զարկ» հաղորդագրություն.
{ “սարք”:”%NAME%”, “կենդանի”:”%DATE% %TIME%” }
Սա պարբերաբար TCP կամ UDP JSON հաղորդագրություն կուղարկի նշված սերվերին՝ տեղեկացնելով, որ HALO-ն կենդանի է նշված պահին:

Փաստաթղթեր / ռեսուրսներ

Ծրագրային ապահովման HALO Smart Sensor API Հիմնական ծրագրակազմ [pdf] Օգտագործողի ուղեցույց
HALO Smart Sensor API Հիմնական ծրագրակազմ

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *