सॉफ्टवेयर s HALO स्मार्ट सेंसर API बेसिक सॉफ्टवेयर
आगे
यह दस्तावेज़ हेलो स्मार्ट सेंसर की सुविधाओं के समूह का वर्णन करता है जिसे सामूहिक रूप से BASIC API या एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस के रूप में जाना जाता है। यह चर्चा उन प्रोग्रामर या इंटीग्रेटर द्वारा उपयोग के लिए है जो एक या अधिक HALO स्मार्ट सेंसर (HALO) को तीसरे पक्ष (गैर-IPVideo) सॉफ़्टवेयर घटकों या सिस्टम के साथ एकीकृत करने में रुचि रखते हैं। सामान्य तौर पर, HALO API का उद्देश्य पारंपरिक ईथरनेट नेटवर्क पर HALO से बाहरी प्रोग्राम में कुशलतापूर्वक जानकारी स्थानांतरित करना है। इस लक्ष्य को पूरा करने के लिए, API को तीन खंडों में विभाजित किया गया है: इवेंट ड्रिवेन सॉकेट कनेक्शन, हार्टबीट सॉकेट कनेक्शन और इवेंट डेटा URL. BACnet इंटरफ़ेस भी मौजूद है और एक अलग दस्तावेज़ में शामिल किया गया है।
एपीआई डिजाइन
API को TCP/IP, HTTP, HTTPS और JSON जैसे उद्योग मानक प्रारूपों का उपयोग करके डिज़ाइन किया गया है। डिज़ाइन को बाहरी प्रोग्राम या एप्लिकेशन के विकास में उपयोग की जाने वाली किसी विशेष या स्वामित्व वाली तकनीक या लाइब्रेरी की आवश्यकता नहीं होती है। API लचीला है और इसे आवश्यक डेटा को सबसे कुशल तरीके से वितरित करने के लिए कॉन्फ़िगर और प्रोग्राम किया जा सकता है। उपरोक्त प्रत्येक अनुभाग के संचालन का विवरण इस गाइड के निम्नलिखित अनुभागों में शामिल किया गया है।
बाहरी संदेश
इस सुविधा का उपयोग किसी बाहरी प्रोग्राम, VMS सिस्टम, सर्वर आदि को अलर्ट या अलार्म और इवेंट डेटा डिलीवर करने के लिए किया जाता है, जब कोई इवेंट ट्रिगर होता है (सेट होता है)। वैकल्पिक संदेश भी सक्षम किए जा सकते हैं ताकि यह संकेत दिया जा सके कि इवेंट क्लियर हो गया है (रीसेट हो गया है)। यह डिलीवरी वास्तविक समय में TCP/IP सॉकेट या HTTP/S सर्वर को की जा सकती है। अनुकूलन योग्य सामग्री के साथ कॉन्फ़िगर करने योग्य प्रोटोकॉल की एक श्रृंखला है। प्रमाणीकरण और एन्क्रिप्शन उपलब्ध हैं।
दिल की धड़कन
हार्टबीट संदेश एक कॉन्फ़िगर करने योग्य अंतराल पर भेजे जाते हैं (जब ईवेंट ट्रिगर किए जाते हैं) ताकि लाइव/उपलब्धता का प्रमाण प्रदान किया जा सके। उनके पास बाहरी मैसेजिंग के समान क्षमताओं की एक श्रृंखला होती है, लेकिन आमतौर पर किसी विशेष ईवेंट के बारे में विवरण के बजाय सामान्य स्थिति की जानकारी रखने के लिए कॉन्फ़िगर किया जाता है।
घटना डेटा URL
यह सुविधा केवल एनडीए के तहत उपलब्ध है और इसका उपयोग केवल तभी किया जाना चाहिए जब बाहरी कार्यक्रम को किसी भी और सभी ईवेंट मानों, थ्रेसहोल्ड और स्टेट फ्लैग तक पहुंच की आवश्यकता हो। यह डेटा आम तौर पर बाहरी कार्यक्रम द्वारा मांग पर प्राप्त किया जाता है, लेकिन बहुत अधिक आवृत्ति पर नहीं। जब एक मामूली पोलिंग दर का उपयोग किया जाता है तो यह विधि आम तौर पर कुछ विलंबता उत्पन्न करती है। सामान्य पोलिंग दरें एक बार प्रति मिनट से लेकर 5 सेकंड में एक बार तक होती हैं, जिसमें एक पूर्ण अधिकतम दर एक सेकंड होती है। इस विधि का उपयोग किसी ईवेंट (अलर्ट) के प्राप्त होने पर अतिरिक्त सहायक डेटा प्राप्त करने के लिए भी किया जा सकता है।
बाह्य संदेशन विवरण
HALO का एक भाग web इंटरफ़ेस एकीकरण पॉपअप एक एकल तृतीय पक्ष कनेक्शन के कॉन्फ़िगरेशन के लिए प्रदान करता है जहाँ विभिन्न मान दूरस्थ TCP सॉकेट या HTTP/HTTPS सर्वर पर भेजे जा सकते हैं। प्लेस होल्डर (टोकन) का उपयोग प्रेषित पाठ में लाइव मान डालने के लिए किया जाता है। हालाँकि इसे "बाहरी संदेश" लेबल किया गया है, लेकिन इस चैनल का उपयोग लगभग किसी भी उद्देश्य के लिए किया जा सकता है जिसके लिए HALO द्वारा सक्रिय रूप से वितरित वास्तविक समय ईवेंट ट्रिगर की आवश्यकता होती है। यह व्यवस्था काफी लचीली है क्योंकि "क्रियाओं" पर चयन यह निर्धारित करते हैं कि इस चैनल के माध्यम से कौन से HALO ईवेंट संचारित होते हैं।
HTTP मोड में, सेट और रीसेट स्ट्रिंग्स हैं URLजिन्हें वांछित गंतव्य सर्वर द्वारा आवश्यकतानुसार दर्ज और स्वरूपित किया जाना चाहिए। प्रमाणीकरण के लिए उपयोगकर्ता और पासवर्ड फ़ील्ड का उपयोग किया जा सकता है। नीचे HTTP मोड देखें।
टीसीपी मोड में, सेट और रीसेट स्ट्रिंग केवल एक संदेश का डेटा है जो प्राप्त करने वाले टीसीपी सॉकेट को भेजा जाता है। उन्हें गंतव्य द्वारा आवश्यकतानुसार स्वरूपित किया जा सकता है। गंतव्य को पता और पोर्ट फ़ील्ड में निर्दिष्ट किया जाता है। नीचे टीसीपी मोड देखें।
किसी भी मोड के लिए, सबसे हाल के संदेश की स्थिति प्रदर्शित की जाती है जो कनेक्शन या अन्य समस्याओं को ठीक करने में सहायता कर सकती है। आप संदेश को बाध्य करने के लिए एक्शन पॉपअप पर इवेंट टेस्ट बटन का उपयोग कर सकते हैं:
सेट या रीसेट के लिए ग्लोबल ऑन/ऑफ को उन प्रकार के संदेशों को सक्षम करने के लिए चालू होना चाहिए। रीसेट का अक्सर उपयोग नहीं किया जाता है क्योंकि केवल एक ईवेंट की शुरुआत ही रुचिकर होती है, लेकिन यह भिन्न हो सकती है। प्रत्येक ईवेंट स्वतंत्र रूप से निर्दिष्ट कर सकता है कि वह एक्शन पॉपअप पर सेट या रीसेट संदेश का उपयोग करेगा या नहीं। आईबॉल बटन कीवर्ड प्रतिस्थापन और फ़ॉर्मेटिंग के बाद जो भेजा जाता है उसका एक मोटा प्रतिनिधित्व प्रदर्शित करेगा। बार-बार आने वाले संदेशों को रोकने के लिए रिपीट होल्डऑफ़ का उपयोग किया जा सकता है, ताकि दूसरा संदेश भेजे जाने से पहले देरी की जा सके। यह प्रत्येक ईवेंट के लिए स्वतंत्र रूप से किया जाता है। 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बाह्य संदेशन के लिए लेस में %EID% शामिल होगा जो ट्रिगर होने वाली घटना को इंगित करेगा:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Exampहार्टबीट के लिए लेस %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: के साथ। स्वतंत्र रूप से, आप JSON पेलोड जोड़ सकते हैं जो कि कई सर्वरों के साथ लोकप्रिय है, इसके लिए [JSONBODY] कीवर्ड के बाद JSON प्रारूपित ऑब्जेक्ट जोड़ना होगा। उदाहरणampपर:
PUT:https://server.com/event[JSONBODY]{“location”:”%NAME%”,”event”:”%EID%”}
द URL सामान्य IP पता (और IPv6) और पोर्ट तथा उपयोगकर्ता-पासवर्ड विकल्पों का समर्थन करता है, या यदि आवश्यक हो तो आप उपयोगकर्ता और पासवर्ड फ़ील्ड का उपयोग गंतव्य सर्वर पर बेसिक या डाइजेस्ट जैसी प्रमाणीकरण विधियों के लिए कर सकते हैं:
https://username:password@123.321.123.321:9876/event…
टीसीपी मोड
बाहरी संदेश और हार्टबीट स्ट्रिंग केवल डेटा के लिए हैं क्योंकि पता और पोर्ट फ़ील्ड गंतव्य को निर्दिष्ट करते हैं। पता नाम, IPv4 और IPv6 का समर्थन करता है।
स्ट्रिंग को ऊपर वर्णित HTTP संदेशों के डेटा भाग के समान, या गंतव्य सर्वर की आवश्यकता के अनुसार स्वरूपित किया जा सकता है।
Exampबाह्य संदेशन के लिए लेस में %EID% शामिल होगा जो ट्रिगर होने वाली घटना को इंगित करेगा:
स्थान=%NAME%,घटना=%EID%
{“स्थान”:”:%NAME%”,”घटना”:”%EID%”}
Exampहार्टबीट के लिए लेस %ACTIVE% (वर्तमान में ट्रिगर किए गए ईवेंट) या सेंसर मान जोड़ सकते हैं:
स्थान=%NAME%&ट्रिगर=%ACTIVE%
{“स्थान”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
“इंटीग्रेशन सेट” और “इंटीग्रेशन रीसेट” कॉलम में चेकबॉक्स यह निर्धारित करते हैं कि कौन से ईवेंट भेजने को ट्रिगर करते हैं। ईवेंट और क्रियाओं के सेटअप के बारे में अधिक जानकारी HALO एडमिनिस्ट्रेटर गाइड में उपलब्ध है।
JSON इवेंट संदेशों की डिलीवरी
कुछ डेवलपर्स इवेंट डेटा को उद्योग मानक स्व-लेबल JSON के रूप में प्राप्त करना पसंद करते हैं, बजाय सादे ASCII पाठ के, क्योंकि पूर्व अधिक विश्वसनीय और अधिक आसानी से पार्स किया जा सकता है। HALO पर web पृष्ठ “संदेश” टैब में, आप “बाहरी संदेश” सेटिंग्स “स्ट्रिंग सेट करें” और “स्ट्रिंग रीसेट करें” और “हार्टबीट” “संदेश” में JSON संदेश प्रदान कर सकते हैं।
Exampलेस:
“बाह्य संदेश” सेटिंग सेट स्ट्रिंग:
{ “डिवाइस”:”%NAME%”, “ईवेंट”:”%EID%”, “अलार्म”:”हां” }
यह निर्दिष्ट सर्वर को एक एकल TCP या UDP JSON संदेश भेजेगा, जिसमें अनुकूल डिवाइस का नाम, ईवेंट का नाम और यह कि यह अभी शुरू हुआ है, की सूचना दी जाएगी।
“बाह्य संदेश” सेटिंग रीसेट स्ट्रिंग:
{ “डिवाइस”:”%NAME%”, “ईवेंट”:”%EID%”, “अलार्म”:”नहीं” }
यह निर्दिष्ट सर्वर को एक एकल TCP या UDP JSON संदेश भेजेगा, जिसमें अनुकूल डिवाइस का नाम, ईवेंट का नाम और यह बताया जाएगा कि स्थिति अब बंद हो गई है।
“दिल की धड़कन” संदेश:
{ “डिवाइस”:”%NAME%”, “जीवित”:”%DATE% %TIME%” }
यह समय-समय पर निर्दिष्ट सर्वर को एक TCP या UDP JSON संदेश भेजेगा, जिसमें यह बताया जाएगा कि HALO निर्दिष्ट समय पर सक्रिय है।
दस्तावेज़ / संसाधन
![]() |
सॉफ्टवेयर s HALO स्मार्ट सेंसर API बेसिक सॉफ्टवेयर [पीडीएफ] उपयोगकर्ता गाइड HALO स्मार्ट सेंसर API बेसिक सॉफ्टवेयर |