Основен софтвер на HALO Smart Sensor API
Напред
Овој документ ја опишува групата објекти на Halo Smart сензорот познат колективно како BASIC API, или интерфејс за програмирање на апликации. Оваа дискусија е наменета за употреба од страна на програмери или интегратори кои се заинтересирани да интегрираат еден или повеќе HALO паметни сензори (HALO) со софтверски компоненти или системи од трета страна (не-IPVideo). Општо земено, HALO API е наменет за ефикасно пренесување на информации од HALO преку конвенционална етернет мрежа до надворешната програма. За да се постигне оваа цел, API е поделен на три секции: Поврзување со штекер управувано од настани, поврзување со приклучок за отчукување на срцето и податоци за настани URL. Интерфејсот BACnet е исто така присутен и покриен во посебен документ.
Дизајн на API
API е дизајниран со користење на индустриски стандардни формати како што се TCP/IP. HTTP, HTTPS и JSON. Дизајнот не бара посебни или сопственички техники или библиотеки кои треба да се користат во развојот на надворешната програма или апликација. API е флексибилен и може да се конфигурира и програмира за да ги испорача точно потребните податоци и на најефикасен начин. Деталите за работата на секој од горенаведените делови се опфатени во следните делови од ова упатство.
Надворешни пораки
Оваа можност се користи за доставување предупредувања или аларми и податоци за настанот на надворешна програма, VMS систем, сервер итн. кога настанот е активиран (се поставува). Изборните пораки, исто така, може да се овозможат да сигнализираат кога настанот се брише (се ресетира). Оваа испорака може да се изврши до TCP/IP сокет или HTTP/S сервер во реално време. Има голем број на конфигурабилни протоколи со приспособливи содржини. Достапни се автентикација и шифрирање.
Отчукување на срцето
Пораките за отчукување на срцето се испраќаат во интервал што може да се конфигурира (наместо кога се активираат Настаните) за да се обезбеди доказ за во живо/достапност. Тие имаат сличен опсег на способности како и External Messaging, но обично би биле конфигурирани да содржат општи информации за состојбата наместо детали за одреден настан.
Податоци за настанот URL
Оваа можност е достапна само под NDA и треба да се користи само кога надворешната програма бара пристап до сите вредности, прагови и државни знамиња на настанот. Овие податоци обично се преземаат на барање од надворешната програма, но не со многу висока фреквенција. Овој метод генерално предизвикува одредена латентност кога се користи скромна стапка на гласање. Типичните стапки на анкети се движат од еднаш во минута до еднаш во 5 секунди со апсолутна максимална стапка од еднаш во секунда. Овој метод може да се користи и за враќање на дополнителни придружни податоци кога ќе се прими настан (известување).
Детали за надворешни пораки
Дел од HALO web Скокачкиот прозорец за интеграција на интерфејс обезбедува конфигурација на една конекција од трета страна каде што може да се испратат различни вредности до оддалечен TCP приклучок или HTTP/HTTPS сервер. Носителите на места (токени) се користат за вметнување живи вредности во пренесениот текст. Иако е означен како „Надворешни пораки“, овој канал може да се користи за речиси секаква намена што бара активирања на настани во реално време, активно испорачани од HALO. Овој аранжман е прилично флексибилен бидејќи селекциите на „Акции“ одредуваат кои HALO настани се пренесуваат преку овој канал.
Во режимот HTTP, низите за поставување и ресетирање се URLs кои мора да бидат внесени и форматирани како што бара саканиот одредишен сервер. Полето Корисник и лозинка може да се користи за автентикација. Погледнете го режимот HTTP подолу.
Во режимот TCP, низите Set и Reset се само податоците од една порака што се испраќа до приемниот TCP сокет. Тие можат да се форматираат по потреба од дестинацијата. Дестинацијата е наведена во полињата Адреса и Порта. Погледнете го режимот TCP подолу.
За секој режим, се прикажува статусот од најновата порака што може да помогне да се поправи врската или други проблеми. Може да ги користите копчињата Event TEST на скокачкиот прозорец Actions за да присилите порака:
Глобалното вклучување/исклучување за Поставување или Ресетирање мора да биде вклучено за да се овозможат тие типови на пораки. Ресетирањето често не се користи бидејќи само почетокот на настанот е од интерес, но тоа може да варира. Секој настан може самостојно да одреди дали ќе ја користи пораката Постави или Ресетирај на скокачкиот прозорец Actions. Копчињата на очното јаболко ќе прикажат груб приказ на она што се испраќа по замена и форматирање на клучни зборови. Repeat Holdoff може да се користи за пригушување чести пораки со одложување пред да се испрати друга. Ова се прави независно по настан. HALO има вградено време на задржување за настани од 15 секунди за да спречи брзо повторно активирање на настани. Ако сакате да се осигурате дека не се испраќаат повеќе од 1 настан од еден тип во минута, можете да поставите Repeat Holdoff на 60 (секунди).
Детали за отчукувањата на срцето
Преносите со отчукување на срцето функционираат на сличен начин како горенаведеното, освен што нема интеракција со страницата Дејства. Наместо тоа, преносот на Heartbeat се јавува на редовна основа како што е конфигурирано со полето Интервал, во режимот HTTP, низите за Поставување и Ресетирање се URLs кои мора да бидат внесени и форматирани како што бара саканиот одредишен сервер. Полето Корисник и лозинка може да се користи за автентикација. Погледнете го режимот HTTP подолу.
Иако основната цел на отчукувањата на срцето е да обезбеди доказ за живот на HALO паметниот сензор на далечинска апликација, оваа порака може да се користи и за пренос на избрани сензори или информации за тековната состојба на настанот. Поранешниотampле погоре испраќа параметар на долга низа со 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%”}
Examples за 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%“, „настан“:“%EID%“}
На URL поддржува типична IP адреса (и IPv6) и опции за порта и корисничка лозинка, или можете да ги користите полињата Корисник и Лозинка доколку е потребно, како сервер за дестинација за методите за автентикација како Basic или Digest:
https://username:password@123.321.123.321:9876/event…
TCP режим
Низите за надворешни пораки и чукање на срцето се само за податоци бидејќи полињата Адреса и Порта ја одредуваат дестинацијата. Адресата поддржува имиња, IPv4 и IPv6.
Низата може да се форматира како податочните делови од HTTP пораките опишани погоре, или како што бара одредишниот сервер.
Exampлес за надворешни пораки ќе вклучува %EID% за да го означи настанот што го активирал:
локација=%NAME%,настан=%EID%
{„локација“:“:%NAME%“, „настан“: „%EID%“}
Examples за Heartbeat може да додаде %ACTIVE% (тековно активирани настани) или вредност на сензорот:
локација=%NAME%&Triggered=%ACTIVE%
{„локација“:“:%NAME%“, „NH3“:%сензор:NH3%}
Полето за избор во колоните „Множество за интегрирање“ и „Ресетирање на интеграцијата“ одредуваат кои Настани предизвикуваат испраќање. Повеќе за поставувањето настани и дејства е достапно во Водичот за администратор 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 |