సాఫ్ట్వేర్ హాలో స్మార్ట్ సెన్సార్ API ప్రాథమిక సాఫ్ట్వేర్
ముందుకు
ఈ పత్రం సమిష్టిగా బేసిక్ API లేదా అప్లికేషన్ ప్రోగ్రామింగ్ ఇంటర్ఫేస్ అని పిలువబడే హాలో స్మార్ట్ సెన్సార్ యొక్క సౌకర్యాల సమూహాన్ని వివరిస్తుంది. ఈ చర్చ 3వ పక్షం (IPVideo యేతర) సాఫ్ట్వేర్ భాగాలు లేదా సిస్టమ్లతో ఒకటి లేదా అంతకంటే ఎక్కువ HALO స్మార్ట్ సెన్సార్లను (HALOs) ఏకీకృతం చేయడానికి ఆసక్తి ఉన్న ప్రోగ్రామర్లు లేదా ఇంటిగ్రేటర్ల ఉపయోగం కోసం ఉద్దేశించబడింది. సాధారణంగా, HALO API అనేది HALO నుండి సంప్రదాయ ఈథర్నెట్ నెట్వర్క్ ద్వారా బాహ్య ప్రోగ్రామ్కు సమాచారాన్ని సమర్థవంతంగా బదిలీ చేయడానికి ఉద్దేశించబడింది. ఈ లక్ష్యాన్ని సాధించడానికి, API మూడు విభాగాలుగా విభజించబడింది: ఈవెంట్ నడిచే సాకెట్ కనెక్షన్, హార్ట్బీట్ సాకెట్ కనెక్షన్ మరియు ఈవెంట్ డేటా URL. BACnet ఇంటర్ఫేస్ కూడా ఉంది మరియు ప్రత్యేక పత్రంలో కవర్ చేయబడింది.
API డిజైన్
API TCP/IP వంటి ఇండస్ట్రీ స్టాండర్డ్ ఫార్మాట్లను ఉపయోగించి రూపొందించబడింది. HTTP, HTTPS మరియు JSON. బాహ్య ప్రోగ్రామ్ లేదా అప్లికేషన్ అభివృద్ధిలో ఉపయోగించాల్సిన ప్రత్యేక లేదా యాజమాన్య సాంకేతికతలు లేదా లైబ్రరీలు డిజైన్కు అవసరం లేదు. API అనువైనది మరియు అవసరమైన డేటాను మరియు అత్యంత ప్రభావవంతమైన పద్ధతిలో ఖచ్చితంగా అందించడానికి కాన్ఫిగర్ చేయబడుతుంది మరియు ప్రోగ్రామ్ చేయబడుతుంది. ఈ గైడ్లోని క్రింది విభాగాలలో పైన పేర్కొన్న ప్రతి విభాగం యొక్క ఆపరేషన్ వివరాలు ఉన్నాయి.
బాహ్య సందేశం
ఈవెంట్ ట్రిగ్గర్ అయినప్పుడు (సెట్ చేయబడింది) బాహ్య ప్రోగ్రామ్, VMS సిస్టమ్, సర్వర్ మొదలైన వాటికి హెచ్చరికలు లేదా అలారాలు మరియు ఈవెంట్ డేటాను బట్వాడా చేయడానికి ఈ సదుపాయం ఉపయోగించబడుతుంది. ఈవెంట్ క్లియర్ అయినప్పుడు (రీసెట్ చేయబడింది) సిగ్నల్ ఇవ్వడానికి ఐచ్ఛిక సందేశాలు కూడా ప్రారంభించబడతాయి. ఈ డెలివరీని TCP/IP సాకెట్ లేదా HTTP/S సర్వర్కు నిజ సమయంలో చేయవచ్చు. అనుకూలీకరించదగిన విషయాలతో కాన్ఫిగర్ చేయగల ప్రోటోకాల్ల శ్రేణి ఉంది. ప్రమాణీకరణ మరియు ఎన్క్రిప్షన్ అందుబాటులో ఉన్నాయి.
గుండె చప్పుడు
లైవ్/లభ్యత రుజువును అందించడానికి హృదయ స్పందన సందేశాలు కాన్ఫిగర్ చేయదగిన వ్యవధిలో (ఈవెంట్లు ట్రిగ్గర్ చేయబడినప్పుడు బదులుగా) పంపబడతాయి. అవి బాహ్య సందేశం వంటి సామర్థ్యాల శ్రేణిని కలిగి ఉంటాయి, కానీ సాధారణంగా నిర్దిష్ట ఈవెంట్ గురించిన వివరాల కంటే సాధారణ రాష్ట్ర సమాచారాన్ని కలిగి ఉండేలా కాన్ఫిగర్ చేయబడతాయి.
ఈవెంట్ డేటా URL
ఈ సదుపాయం NDA క్రింద మాత్రమే అందుబాటులో ఉంటుంది మరియు బాహ్య ప్రోగ్రామ్కు ఏదైనా మరియు అన్ని ఈవెంట్ విలువలు, థ్రెషోల్డ్లు మరియు రాష్ట్ర ఫ్లాగ్లకు యాక్సెస్ అవసరమైనప్పుడు మాత్రమే ఉపయోగించబడుతుంది. ఈ డేటా సాధారణంగా బాహ్య ప్రోగ్రామ్ ద్వారా డిమాండ్పై తిరిగి పొందబడుతుంది కానీ చాలా ఎక్కువ ఫ్రీక్వెన్సీలో కాదు. నిరాడంబరమైన పోలింగ్ రేటును ఉపయోగించినప్పుడు ఈ పద్ధతి సాధారణంగా కొంత జాప్యాన్ని కలిగిస్తుంది. సాధారణ పోలింగ్ రేట్లు నిమిషానికి ఒకసారి నుండి 5 సెకన్లకు ఒకసారి వరకు గరిష్ట గరిష్ట రేటు సెకనుకు ఒకసారి ఉంటుంది. ఈవెంట్ (అలర్ట్) వచ్చినప్పుడు అదనపు సపోర్టింగ్ డేటాను తిరిగి పొందడానికి కూడా ఈ పద్ధతిని ఉపయోగించవచ్చు.
బాహ్య సందేశ వివరాలు
HALO యొక్క ఒక విభాగం web వివిధ విలువలను రిమోట్ TCP సాకెట్ లేదా HTTP/HTTPS సర్వర్కు పంపగలిగే ఒకే 3వ పక్షం కనెక్షన్ని కాన్ఫిగరేషన్ కోసం ఇంటర్ఫేస్ ఇంటిగ్రేషన్ పాప్అప్ అందిస్తుంది. ప్రసారం చేయబడిన వచనంలో ప్రత్యక్ష విలువలను చొప్పించడానికి ప్లేస్ హోల్డర్లు (టోకెన్లు) ఉపయోగించబడతాయి. "బాహ్య సందేశం" అని లేబుల్ చేయబడినప్పటికీ, ఈ ఛానెల్ HALO ద్వారా యాక్టివ్గా డెలివరీ చేయబడే రియల్ టైమ్ ఈవెంట్ ట్రిగ్గర్లు అవసరమయ్యే ఏదైనా ప్రయోజనం కోసం ఉపయోగించవచ్చు. "చర్యలు" ఎంపికలు ఈ ఛానెల్ ద్వారా ఏ HALO ఈవెంట్లను ప్రసారం చేయాలో నిర్ణయిస్తాయి కాబట్టి ఈ అమరిక చాలా సరళమైనది.
HTTP మోడ్లో, సెట్ మరియు రీసెట్ స్ట్రింగ్లు URLలు తప్పనిసరిగా నమోదు చేయబడాలి మరియు కావలసిన గమ్యం సర్వర్ ద్వారా అవసరమైన విధంగా ఫార్మాట్ చేయాలి. ప్రామాణీకరణ కోసం వినియోగదారు మరియు పాస్వర్డ్ ఫీల్డ్ను ఉపయోగించవచ్చు. దిగువన HTTP మోడ్ని చూడండి.
TCP మోడ్లో, సెట్ మరియు రీసెట్ స్ట్రింగ్లు అనేది స్వీకరించే TCP సాకెట్కు పంపబడే ఒక సందేశం యొక్క డేటా మాత్రమే. గమ్యస్థానానికి అవసరమైన విధంగా వాటిని ఫార్మాట్ చేయవచ్చు. గమ్యం చిరునామా మరియు పోర్ట్ ఫీల్డ్లలో పేర్కొనబడింది. క్రింద TCP మోడ్ చూడండి.
ఏదైనా మోడ్ కోసం, కనెక్షన్ లేదా ఇతర సమస్యలను పరిష్కరించడంలో సహాయపడే అత్యంత ఇటీవలి సందేశం నుండి స్థితి ప్రదర్శించబడుతుంది. మీరు సందేశాన్ని బలవంతంగా పంపడానికి చర్యల పాప్అప్లోని ఈవెంట్ టెస్ట్ బటన్లను ఉపయోగించవచ్చు:
ఆ రకమైన సందేశాలను ప్రారంభించడానికి సెట్ లేదా రీసెట్ కోసం గ్లోబల్ ఆన్/ఆఫ్ తప్పనిసరిగా ఆన్లో ఉండాలి. రీసెట్ తరచుగా ఉపయోగించబడదు ఎందుకంటే ఈవెంట్ ప్రారంభం మాత్రమే ఆసక్తిని కలిగి ఉంటుంది, కానీ అది మారవచ్చు. చర్యల పాప్అప్లో సెట్ లేదా రీసెట్ సందేశాన్ని ఉపయోగిస్తుందో లేదో ప్రతి ఈవెంట్ స్వతంత్రంగా పేర్కొనవచ్చు. ఐబాల్ బటన్లు కీవర్డ్ ప్రత్యామ్నాయాలు మరియు ఫార్మాటింగ్ తర్వాత పంపబడిన వాటి యొక్క కఠినమైన ప్రాతినిధ్యాన్ని ప్రదర్శిస్తాయి. రిపీట్ హోల్డాఫ్ అనేది మరొక సందేశాన్ని పంపడానికి ముందు ఆలస్యం చేయడం ద్వారా తరచుగా వచ్చే సందేశాలను తగ్గించడానికి ఉపయోగించవచ్చు. ఇది ఈవెంట్కు స్వతంత్రంగా జరుగుతుంది. ఈవెంట్ల వేగవంతమైన రీట్రిగ్గర్ను నిరోధించడానికి HALO 15 సెకన్ల ఈవెంట్ల కోసం అంతర్నిర్మిత హోల్డ్ సమయాన్ని కలిగి ఉంది. మీరు ఒక నిమిషానికి 1 ఈవెంట్ కంటే ఎక్కువ ఈవెంట్లు పంపబడకుండా చూసుకోవాలనుకుంటే, మీరు రిపీట్ హోల్డాఫ్ని 60 (సెకన్లు)కి సెట్ చేయవచ్చు.
హృదయ స్పందన వివరాలు
హార్ట్బీట్ ట్రాన్స్మిషన్లు పైన పేర్కొన్న విధంగానే పనిచేస్తాయి తప్ప చర్యల పేజీతో పరస్పర చర్య లేదు. బదులుగా, ఇంటర్వెల్ ఫీల్డ్తో కాన్ఫిగర్ చేయబడినట్లుగా హార్ట్బీట్ ట్రాన్స్మిషన్ క్రమం తప్పకుండా జరుగుతుంది, HTTP మోడ్లో, సెట్ మరియు రీసెట్ స్ట్రింగ్లు URLలు తప్పనిసరిగా నమోదు చేయబడాలి మరియు కావలసిన గమ్యం సర్వర్ ద్వారా అవసరమైన విధంగా ఫార్మాట్ చేయాలి. ప్రామాణీకరణ కోసం వినియోగదారు మరియు పాస్వర్డ్ ఫీల్డ్ను ఉపయోగించవచ్చు. దిగువన HTTP మోడ్ని చూడండి.
రిమోట్ అప్లికేషన్కు HALO స్మార్ట్ సెన్సార్ యొక్క జీవితానికి సంబంధించిన రుజువును అందించడం హార్ట్బీట్ యొక్క ప్రాథమిక ఉద్దేశ్యం అయితే, ఈ సందేశం ఎంచుకున్న సెన్సార్లను లేదా ప్రస్తుత ఈవెంట్ స్థితి సమాచారాన్ని ప్రసారం చేయడానికి కూడా ఉపయోగించవచ్చు. మాజీample పైన లాంగ్ స్ట్రింగ్ పరామితిని పంపుతుంది URL అందులో హాలో పేరు, సెన్సార్ విలువల్లో ఎక్కువ భాగం మరియు చివరిగా ట్రిగ్గర్డ్=%ACTIVE% ఖాళీగా ఉండవచ్చు లేదా ప్రస్తుతం ట్రిగ్గర్ చేయబడిన ఈవెంట్ల జాబితా ఉంటుంది.
HTTP (మరియు HTTPS) మోడ్
బాహ్య సందేశం మరియు హృదయ స్పందన స్ట్రింగ్లు http: లేదా https: URLఅవసరం మేరకు లు. గమ్యం సర్వర్ ద్వారా అవసరమైన విధంగా మార్గం మరియు పారామితులను నమోదు చేయవచ్చు. %NAME% (HALO పరికరం పేరు) లేదా %EID% (ఈవెంట్ ఐడి) వంటి కీలక పదాలు అవసరమైన విధంగా చొప్పించబడతాయి మరియు సందేశం పంపబడినప్పుడు సంబంధిత డేటాతో భర్తీ చేయబడతాయి. త్వరిత సూచన కోసం సాధారణంగా ఉపయోగించే కీలక పదాల జాబితా చూపబడింది.
ది URL మార్గం కీలకపదాలను అలాగే పారామితులను కలిగి ఉంటుంది URL. పారామితులు NAME=VALUE జతలు లేదా JSON ఆబ్జెక్ట్ లేదా గమ్యం సర్వర్పై ఆధారపడి అనుకూల ఆకృతి కావచ్చు. ఉదాampప్రేరేపిత ఈవెంట్ను సూచించడానికి బాహ్య సందేశం కోసం les %EID%ని కలిగి ఉంటుంది:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Exampహృదయ స్పందన కోసం les %ACTIVE% (ప్రస్తుతం ప్రేరేపించబడిన ఈవెంట్లు) లేదా సెన్సార్ విలువను జోడించవచ్చు:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
%SENSOR:...% విలువలు evtYYYYMMDD.csv లాగ్లోని కుడివైపు సెన్సార్ నిలువు వరుస శీర్షికలలో కనిపించే పేర్లను ఉపయోగిస్తాయి fileలు. అవి సాధారణంగా:
గమ్యం సర్వర్ GET అభ్యర్థనలకు బదులుగా HTTP PUT లేదా POSTని ఇష్టపడితే, మీరు ఉపసర్గ చేయవచ్చు URL PUT: లేదా POSTతో. స్వతంత్రంగా, మీరు [JSONBODY] కీవర్డ్ని జోడించడం ద్వారా JSON ఫార్మాట్ చేయబడిన ఆబ్జెక్ట్ని జోడించడం ద్వారా అనేక సర్వర్లలో ప్రసిద్ధి చెందిన JSON పేలోడ్ను జోడించవచ్చు. ఉదాampలే:
PUT:https://server.com/event[JSONBODY]{“లొకేషన్”:”%NAME%”,”ఈవెంట్”:”%EID%”}
ది URL సాధారణ IP చిరునామా (మరియు IPv6) మరియు పోర్ట్ మరియు వినియోగదారు-పాస్వర్డ్ ఎంపికలకు మద్దతు ఇస్తుంది లేదా బేసిక్ లేదా డైజెస్ట్ వంటి ప్రామాణీకరణ పద్ధతుల కోసం డెస్టినేషన్ సర్వర్గా అవసరమైతే మీరు వినియోగదారు మరియు పాస్వర్డ్ ఫీల్డ్లను ఉపయోగించవచ్చు:
https://username:password@123.321.123.321:9876/event…
TCP మోడ్
చిరునామా మరియు పోర్ట్ ఫీల్డ్లు గమ్యాన్ని పేర్కొన్నందున బాహ్య సందేశం మరియు హృదయ స్పందన స్ట్రింగ్లు కేవలం డేటా కోసం మాత్రమే. చిరునామా పేర్లు, IPv4 మరియు IPv6లకు మద్దతు ఇస్తుంది.
స్ట్రింగ్ పైన వివరించిన HTTP సందేశాల డేటా పోర్షన్ల వలె లేదా గమ్యం సర్వర్కి అవసరమైన విధంగా ఫార్మాట్ చేయవచ్చు.
Exampప్రేరేపిత ఈవెంట్ను సూచించడానికి బాహ్య సందేశం కోసం les %EID%ని కలిగి ఉంటుంది:
స్థానం=%NAME%,ఈవెంట్=%EID%
{“లొకేషన్”:”:%NAME%”,”ఈవెంట్”:”%EID%”}
Exampహృదయ స్పందన కోసం les %ACTIVE% (ప్రస్తుతం ప్రేరేపించబడిన ఈవెంట్లు) లేదా సెన్సార్ విలువను జోడించవచ్చు:
స్థానం=%NAME%&Triggered=%ACTIVE%
{“లొకేషన్”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
"ఇంటిగ్రేషన్ సెట్" మరియు "ఇంటిగ్రేషన్ రీసెట్" నిలువు వరుసలలోని చెక్బాక్స్లు ఏ ఈవెంట్లను పంపడాన్ని ట్రిగ్గర్ చేస్తాయి. ఈవెంట్లు మరియు చర్యల సెటప్పై మరిన్ని HALO అడ్మినిస్ట్రేటర్స్ గైడ్లో అందుబాటులో ఉన్నాయి.
JSON ఈవెంట్ సందేశాల డెలివరీ
కొంతమంది డెవలపర్లు సాదా ASCII టెక్స్ట్గా కాకుండా ఇండస్ట్రీ స్టాండర్డ్ సెల్ఫ్-లేబుల్ JSONగా ఫార్మాట్ చేయబడిన ఈవెంట్ డేటాను స్వీకరించడానికి ఇష్టపడతారు, ఎందుకంటే మునుపటిది మరింత విశ్వసనీయంగా మరియు సులభంగా అన్వయించబడుతుంది. HALOలో web పేజీ “మెసేజింగ్” ట్యాబ్, మీరు “ఎక్స్టర్నల్ మెసేజింగ్” సెట్టింగ్లలో “సెట్ స్ట్రింగ్” మరియు “రీసెట్ స్ట్రింగ్” మరియు “హార్ట్ బీట్” “మెసేజ్”లో JSON సందేశాలను అందించవచ్చు.
Exampతక్కువ:
“బాహ్య సందేశం” సెట్టింగ్ల సెట్ స్ట్రింగ్:
{ “పరికరం”:”%NAME%”, “ఈవెంట్”:”%EID%”, “అలారం”:”అవును”}
ఇది స్నేహపూర్వక పరికరం పేరు, ఈవెంట్ పేరు మరియు ఇప్పుడే ప్రారంభమైనట్లు నివేదించే పేర్కొన్న సర్వర్కు ఒకే TCP లేదా UDP JSON సందేశాన్ని పంపుతుంది.
“బాహ్య సందేశం” సెట్టింగ్ల రీసెట్ స్ట్రింగ్:
{ “పరికరం”:”%NAME%”, “ఈవెంట్”:”%EID%”, “అలారం”:”లేదు” }
ఇది స్నేహపూర్వక పరికరం పేరు, ఈవెంట్ పేరు మరియు పరిస్థితి ఇప్పుడు ఆగిపోయిందని నివేదిస్తూ పేర్కొన్న సర్వర్కు ఒకే TCP లేదా UDP JSON సందేశాన్ని పంపుతుంది.
"హృదయ స్పందన" సందేశం:
{ “పరికరం”:”%NAME%”, “సజీవంగా”:”%DATE% %TIME%”}
ఇది HALO సూచించిన సమయంలో సజీవంగా ఉందని నివేదిస్తూ పేర్కొన్న సర్వర్కు క్రమానుగతంగా TCP లేదా UDP JSON సందేశాన్ని పంపుతుంది.
పత్రాలు / వనరులు
![]() |
సాఫ్ట్వేర్ హాలో స్మార్ట్ సెన్సార్ API ప్రాథమిక సాఫ్ట్వేర్ [pdf] యూజర్ గైడ్ HALO స్మార్ట్ సెన్సార్ API ప్రాథమిక సాఫ్ట్వేర్ |