Programmatūras HALO Smart Sensor API pamata programmatūra
Uz priekšu
Šajā dokumentā ir aprakstīta Halo Smart Sensor iekārtu grupa, kas kopā pazīstama kā BASIC API jeb lietojumprogrammu saskarne. Šī diskusija ir paredzēta programmētājiem vai integratoriem, kuri ir ieinteresēti integrēt vienu vai vairākus HALO viedos sensorus (HALO) ar trešās puses (ne-IPVideo) programmatūras komponentiem vai sistēmām. Kopumā HALO API ir paredzēts efektīvai informācijas pārsūtīšanai no HALO, izmantojot parasto Ethernet tīklu, uz ārējo programmu. Lai sasniegtu šo mērķi, API ir sadalīta trīs sadaļās: notikuma vadīts ligzdas savienojums, sirdsdarbības ligzdas savienojums un notikumu dati. URL. Ir pieejams arī BACnet interfeiss, un tas ir ietverts atsevišķā dokumentā.
API dizains
API ir izstrādāta, izmantojot nozares standarta formātus, piemēram, TCP/IP. HTTP, HTTPS un JSON. Dizainam nav nepieciešamas nekādas īpašas vai patentētas metodes vai bibliotēkas, kas jāizmanto ārējās programmas vai lietojumprogrammas izstrādē. API ir elastīga, un to var konfigurēt un ieprogrammēt, lai nodrošinātu tieši nepieciešamos datus un visefektīvākajā veidā. Sīkāka informācija par katras iepriekšminētās sadaļas darbību ir aprakstīta turpmākajās šīs rokasgrāmatas sadaļās.
Ārējā ziņojumapmaiņa
Šo iespēju izmanto, lai nosūtītu brīdinājumus vai trauksmes signālus un notikumu datus ārējai programmai, VMS sistēmai, serverim utt., kad notikums tiek aktivizēts (ir iestatīts). Var arī iespējot papildu ziņojumus, kas signalizē, kad notikums tiek notīrīts (tiek atiestatīts). Šo piegādi var veikt uz TCP/IP ligzdu vai HTTP/S serveri reāllaikā. Ir virkne konfigurējamu protokolu ar pielāgojamu saturu. Ir pieejama autentifikācija un šifrēšana.
Sirdspuksti
Sirdsdarbības ziņojumi tiek nosūtīti ar konfigurējamu intervālu (nevis tad, kad tiek aktivizēti notikumi), lai nodrošinātu tiešraides/pieejamības pierādījumu. Tiem ir līdzīgs iespēju klāsts kā ārējai ziņojumapmaiņai, taču parasti tie ir konfigurēti, lai saturētu vispārīgu informāciju par stāvokli, nevis detalizētu informāciju par konkrētu notikumu.
Notikuma dati URL
Šī iespēja ir pieejama tikai saskaņā ar NDA, un to vajadzētu izmantot tikai tad, ja ārējai programmai ir nepieciešama piekļuve visām notikumu vērtībām, sliekšņiem un stāvokļa karodziņiem. Šos datus pēc pieprasījuma parasti izgūst ārējā programma, bet ne ļoti bieži. Šī metode parasti rada zināmu latentumu, ja tiek izmantots neliels aptaujas ātrums. Parasti aptauju biežums svārstās no vienas reizes minūtē līdz reizei 5 sekundēs, un absolūtais maksimālais skaits ir reizi sekundē. Šo metodi var izmantot arī papildu atbalsta datu izgūšanai, kad tiek saņemts notikums (brīdinājums).
Ārējās ziņojumapmaiņas informācija
HALO sadaļa web Interfeisa integrācijas uznirstošais logs nodrošina viena trešās puses savienojuma konfigurēšanu, kurā dažādas vērtības var nosūtīt uz attālo TCP ligzdu vai HTTP/HTTPS serveri. Vietu turētāji (žetoni) tiek izmantoti, lai pārraidītajā tekstā ievietotu dzīvās vērtības. Lai gan šis kanāls ir apzīmēts kā “Ārēja ziņojumapmaiņa”, to var izmantot gandrīz jebkuram mērķim, kam nepieciešami reāllaika notikumu aktivizētāji, ko aktīvi nodrošina HALO. Šis izkārtojums ir diezgan elastīgs, jo atlases sadaļā “Darbības” nosaka, kuri HALO notikumi tiek pārraidīti pa šo kanālu.
HTTP režīmā iestatīšanas un atiestatīšanas virknes ir URLs, kas jāievada un jāformatē atbilstoši vēlamajam mērķa serverim. Autentifikācijai var izmantot lauku Lietotājs un Parole. Skatiet tālāk norādīto HTTP režīmu.
TCP režīmā iestatīšanas un atiestatīšanas virknes ir tikai viena ziņojuma dati, kas tiek nosūtīts uz saņēmēju TCP ligzdu. Tos var formatēt pēc vajadzības pēc galamērķa. Mērķis ir norādīts laukos Adrese un Port. Skatiet TCP režīmu zemāk.
Abos režīmos tiek parādīts statuss no jaunākā ziņojuma, kas var palīdzēt novērst savienojuma vai citas problēmas. Varat izmantot pogas Event TEST uznirstošajā logā Darbības, lai piespiestu parādīt ziņojumu:
Globālajam ieslēgšanai/izslēgšanai iestatīšanai vai atiestatīšanai ir jābūt Ieslēgtai, lai iespējotu šāda veida ziņojumus. Atiestatīšana bieži netiek izmantota, jo interesē tikai notikuma sākums, taču tas var atšķirties. Katrs notikums var neatkarīgi norādīt, vai uznirstošajā logā Darbības tiks izmantots ziņojums Iestatīt vai Atiestatīt. Acs ābola pogas parādīs aptuvenu priekšstatu par to, kas tiek nosūtīts pēc atslēgvārdu aizstāšanas un formatēšanas. Funkciju Repeat Holdoff var izmantot, lai samazinātu biežu ziņojumu saņemšanu, aizkavējot, pirms var nosūtīt citu ziņojumu. Tas tiek darīts neatkarīgi no katra pasākuma. HALO ir iebūvēts notikumu aizturēšanas laiks 15 sekunžu garumā, lai novērstu notikumu ātru atkārtotu aktivizēšanu. Ja vēlaties, lai minūtē tiktu nosūtīts ne vairāk kā 1 notikums, varat iestatīt Repeat Holdoff uz 60 (sekundēm).
Sirdsdarbības detaļas
Sirdsdarbības pārraides darbojas līdzīgi kā iepriekš, izņemot to, ka nav mijiedarbības ar lapu Darbības. Tā vietā sirdsdarbības pārraide notiek regulāri, kā konfigurēts laukā Intervāls. HTTP režīmā iestatīšanas un atiestatīšanas virknes ir URLs, kas jāievada un jāformatē atbilstoši vēlamajam mērķa serverim. Autentifikācijai var izmantot lauku Lietotājs un Parole. Skatiet tālāk norādīto HTTP režīmu.
Lai gan Heartbeat galvenais mērķis ir nodrošināt HALO viedā sensora darbības pierādījumu attālai lietojumprogrammai, šo ziņojumu var izmantot arī atlasītu sensoru vai pašreizējā notikuma stāvokļa informācijas pārsūtīšanai. Bijušaisample iepriekš nosūta garu virknes parametru ar URL kas ietver Halo nosaukumu, lielāko daļu sensoru vērtību un visbeidzot Triggered=%ACTIVE%, kas var būt tukšs vai pašlaik aktivizēto notikumu saraksts.
HTTP (un HTTPS) režīms
Ārējās ziņojumapmaiņas un sirdsdarbības virknes var būt http: vai https: URLs pēc vajadzības. Ceļu un parametrus var ievadīt pēc vajadzības galamērķa serveris. Atslēgvārdus, piemēram, %NAME% (HALO ierīces nosaukums) vai %EID% (notikuma ID), var ievietot pēc vajadzības, un tie tiks aizstāti ar attiecīgiem datiem, kad tiks nosūtīts ziņojums. Ātrai uzziņai tiek parādīts biežāk lietoto atslēgvārdu saraksts.
The URL ceļš var saturēt atslēgvārdus, kā arī parametrus uz URL. Parametri var būt NAME=VALUE pāri vai JSON objekts, vai pielāgots formāts atkarībā no mērķa servera. PiemampĀrējās ziņojumapmaiņas les ietver %EID%, lai norādītu notikumu, kas aktivizēja:
- 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 var pievienot %ACTIVE% (pašlaik aktivizētie notikumi) vai sensora vērtību:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
Vērtībās %SENSOR:…% tiek izmantoti nosaukumi, kas atrodami labās puses sensoru kolonnu virsrakstos evtGGGGMMDD.csv žurnālā files. Parasti tie ir:
Ja galamērķa serveris dod priekšroku HTTP PUT vai POST, nevis GET pieprasījumiem, varat pievienot prefiksu URL ar PUT: vai POST:. Neatkarīgi varat pievienot JSON lietderīgo slodzi, kas ir populāra daudzos serveros, pievienojot atslēgvārdu [JSONBODY], kam seko JSON formatēts objekts. Piemample:
PUT:https://server.com/event[JSONBODY]{"atrašanās vieta":"%NAME%","notikums":"%EID%"}
The URL atbalsta tipiskas IP adreses (un IPv6) un porta un lietotāja paroles opcijas, vai arī varat izmantot laukus Lietotājs un Parole, ja nepieciešams, kā galamērķa serveris autentifikācijas metodēm, piemēram, Basic vai Digest:
https://username:password@123.321.123.321:9876/event…
TCP režīms
Ārējās ziņojumapmaiņas un sirdsdarbības virknes ir paredzētas tikai datiem, jo lauki Adrese un Ports norāda galamērķi. Adrese atbalsta nosaukumus, IPv4 un IPv6.
Virkni var formatēt kā HTTP ziņojumu datu daļas, kas aprakstītas iepriekš, vai kā to pieprasa galamērķa serveris.
ExampĀrējās ziņojumapmaiņas les ietver %EID%, lai norādītu notikumu, kas aktivizēja:
atrašanās vieta=%NAME%, notikums=%EID%
{“vieta”:”:%NAME%”,”notikums”:”%EID%”}
Examples for Heartbeat var pievienot %ACTIVE% (pašlaik aktivizētie notikumi) vai sensora vērtību:
location=%NAME%&Triggered=%ACTIVE%
{“vieta”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
Slejās “Integrācijas kopa” un “Integrācijas atiestatīšana” esošās izvēles rūtiņas nosaka, kuri notikumi aktivizē sūtīšanu. Plašāka informācija par notikumu un darbību iestatīšanu ir pieejama HALO administratora rokasgrāmatā.
JSON notikumu ziņojumu piegāde
Daži izstrādātāji dod priekšroku saņemt notikumu datus, kas formatēti kā nozares standarta pašmarķētā JSON formātā, nevis vienkāršu ASCII tekstu, jo pirmais ir uzticamāks un vieglāk parsējams. Uz HALO web Lapas cilnē “Ziņojumapmaiņa” varat ievadīt JSON ziņojumus “Ārējās ziņojumapmaiņas” iestatījumos “Iestatīt virkni” un “Atiestatīt virkni” un sadaļā “Heartbeat” “Ziņojums”.
Exampmazāk:
“Ārējās ziņojumapmaiņas” iestatījumu iestatīšanas virkne:
{ "ierīce":"%NAME%", "notikums":"%EID%", "trauksme":"jā"}
Tas uz norādīto serveri nosūtīs vienu TCP vai UDP JSON ziņojumu, ziņojot par draudzīgo ierīces nosaukumu, notikuma nosaukumu un to, ka tas tikko sākts.
“Ārējās ziņojumapmaiņas” iestatījumu atiestatīšanas virkne:
{ "ierīce":"%NAME%", "notikums":"%EID%", "trauksme":"nē" }
Tas uz norādīto serveri nosūtīs vienu TCP vai UDP JSON ziņojumu, ziņojot par draudzīgo ierīces nosaukumu, notikuma nosaukumu un to, ka stāvoklis tagad ir apturēts.
Ziņojums “Sirdspuksti”:
{ “ierīce”:”%NAME%”, “dzīvs”:”%DATE% %TIME%” }
Tas periodiski nosūtīs TCP vai UDP JSON ziņojumu uz norādīto serveri, ziņojot, ka norādītajā laikā HALO ir dzīvs.
Dokumenti / Resursi
![]() |
Programmatūras HALO Smart Sensor API pamata programmatūra [pdfLietotāja rokasgrāmata HALO Smart Sensor API pamata programmatūra |