Softver s HALO Smart Sensor API Osnovni softver
Naprijed
Ovaj dokument opisuje grupu objekata Halo Smart Sensora poznatih pod zajedničkim nazivom BASIC API ili Application Programming Interface. Ova rasprava je namijenjena za korištenje od strane programera ili integratora koji su zainteresirani za integraciju jednog ili više HALO pametnih senzora (HALO) sa softverskim komponentama ili sistemima treće strane (ne-IPVideo). Općenito, HALO API je namijenjen za efikasan prijenos informacija iz HALO-a preko konvencionalne Ethernet mreže u vanjski program. Da bi se postigao ovaj cilj, API je podijeljen u tri odjeljka: Event Driven Socket Connection, Heartbeat Socket Connection i Event Data URL. BACnet interfejs je takođe prisutan i pokriven u posebnom dokumentu.
API dizajn
API je dizajniran korištenjem industrijskih standardnih formata kao što je TCP/IP. HTTP, HTTPS i JSON. Dizajn ne zahtijeva nikakve posebne ili vlasničke tehnike ili biblioteke koje će se koristiti u razvoju vanjskog programa ili aplikacije. API je fleksibilan i može se konfigurisati i programirati da isporuči tačno potrebne podatke i na najefikasniji način. Detalji o radu svakog od gornjih odjeljaka pokriveni su u sljedećim odjeljcima ovog vodiča.
Eksterne poruke
Ova mogućnost se koristi za isporuku upozorenja ili alarma i podataka o događajima eksternom programu, VMS sistemu, serveru, itd. kada se događaj aktivira (podešava). Opcione poruke se takođe mogu omogućiti da signaliziraju kada se događaj izbriše (resetuje). Ova isporuka se može izvršiti na TCP/IP socket ili HTTP/S server u realnom vremenu. Postoji niz konfigurabilnih protokola sa prilagodljivim sadržajem. Autentifikacija i enkripcija su dostupni.
Otkucaj srca
Poruke otkucaja srca šalju se u intervalu koji se može podesiti (umjesto kada se događaji aktiviraju) kako bi se pružio dokaz uživo/dostupnosti. Imaju sličan opseg mogućnosti kao i eksterne poruke, ali bi obično bile konfigurisane da sadrže opšte informacije o stanju, a ne detalje o određenom događaju.
Podaci o događaju URL
Ova mogućnost je dostupna samo pod NDA i treba se koristiti samo kada vanjski program zahtijeva pristup bilo kojoj ili svim vrijednostima događaja, pragovima i oznakama stanja. Ove podatke generalno preuzima vanjski program na zahtjev, ali ne vrlo često. Ova metoda općenito uzrokuje određeno kašnjenje kada se koristi skromna stopa glasanja. Tipične stope glasanja kreću se od jednom u minuti do jednom u 5 sekundi sa apsolutnom maksimalnom stopom od jednom u sekundi. Ova metoda se također može koristiti za preuzimanje dodatnih podataka podrške kada se primi Događaj (upozorenje).
Detalji eksternih poruka
Deo HALO-a web Interfejs Integration popup omogućava konfiguraciju jedne veze treće strane gdje se različite vrijednosti mogu poslati na udaljeni TCP socket ili HTTP/HTTPS server. Držači mjesta (tokeni) se koriste za umetanje živih vrijednosti u preneseni tekst. Iako je označen kao „Spoljna razmena poruka“, ovaj kanal se može koristiti za skoro sve svrhe koje zahtevaju okidače događaja u realnom vremenu, koje aktivno isporučuje HALO. Ovaj aranžman je prilično fleksibilan jer odabiri na “Actions” određuju koji HALO događaji se prenose kroz ovaj kanal.
U HTTP modu, nizovi Set i Reset su URLs koje se mora unijeti i formatirati kako to zahtijeva željeni odredišni server. Za autentifikaciju se može koristiti polje User i Password. Pogledajte HTTP način rada ispod.
U TCP modu, nizovi za postavljanje i poništavanje su samo podaci jedne poruke koja se šalje na TCP utičnicu koja prima. Mogu se formatirati prema potrebi odredišta. Odredište je navedeno u poljima Adresa i Port. Pogledajte TCP način rada ispod.
Za bilo koji način rada prikazuje se status iz najnovije poruke što može pomoći u popravljanju veze ili drugim problemima. Možete koristiti tipke TEST događaja na iskačućem prozoru Radnje da nametnete poruku:
Globalno uključivanje/isključivanje za Set ili Reset mora biti uključeno da bi se omogućile te vrste poruka. Resetovanje se često ne koristi jer je samo početak Događaja od interesa, ali to može varirati. Svaki događaj može nezavisno odrediti da li će koristiti ili Postavi ili Resetuj poruku u iskačućem prozoru Akcije. Dugmad očne jabučice će prikazati grubi prikaz onoga što se šalje nakon zamjene ključnih riječi i formatiranja. Repeat Holdoff se može koristiti za smanjenje čestih poruka odlaganjem prije nego što se još jedna može poslati. Ovo se radi nezavisno po Eventu. HALO ima ugrađeno vrijeme čekanja za događaje od 15 sekundi kako bi se spriječilo brzo ponovno pokretanje događaja. Ako želite da osigurate da se ne šalje više od 1 događaja nekog tipa u minuti, možete postaviti ponavljanje zadržavanja na 60 (sekundi).
Detalji otkucaja srca
Prenosi otkucaja srca funkcionišu na sličan način kao i gore, osim što nema interakcije sa stranicom Akcije. Umjesto toga, prijenos Heartbeat-a se odvija redovno kao što je konfigurirano poljem Interval. U HTTP modu, nizovi Set i Reset su URLs koje se mora unijeti i formatirati kako to zahtijeva željeni odredišni server. Za autentifikaciju se može koristiti polje User i Password. Pogledajte HTTP način rada ispod.
Iako je primarna svrha Heartbeat-a pružiti dokaz o životu HALO pametnog senzora udaljenoj aplikaciji, ova poruka se također može koristiti za prijenos odabranih senzora ili informacija o trenutnom stanju događaja. Bivšiample iznad šalje parametar dugačkog niza sa URL koji uključuju Halo ime, većinu vrijednosti senzora i na kraju Triggered=%ACTIVE% koji može biti prazan ili listu trenutno pokrenutih događaja.
HTTP (i HTTPS) način rada
Eksterni nizovi poruka i otkucaja srca mogu biti http: ili https: URLs po potrebi. Putanja i parametri se mogu uneti prema potrebi od strane odredišnog servera. Ključne riječi poput %NAME% (naziv HALO uređaja) ili %EID% (ID događaja) mogu se umetnuti po potrebi i bit će zamijenjene odgovarajućim podacima kada se poruka pošalje. Za brzu referencu prikazana je lista najčešće korištenih ključnih riječi.
The URL putanja može sadržavati ključne riječi kao i parametre za URL. Parametri mogu biti parovi NAME=VRIJEDNOST ili JSON objekt, ili prilagođeni format ovisno o odredišnom serveru. Prampdatoteke za eksterne poruke bi uključivale %EID% za označavanje događaja koji je pokrenuo:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Examplesovi za otkucaje srca mogu dodati %ACTIVE% (trenutno pokrenuti događaji) ili vrijednost senzora:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
Vrijednosti %SENSOR:…% koriste imena koja se nalaze u zaglavljima kolona desnog senzora u dnevniku evtGGGGMMDD.csv files. Oni su obično:
Ako odredišni server preferira HTTP PUT ili POST umjesto GET zahtjeva, možete staviti prefiks URL sa PUT: ili POST:. Nezavisno, možete dodati JSON korisni teret koji je popularan kod mnogih servera dodavanjem ključne riječi [JSONBODY] nakon koje slijedi JSON formatirani objekt. Prample:
PUT:https://server.com/event[JSONBODY]{“location”:”%NAME%”,”event”:”%EID%”}
The URL podržava tipične IP adrese (i IPv6) i opcije porta i korisničke lozinke, ili možete koristiti polja User i Password ako je potrebno da budu odredišni server za metode provjere autentičnosti kao što su Basic ili Digest:
https://username:password@123.321.123.321:9876/event…
TCP način rada
Eksterne poruke i stringovi otkucaja srca služe samo za podatke jer polja Adresa i Port specificiraju odredište. Adresa podržava imena, IPv4 i IPv6.
Niz se može formatirati kao dijelovi podataka u HTTP porukama opisanim gore, ili kako to zahtijeva odredišni server.
Exampdatoteke za eksterne poruke bi uključivale %EID% za označavanje događaja koji je pokrenuo:
lokacija=%NAME%,događaj=%EID%
{“lokacija”:”:%NAME%”,”događaj”:”%EID%”}
Examplesovi za otkucaje srca mogu dodati %ACTIVE% (trenutno pokrenuti događaji) ili vrijednost senzora:
lokacija=%NAME%&Triggered=%ACTIVE%
{“lokacija”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
Polje za potvrdu u kolonama “Integration Set” i “Integration Reset” određuju koji događaji pokreću slanje. Više o podešavanju događaja i akcija dostupno je u HALO Administratorskom vodiču.
Isporuka JSON poruka događaja
Neki programeri radije primaju podatke o događajima formatirane kao industrijski standardni samooznačeni JSON, a ne običan ASCII tekst jer je prvi pouzdaniji i lakše raščlanjen. Na HALO web na kartici „Poruke“, možete dostaviti JSON poruke u postavkama „Spoljne poruke“ „Postavi string“ i „Resetuj string“ i u „Poruci“ „Otkucaji srca“.
Examples:
Postavke "Spoljnih poruka" Postavite niz:
{ “uređaj”:”%NAME%”, “događaj”:”%EID%”, “alarm”:”da” }
Ovo će poslati jednu TCP ili UDP JSON poruku određenom serveru sa izvještajem o prijateljskom nazivu uređaja, nazivu događaja i da je upravo započeo.
String za poništavanje postavki "Spoljnih poruka":
{ “uređaj”:”%NAME%”, “događaj”:”%EID%”, “alarm”:”ne” }
Ovo će poslati jednu TCP ili UDP JSON poruku određenom serveru sa izvještajem o prijateljskom nazivu uređaja, nazivu događaja i da je stanje sada zaustavljeno.
Poruka "Heartbeat":
{ “uređaj”:”%NAME%”, “živ”:”%DATE% %TIME%” }
Ovo će periodično slati TCP ili UDP JSON poruku navedenom serveru sa izvještajem da je HALO živ u naznačeno vrijeme.
Dokumenti / Resursi
![]() |
Softver s HALO Smart Sensor API Osnovni softver [pdf] Korisnički priručnik Osnovni softver HALO Smart Sensor API |