Software básico HALO Smart Sensor API
Adiante
Este documento describe o grupo de instalacións do sensor intelixente Halo coñecido colectivamente como API BASIC, ou interface de programación de aplicacións. Esta discusión está pensada para que o usen programadores ou integradores que estean interesados en integrar un ou máis sensores intelixentes HALO (HALO) con compoñentes ou sistemas de software de terceiros (non IPVideo). En xeral, a API HALO está destinada a transferir información de forma eficiente desde HALO a través dunha rede Ethernet convencional ao programa externo. Para lograr este obxectivo, a API divídese en tres seccións: Conexión de socket impulsada por eventos, Conexión de socket de latido de corazón e Datos de eventos URL. A interface BACnet tamén está presente e tratada nun documento separado.
Deseño de API
A API está deseñada utilizando formatos estándar do sector como TCP/IP. HTTP, HTTPS e JSON. O deseño non require que se utilicen técnicas ou bibliotecas especiais ou propietarias no desenvolvemento do programa ou aplicación externo. A API é flexible e pódese configurar e programar para entregar exactamente os datos necesarios e da forma máis eficiente. Os detalles do funcionamento de cada unha das seccións anteriores están tratados nas seguintes seccións desta guía.
Mensaxería externa
Esta instalación úsase para enviar alertas ou alarmas e datos de eventos a un programa externo, sistema VMS, servidor, etc. cando se activa (está configurado) un evento. Tamén se poden activar as mensaxes opcionais para sinalar cando un evento borra (se restablece). Esta entrega pódese facer a un socket TCP/IP ou a un servidor HTTP/S en tempo real. Hai unha variedade de protocolos configurables con contidos personalizables. A autenticación e o cifrado están dispoñibles.
Latido do corazón
As mensaxes de latido do corazón envíanse nun intervalo configurable (en lugar de cando se activan os eventos) para proporcionar unha proba de dispoñibilidade/dispoñibilidade. Teñen unha gama de capacidades similares ás de Mensaxería externa, pero normalmente se configuran para conter información xeral do estado en lugar de detalles sobre un evento en particular.
Datos do evento URL
Esta instalación só está dispoñible baixo un NDA e só debe usarse cando o programa externo require acceso a todos os valores, limiares e bandeiras estatais do evento. Estes datos son normalmente recuperados baixo demanda polo programa externo, pero non cunha frecuencia moi alta. Este método xeralmente incorre en certa latencia cando se usa unha taxa de votación modesta. As taxas de votación típicas van desde unha vez por minuto ata unha vez por 5 segundos cunha taxa máxima absoluta dunha vez por segundo. Este método tamén se pode usar para recuperar datos de apoio adicionais cando se recibe un evento (alerta).
Detalles da mensaxería externa
Unha sección do HALO web A ventá emerxente de integración da interface permite a configuración dunha única conexión de terceiros onde se poden enviar varios valores a un socket TCP remoto ou a un servidor HTTP/HTTPS. Os marcadores de posición (fichas) úsanse para inserir valores en directo no texto transmitido. Aínda que está etiquetada como "Mensaxería externa", esta canle pódese usar para case calquera propósito que requira activadores de eventos en tempo real, entregados activamente por HALO. Esta disposición é bastante flexible porque as seleccións nas "Accións" determinan que eventos HALO transmiten a través desta canle.
No modo HTTP, as cadeas Establecer e Restablecer son as URLs que deben introducirse e formatearse segundo o requira o servidor de destino desexado. Pódese usar un campo Usuario e Contrasinal para a autenticación. Vexa o modo HTTP a continuación.
No modo TCP, as cadeas Establecer e Restablecer son só os datos dunha única mensaxe que se envía ao socket TCP receptor. Pódense formatar segundo o destino. O destino especifícase nos campos Enderezo e Porto. Vexa o modo TCP a continuación.
Para calquera dos modos, móstrase o estado da mensaxe máis recente que pode axudar a solucionar problemas de conexión ou outros. Podes usar os botóns PROBA do evento na ventá emerxente Accións para forzar unha mensaxe:
Global On/Off para Establecer ou Restablecer debe estar Activado para activar este tipo de mensaxes. A miúdo non se usa o restablecemento porque só interesa o inicio dun evento, pero iso pode variar. Cada evento pode especificar de forma independente se usará a mensaxe Establecer ou Restablecer na ventá emerxente Accións. Os botóns do globo ocular mostrarán unha representación aproximada do que se envía despois das substitucións e do formato das palabras clave. Repeat Holdoff pódese usar para limitar as mensaxes frecuentes atrasando antes de enviar outra. Isto faise de forma independente por evento. HALO ten un tempo de retención integrado para eventos de 15 segundos para evitar o reactivación rápida dos eventos. Se queres asegurarte de que non se envíe máis de 1 evento dun tipo por minuto, podes establecer Repeat Holdoff en 60 (segundos).
Detalles do latido do corazón
As transmisións Heartbeat funcionan dun xeito similar ao anterior, excepto que non hai interacción coa páxina Accións. Pola contra, a transmisión Heartbeat ocorre regularmente tal e como se configura co campo Intervalo. No modo HTTP, as cadeas Establecer e Restablecer son as URLs que deben introducirse e formatearse segundo o requira o servidor de destino desexado. Pódese usar un campo Usuario e Contrasinal para a autenticación. Vexa o modo HTTP a continuación.
Aínda que o propósito principal do Heartbeat é proporcionar probas de vida dun sensor intelixente HALO a unha aplicación remota, esta mensaxe tamén se pode usar para transmitir sensores seleccionados ou información do estado do evento actual. O exampo anterior envía un parámetro de cadea longa co URL que inclúen o nome de Halo, a maioría dos valores do sensor e, por último, Triggered=%ACTIVE% que podería estar baleiro ou unha lista de eventos activados actualmente.
Modo HTTP (e HTTPS).
As cadeas de mensaxería externa e Heartbeat poden ser http: ou https: URLs segundo sexa necesario. O camiño e os parámetros pódense introducir segundo o necesite o servidor de destino. Pódense inserir palabras clave como %NAME% (nome do dispositivo HALO) ou %EID% (id do evento) segundo sexa necesario e substituirase polos datos respectivos cando se envíe a mensaxe. Móstrase unha lista de palabras clave de uso común para unha consulta rápida.
O URL o camiño pode conter palabras clave así como os parámetros do URL. Os parámetros poden ser pares NAME=VALUE ou un obxecto JSON, ou un formato personalizado dependendo do servidor de destino. ExampOs ficheiros de mensaxería externa incluirían %EID% para indicar o evento que provocou:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
ExampOs ficheiros para Heartbeat poden engadir %ACTIVE% (eventos activados actualmente) ou un valor de sensor:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
Os valores %SENSOR:...% usan os nomes que se atopan nos encabezados das columnas do sensor da dereita no rexistro evtYYYYMMDD.csv files. Normalmente son:
Se o servidor de destino prefire HTTP PUT ou POST en lugar de solicitudes GET, podes prefixar a URL con PUT: ou POST:. Independentemente, pode engadir unha carga útil JSON que é popular en moitos servidores engadindo a palabra clave [JSONBODY] seguida dun obxecto con formato JSON. ExampLe:
PUT:https://server.com/event[JSONBODY]{“location”:”%NAME%”,”event”:”%EID%”}
O URL admite o enderezo IP típico (e IPv6) e as opcións de porto e contrasinal de usuario, ou pode usar os campos Usuario e Contrasinal se é necesario para ser o servidor de destino para métodos de autenticación como Basic ou Digest:
https://username:password@123.321.123.321:9876/event…
Modo TCP
As cadeas de mensaxería externa e latido son só para datos xa que os campos Enderezo e Porto especifican o destino. O enderezo admite nomes, IPv4 e IPv6.
A cadea pódese formatar como as partes de datos das mensaxes HTTP descritas anteriormente ou segundo o requira o servidor de destino.
ExampOs ficheiros de mensaxería externa incluirían %EID% para indicar o evento que provocou:
localización=%NAME%,evento=%EID%
{“location”:”:%NAME%”,”event”:”%EID%”}
ExampOs ficheiros para Heartbeat poden engadir %ACTIVE% (eventos activados actualmente) ou un valor de sensor:
localización=%NAME%&Activada=%ACTIVE%
{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
As caixas de verificación das columnas "Conxunto de integración" e "Reinicio da integración" determinan os eventos que desencadean o envío. Máis información sobre a configuración de eventos e accións está dispoñible na Guía do administrador de HALO.
Entrega de mensaxes de eventos JSON
Algúns desenvolvedores prefiren recibir os datos de eventos formateados como JSON autoetiquetado estándar do sector en lugar de texto ASCII simple, xa que o primeiro é máis fiable e analizado con máis facilidade. No HALO web páxina "Mensaxería", pode proporcionar mensaxes JSON na configuración de "Mensaxería externa" "Establecer cadea" e "Restablecer cadea" e na "Mensaxe" "Heartbeat".
Examples:
Configuración de "Mensaxería externa" Establecer cadea:
{ “dispositivo”:”%NAME%”, “evento”:”%EID%”, “alarma”:”si” }
Isto enviará unha única mensaxe TCP ou UDP JSON ao servidor especificado informando do nome do dispositivo amigable, o nome do evento e que acaba de comezar.
Configuración de "Mensaxería externa" Restablecer cadea:
{ “dispositivo”:”%NAME%”, “evento”:”%EID%”, “alarma”:”non” }
Isto enviará unha única mensaxe TCP ou UDP JSON ao servidor especificado informando do nome do dispositivo amigable, o nome do evento e que a condición agora se detivo.
Mensaxe "Heartbeat":
{ “device”:”%NAME%”, “alive”:”%DATE% %TIME%” }
Isto enviará periodicamente unha mensaxe TCP ou UDP JSON ao servidor especificado informando de que o HALO está activo no momento indicado.
Documentos/Recursos
![]() |
Software básico HALO Smart Sensor API [pdfGuía do usuario Software básico HALO Smart Sensor API |