Базавае праграмнае забеспячэнне HALO Smart Sensor API
Наперад
У гэтым дакуменце апісваецца група сродкаў разумнага датчыка Halo, вядомая пад агульнай назвай BASIC API або інтэрфейс прыкладнога праграмавання. Гэта абмеркаванне прызначана для праграмістаў або інтэгратараў, якія зацікаўлены ў інтэграцыі аднаго або некалькіх разумных датчыкаў HALO (HALO) з праграмнымі кампанентамі або сістэмамі старонніх (не IPVideo). Увогуле, API HALO прызначаны для эфектыўнай перадачы інфармацыі з HALO праз звычайную сетку Ethernet у знешнюю праграму. Для дасягнення гэтай мэты API падзелены на тры раздзелы: злучэнне сокета, кіраванае падзеяй, злучэнне сокета Heartbeat і даныя падзей URL. Інтэрфейс BACnet таксама прысутнічае і разглядаецца ў асобным дакуменце.
Дызайн API
API распрацаваны з выкарыстаннем галіновых стандартных фарматаў, такіх як TCP/IP. HTTP, HTTPS і JSON. Дызайн не патрабуе выкарыстання спецыяльных або запатэнтаваных метадаў або бібліятэк пры распрацоўцы знешняй праграмы або прыкладання. API з'яўляецца гнуткім і можа быць сканфігураваны і запраграмаваны для дастаўкі менавіта тых даных, якія неабходныя, і найбольш эфектыўным спосабам. Падрабязнасці працы кожнага з вышэйзгаданых раздзелаў разглядаюцца ў наступных раздзелах гэтага кіраўніцтва.
Знешні абмен паведамленнямі
Гэта сродак выкарыстоўваецца для дастаўкі абвестак або сігналаў трывогі і даных аб падзеях у знешнюю праграму, сістэму VMS, сервер і г.д., калі падзея запускаецца (усталёўваецца). Дадатковыя паведамленні таксама могуць быць уключаны для сігналізацыі, калі падзея ачышчаецца (скідаецца). Гэтая дастаўка можа ажыццяўляцца на сокет TCP/IP або сервер HTTP/S у рэжыме рэальнага часу. Існуе шэраг наладжвальных пратаколаў з наладжвальным змесцівам. Аўтэнтыфікацыя і шыфраванне даступныя.
Сэрцабіцце
Сістэмныя паведамленні адпраўляюцца з інтэрвалам, які можна канфігураваць (замест таго, калі запускаюцца падзеі), каб забяспечыць доказ жывой/даступнасці. Яны маюць аналагічны спектр магчымасцей, што і знешні абмен паведамленнямі, але звычайна яны настроены так, каб утрымліваць агульную інфармацыю аб стане, а не падрабязнасці аб канкрэтнай падзеі.
Дадзеныя падзей URL
Гэтая магчымасць даступная толькі ў адпаведнасці з NDA і павінна выкарыстоўвацца толькі тады, калі знешняй праграме патрабуецца доступ да любых значэнняў падзей, парогавых значэнняў і сцягоў стану. Гэтыя даныя, як правіла, здабываюцца знешняй праграмай па патрабаванні, але не вельмі часта. Гэты метад звычайна выклікае некаторую затрымку, калі выкарыстоўваецца сціплая хуткасць апытання. Звычайная частата апытання вагаецца ад аднаго разу ў хвіліну да аднаго разу ў 5 секунд з абсалютнай максімальнай хуткасцю раз у секунду. Гэты метад таксама можна выкарыстоўваць для атрымання дадатковых дапаможных даных пры атрыманні падзеі (папярэджання).
Дэталі знешніх паведамленняў
Раздзел ГАЛО web Усплывальнае акно інтэграцыі інтэрфейсу забяспечвае канфігурацыю аднаго старонняга злучэння, дзе розныя значэнні можна адпраўляць на аддалены сокет TCP або на сервер HTTP/HTTPS. Запаўняльнікі (токены) выкарыстоўваюцца для ўстаўкі жывых значэнняў у перададзены тэкст. Нягледзячы на тое, што гэты канал пазначаны як «Знешні абмен паведамленнямі», яго можна выкарыстоўваць амаль для любых мэт, якія патрабуюць запуску падзей у рэжыме рэальнага часу, актыўна дастаўляемых HALO. Такое размяшчэнне даволі гнуткае, таму што выбар у раздзеле «Дзеянні» вызначае, якія падзеі HALO перадаюцца праз гэты канал.
У рэжыме HTTP радкі Set і Reset з'яўляюцца URLs, якія павінны быць уведзены і адфарматаваны ў адпаведнасці з патрабаваннямі патрэбнага сервера прызначэння. Для аўтэнтыфікацыі можна выкарыстоўваць поле «Карыстальнік» і «Пароль». Глядзіце рэжым HTTP ніжэй.
У рэжыме TCP радкі Set і Reset - гэта толькі дадзеныя аднаго паведамлення, якое адпраўляецца ў прыёмны сокет TCP. Іх можна адфарматаваць па меры неабходнасці месца прызначэння. Пункт прызначэння ўказваецца ў палях Адрас і Порт. Глядзіце рэжым TCP ніжэй.
У любым рэжыме адлюстроўваецца статус з апошняга паведамлення, які можа дапамагчы ў выпраўленні падключэння або іншых праблемах. Вы можаце выкарыстоўваць кнопкі TEST падзеі ва ўсплываючым акне Actions, каб прымусова адправіць паведамленне:
Глабальнае ўключэнне/выключэнне для ўстаноўкі або скіду павінна быць уключана, каб уключыць гэтыя тыпы паведамленняў. Скід часта не выкарыстоўваецца, таму што цікавіць толькі пачатак падзеі, але гэта можа адрознівацца. Кожная падзея можа самастойна вызначыць, ці будзе яна выкарыстоўваць паведамленне «Усталяваць» або «Скінуць» ва ўсплываючым акне «Дзеянні». Кнопкі вочнага яблыка будуць адлюстроўваць прыблізнае адлюстраванне таго, што адпраўляецца пасля замены ключавых слоў і фарматавання. Repeat Holdoff можа быць выкарыстаны для стрымлівання частых паведамленняў шляхам затрымкі перад адпраўкай іншага. Гэта робіцца незалежна ад падзеі. HALO мае ўбудаваны час утрымання для падзей 15 секунд для прадухілення хуткага паўторнага запуску падзей. Калі вы хочаце пераканацца, што ў хвіліну адпраўляецца не больш за 1 падзея аднаго тыпу, вы можаце ўсталяваць Repeat Holdoff на 60 (секунд).
Падрабязнасці сэрцабіцця
Перадачы Heartbeat функцыянуюць падобным чынам, як і вышэй, за выключэннем таго, што няма ўзаемадзеяння са старонкай "Дзеянні". Замест гэтага перадача Heartbeat адбываецца рэгулярна, як наладжана з дапамогай поля Interval. У рэжыме HTTP радкі Set і Reset з'яўляюцца URLs, якія павінны быць уведзены і адфарматаваны ў адпаведнасці з патрабаваннямі патрэбнага сервера прызначэння. Для аўтэнтыфікацыі можна выкарыстоўваць поле «Карыстальнік» і «Пароль». Глядзіце рэжым HTTP ніжэй.
У той час як асноўная мэта Heartbeat заключаецца ў прадастаўленні доказу жыцця разумнага датчыка HALO для аддаленага прылажэння, гэта паведамленне таксама можа выкарыстоўвацца для перадачы выбраных датчыкаў або інфармацыі аб бягучым стане падзеі. Былыample вышэй адпраўляе параметр доўгага радка з URL якія ўключаюць назву Halo, большасць значэнняў датчыка і, нарэшце, Triggered=%ACTIVE%, які можа быць пустым, або спіс падзей, якія запускаюцца ў цяперашні час.
Рэжым HTTP (і HTTPS).
Радкі знешніх паведамленняў і Heartbeat могуць быць http: або https: URLs па меры неабходнасці. Шлях і параметры могуць быць уведзены пры неабходнасці серверам прызначэння. Ключавыя словы, такія як %NAME% (назва прылады HALO) або %EID% (ідэнтыфікатар падзеі), могуць быць устаўлены пры неабходнасці і будуць заменены адпаведнымі дадзенымі пры адпраўцы паведамлення. Для хуткай даведкі паказаны спіс часта выкарыстоўваюцца ключавых слоў.
The 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файлы для Heartbeat могуць дадаць %ACTIVE% (запушчаныя ў цяперашні час падзеі) або значэнне датчыка:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
У значэннях %SENSOR:…% выкарыстоўваюцца назвы, знойдзеныя ў загалоўках правага слупка датчыка ў журнале evtYYYYMMDD.csv fileс. Як правіла, яны:
Калі сервер прызначэння аддае перавагу HTTP PUT або POST замест запытаў GET, вы можаце дадаць прэфікс URL з PUT: або POST:. Незалежна ад гэтага вы можаце дадаць карысную нагрузку JSON, якая папулярная на многіх серверах, дадаўшы ключавое слова [JSONBODY], за якім ідзе аб'ект у фармаце JSON. напрыкладampль:
PUT:https://server.com/event[JSONBODY]{“размяшчэнне”:”%NAME%”,”event”:”%EID%”}
The URL падтрымлівае тыповы IP-адрас (і IPv6), а таксама параметры порта і пароля карыстальніка, або вы можаце выкарыстоўваць палі Карыстальнік і Пароль, калі неабходна, у якасці сервера прызначэння для такіх метадаў аўтэнтыфікацыі, як Basic або Digest:
https://username:password@123.321.123.321:9876/event…
Рэжым TCP
Радкі External Messaging і Heartbeat прызначаны толькі для даных, паколькі ў палях Address і Port вызначаецца пункт прызначэння. Адрас падтрымлівае імёны, IPv4 і IPv6.
Радок можа быць адфарматаваны як часткі дадзеных у HTTP-паведамленнях, апісаныя вышэй, або ў адпаведнасці з патрабаваннямі сервера прызначэння.
Exampфайлы для знешніх паведамленняў будуць уключаць %EID%, каб паказаць падзею, якая справакавала:
месцазнаходжанне=%NAME%,event=%EID%
{“месца”:”:%NAME%”,”падзея”:”%EID%”}
Exampфайлы для Heartbeat могуць дадаць %ACTIVE% (запушчаныя ў цяперашні час падзеі) або значэнне датчыка:
месцазнаходжанне=%NAME%&Triggered=%ACTIVE%
{“месцазнаходжанне”:”:%NAME%”,”NH3”:%ДАТЧЫК:NH3%}
Сцяжкі ў слупках «Integration Set» і «Integration Reset» вызначаюць, якія падзеі выклікаюць адпраўку. Больш падрабязна пра наладжванне падзей і дзеянняў можна знайсці ў Кіраўніцтве адміністратара HALO.
Дастаўка паведамленняў аб падзеях JSON
Некаторыя распрацоўшчыкі аддаюць перавагу атрымліваць даныя падзеі ў фармаце JSON з самаадзнакай галіновага стандарту, а не ў выглядзе звычайнага тэксту ASCII, паколькі першы больш надзейны і лягчэй аналізуецца. На ГАЛО web на старонцы ўкладка «Абмен паведамленнямі», вы можаце паставіць паведамленні ў фармаце JSON у наладах «Знешні абмен паведамленнямі» «Усталяваць радок» і «Скід радка» і ў «Сэрдцабіццё» «Паведамленне».
Exampлес:
Радок усталявання параметраў «Знешні абмен паведамленнямі»:
{ “device”:”%NAME%”, “event”:”%EID%”, “alarm”:”yes” }
Гэта адправіць адзінае паведамленне TCP або UDP JSON на ўказаны сервер з паведамленнем аб зручным імені прылады, назве падзеі і аб тым, што яна толькі што пачалася.
Радок скіду налад «Знешні абмен паведамленнямі»:
{ “device”:”%NAME%”, “event”:”%EID%”, “alarm”:”no” }
Гэта адправіць адзінае паведамленне TCP або UDP JSON на ўказаны сервер з паведамленнем аб дружалюбным імені прылады, назве падзеі і аб тым, што ўмова спынена.
Паведамленне «Сэрцабіцце»:
{ “device”:”%NAME%”, “alive”:”%DATE% %TIME%” }
Гэта будзе перыядычна адпраўляць паведамленне TCP або UDP JSON на ўказаны сервер, паведамляючы, што HALO жывы ў паказаны час.
Дакументы / Рэсурсы
![]() |
Базавае праграмнае забеспячэнне HALO Smart Sensor API [pdfКіраўніцтва карыстальніка Базавае праграмнае забеспячэнне HALO Smart Sensor API |