Бағдарламалық құралдың HALO Smart Sensor API негізгі бағдарламалық құралы
Алға
Бұл құжат бірге BASIC API немесе қолданбалы бағдарламалау интерфейсі ретінде белгілі Halo Smart Sensor құрылғыларының тобын сипаттайды. Бұл талқылау бір немесе бірнеше HALO Smart сенсорларын (HALO) үшінші тарап (IPVideo емес) бағдарламалық құрал құрамдастары немесе жүйелерімен біріктіруге мүдделі бағдарламашылар немесе интеграторларға арналған. Жалпы, HALO API стандартты Ethernet желісі арқылы HALO-дан сыртқы бағдарламаға ақпаратты тиімді тасымалдауға арналған. Бұл мақсатқа жету үшін API үш бөлімге бөлінеді: оқиғаға негізделген розетка қосылымы, жүрек сокетінің қосылымы және оқиға деректері URL. BACnet интерфейсі де бар және бөлек құжатта қамтылған.
API дизайны
API TCP/IP сияқты салалық стандартты пішімдерді пайдалана отырып жасалған. HTTP, HTTPS және JSON. Дизайн сыртқы бағдарламаны немесе қолданбаны әзірлеу кезінде қолданылатын арнайы немесе меншікті әдістерді немесе кітапханаларды қажет етпейді. API икемді және қажетті деректерді дәл және ең тиімді түрде жеткізу үшін конфигурациялануы және бағдарламалануы мүмкін. Жоғарыда аталған бөлімдердің әрқайсысының жұмысының егжей-тегжейлері осы нұсқаулықтың келесі бөлімдерінде қарастырылған.
Сыртқы хабар алмасу
Бұл құрал Оқиға іске қосылғанда (орнатылған) сыртқы бағдарламаға, VMS жүйесіне, серверге және т.б. ескертулерді немесе дабылдарды және Оқиға деректерін жеткізу үшін пайдаланылады. Оқиға жойылғанда (қалпына келтірілгенде) сигнал беру үшін қосымша хабарларды қосуға болады. Бұл жеткізу нақты уақытта TCP/IP ұясына немесе HTTP/S серверіне жасалуы мүмкін. Теңшелетін мазмұны бар конфигурацияланатын протоколдар ауқымы бар. Аутентификация және шифрлау қол жетімді.
Жүрек соғуы
Жүрек соғу хабарлары тірі/қолжетімділігін растау үшін конфигурацияланатын аралықта (Оқиғалар іске қосылған кезде емес) жіберіледі. Оларда сыртқы хабар алмасу сияқты мүмкіндіктер ауқымы бар, бірақ әдетте белгілі бір оқиға туралы мәліметтерді емес, жалпы күй ақпаратын қамтитын етіп конфигурацияланады.
Оқиға деректері URL
Бұл құрал тек NDA бойынша қол жетімді және сыртқы бағдарлама кез келген және барлық Оқиға мәндеріне, шектеріне және күй жалауларына қатынасуды талап еткенде ғана пайдаланылуы керек. Бұл деректер әдетте сыртқы бағдарламаның сұранысы бойынша алынады, бірақ өте жоғары жиілікте емес. Бұл әдіс әдетте қарапайым дауыс беру жылдамдығы пайдаланылған кезде біраз кідіріс береді. Әдеттегі дауыс беру жылдамдығы секундына бір рет абсолютті максималды жылдамдықпен минутына бір реттен 5 секундына бір ретке дейін ауытқиды. Бұл әдісті Оқиға (ескерту) алынған кезде қосымша қолдау деректерін алу үшін де пайдалануға болады.
Сыртқы хабар алмасу мәліметтері
HALO бөлімі web интерфейс Интеграциясының қалқымалы терезесі әртүрлі мәндерді қашықтағы TCP ұясына немесе HTTP/HTTPS серверіне жіберуге болатын жалғыз үшінші тарап қосылымының конфигурациясын қамтамасыз етеді. Орын ұстағыштары (токендер) жіберілетін мәтінге тірі мәндерді кірістіру үшін пайдаланылады. «Сыртқы хабар алмасу» деп белгіленгенімен, бұл арнаны HALO белсенді түрде жеткізетін нақты уақыттағы оқиға триггерлерін қажет ететін кез келген дерлік мақсатта пайдалануға болады. Бұл реттеу өте икемді, себебі «Әрекеттер» бойынша таңдаулар осы арна арқылы қандай HALO оқиғалары жіберілетінін анықтайды.
HTTP режимінде орнату және қалпына келтіру жолдары болып табылады URLs қажетті тағайындалған сервер талап ететіндей енгізілуі және пішімделуі керек. Аутентификация үшін «Пайдаланушы» және «Құпия сөз» өрісін пайдалануға болады. Төмендегі HTTP режимін қараңыз.
TCP режимінде орнату және қалпына келтіру жолдары тек қабылдаушы TCP ұясына жіберілетін бір хабарламаның деректері болып табылады. Оларды тағайындалған орын қажетінше пішімдеуге болады. Тағайындалған орын Мекенжай және Порт өрістерінде көрсетіледі. Төменде TCP режимін қараңыз.
Кез келген режимде қосылымды немесе басқа мәселелерді шешуге көмектесетін ең соңғы хабардың күйі көрсетіледі. Хабарламаны мәжбүрлеу үшін Әрекеттер қалқымалы терезесіндегі оқиғаны тексеру түймелерін пайдалануға болады:
Орнату немесе Қалпына келтіру үшін Ғаламдық қосу/өшіру осы хабар түрлерін қосу үшін Қосулы болуы керек. Қалпына келтіру жиі пайдаланылмайды, себебі тек Оқиғаның басталуы қызықтырады, бірақ ол әр түрлі болуы мүмкін. Әрбір Оқиға Әрекеттер қалқымалы терезесіндегі Орнату немесе Қалпына келтіру хабарын пайдаланатынын дербес көрсете алады. Көз алмасының түймелері кілт сөздерді ауыстыру және пішімдеуден кейін жіберілетін нәрселердің өрескел көрінісін көрсетеді. Repeat Holdoff функциясын басқа хабар жіберілмес бұрын кешіктіру арқылы жиі хабарларды азайту үшін пайдалануға болады. Бұл Оқиғаға тәуелсіз орындалады. HALO-да Оқиғалардың жылдам қайта іске қосылуын болдырмау үшін 15 секундтық оқиғаларды күту уақыты бар. Минутына бір түрдегі Оқиғаның көп емес жіберілуіне көз жеткізгіңіз келсе, Қайталауды тоқтату параметрін 1 (секунд) етіп орнатуға болады.
Жүрек соғу мәліметтері
Жүрек соғысының берілістері жоғарыдағыға ұқсас жұмыс істейді, тек Әрекеттер бетімен өзара әрекеттесу жоқ. Оның орнына, Heartbeat жіберу Интервал өрісімен конфигурацияланған тұрақты негізде орындалады, HTTP режимінде Орнату және Қалпына келтіру жолдары URLs қажетті тағайындалған сервер талап ететіндей енгізілуі және пішімделуі керек. Аутентификация үшін «Пайдаланушы» және «Құпия сөз» өрісін пайдалануға болады. Төмендегі HTTP режимін қараңыз.
Heartbeat қызметінің негізгі мақсаты қашықтағы қолданбаға HALO Smart сенсорының қызмет ету мерзімін дәлелдеу болса да, бұл хабарды таңдалған сенсорларды немесе ағымдағы Оқиға күйі туралы ақпаратты жіберу үшін де пайдалануға болады. бұрынғыample жоғарыда ұзын жол параметрін жібереді URL ол Halo атауын, сенсор мәндерінің көпшілігін және ең соңында бос болуы мүмкін Іске қосылған=%БЕЛСЕНДІ% немесе ағымдағы іске қосылған оқиғалардың тізімін қамтиды.
HTTP (және HTTPS) режимі
Сыртқы хабар алмасу және жүрек соғу жолдары http: немесе https болуы мүмкін: URLқажетінше. Жол мен параметрлерді тағайындалған сервер қажетінше енгізуге болады. %NAME% (HALO құрылғы атауы) немесе %EID% (оқиға идентификаторы) сияқты кілт сөздерді қажетінше енгізуге болады және хабар жіберілген кезде сәйкес деректермен ауыстырылады. Жылдам анықтама үшін жиі қолданылатын кілт сөздердің тізімі көрсетілген.
The URL жол кілт сөздерді, сонымен қатар параметрлерді қамтуы мүмкін URL. Параметрлер NAME=VALUE жұптары немесе JSON нысаны немесе тағайындалған серверге байланысты реттелетін пішім болуы мүмкін. МысалыampСыртқы хабар алмасуға арналған les іске қосылған Оқиғаны көрсету үшін %EID% қамтиды:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Examples for Heartbeat % ACTIVE% (қазіргі іске қосылған оқиғалар) немесе сенсор мәнін қосуы мүмкін:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
%SENSOR:…% мәндері evtYYYYMMDD.csv журналындағы оң жақтағы сенсор баған тақырыптарында табылған атауларды пайдаланады. fileс. Олар әдетте:
Егер тағайындалған сервер GET сұрауларының орнына HTTP PUT немесе POST таңдаса, префиксті қоюға болады URL PUT: немесе POST: арқылы. Өз бетіңізше, [JSONBODY] кілт сөзін және одан кейін JSON пішімделген нысанды қосу арқылы көптеген серверлер арасында танымал JSON пайдалы жүктемесін қосуға болады. Мысалыampле:
PUT:https://server.com/event[JSONBODY]{“location”:”%NAME%”,”event”:”%EID%”}
The URL әдеттегі IP мекенжайын (және IPv6) және порт пен пайдаланушы құпия сөзінің опцияларын қолдайды немесе қажет болса, Basic немесе Digest сияқты аутентификация әдістері үшін тағайындалған сервер болуы үшін Пайдаланушы және Құпия сөз өрістерін пайдалануға болады:
https://username:password@123.321.123.321:9876/event…
TCP режимі
Сыртқы хабар алмасу және жүрек соғу жолдары тек деректерге арналған, өйткені Мекенжай және Порт өрістері тағайындалған орынды көрсетеді. Мекенжай IPv4 және IPv6 атауларына қолдау көрсетеді.
Жолды жоғарыда сипатталған HTTP хабарларының деректер бөліктері сияқты немесе тағайындалған сервер талап ететіндей пішімдеуге болады.
ExampСыртқы хабар алмасуға арналған les іске қосылған Оқиғаны көрсету үшін %EID% қамтиды:
орын=%NAME%,оқиға=%EID%
{“location”:”:%NAME%”,”оқиға”:”%EID%”}
Examples for Heartbeat % ACTIVE% (қазіргі іске қосылған оқиғалар) немесе сенсор мәнін қосуы мүмкін:
орын=%NAME%&Іске қосылды=%ACTIVE%
{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
«Интеграция жинағы» және «Интеграцияны қалпына келтіру» бағандарындағы құсбелгілер қай Оқиғалардың жіберуді бастайтынын анықтайды. Оқиғалар мен әрекеттерді орнату туралы қосымша ақпаратты HALO әкімші нұсқаулығында алуға болады.
JSON оқиғасы туралы хабарларды жеткізу
Кейбір әзірлеушілер қарапайым ASCII мәтінінен гөрі салалық стандартты өздігінен таңбаланған JSON ретінде пішімделген Оқиға деректерін алуды жөн көреді, өйткені біріншісі сенімдірек және оңай талданады. HALO-да web бетте «Хабар алмасу» қойындысында JSON хабарларын «Сыртқы хабар алмасу» параметрлері «Жолды орнату» және «Жолды қалпына келтіру» және «Жүрек соғуы» «Хабар» бөлімдерінде бере аласыз.
Examples:
«Сыртқы хабар алмасу» параметрлері жинағы:
{ “құрылғы”:”%NAME%”, “оқиға”:”%EID%”, “дабыл”:”иә” }
Бұл бір TCP немесе UDP JSON хабарын көрсетілген серверге ыңғайлы құрылғы атауын, оқиға атауын және оның жаңа басталғанын хабарлайтын жібереді.
«Сыртқы хабар алмасу» параметрлерін қалпына келтіру жолы:
{ “құрылғы”:”%NAME%”, “оқиға”:”%EID%”, “дабыл”:”жоқ” }
Бұл көрсетілген серверге ыңғайлы құрылғы атауын, оқиға атауын және шарттың тоқтағанын хабарлайтын жалғыз TCP немесе UDP JSON хабарламасын жібереді.
«Жүректің соғуы» хабарламасы:
{ “құрылғы”:”%NAME%”, “тірі”:”%DATE% %TIME%” }
Бұл көрсетілген серверге HALO көрсетілген уақытта тірі екендігі туралы хабарлайтын TCP немесе UDP JSON хабарламасын мерзімді түрде жібереді.
Құжаттар / Ресурстар
![]() |
Бағдарламалық құралдың HALO Smart Sensor API негізгі бағдарламалық құралы [pdf] Пайдаланушы нұсқаулығы HALO Smart Sensor API негізгі бағдарламалық құралы |