सफ्टवेयरको HALO स्मार्ट सेन्सर API आधारभूत सफ्टवेयर
अगाडि
यस कागजातले हेलो स्मार्ट सेन्सरका सुविधाहरूको समूहलाई वर्णन गर्दछ जुन सामूहिक रूपमा BASIC API, वा अनुप्रयोग प्रोग्रामिङ इन्टरफेसको रूपमा चिनिन्छ। यो छलफल एक वा धेरै HALO स्मार्ट सेन्सरहरू (HALOs) लाई तेस्रो पक्षीय (गैर-IPVideo) सफ्टवेयर कम्पोनेन्ट वा प्रणालीहरूसँग एकीकृत गर्न रुचि राख्ने प्रोग्रामरहरू वा इन्टिग्रेटरहरूद्वारा प्रयोगको लागि हो। सामान्यतया, HALO API को उद्देश्य HALO बाट पारम्परिक इथरनेट नेटवर्कमा बाह्य कार्यक्रममा कुशलतापूर्वक जानकारी हस्तान्तरण गर्ने हो। यो लक्ष्य पूरा गर्न, API लाई तीन खण्डहरूमा विभाजन गरिएको छ: घटना संचालित सकेट जडान, हार्टबिट सकेट जडान, र घटना डेटा। URL। BACnet इन्टरफेस पनि अवस्थित छ र छुट्टै कागजातमा कभर गरिएको छ।
एपीआई डिजाइन
API लाई TCP/IP जस्ता उद्योग मानक ढाँचाहरू प्रयोग गरेर डिजाइन गरिएको हो। HTTP, HTTPS, र JSON। बाह्य कार्यक्रम वा अनुप्रयोगको विकासमा प्रयोग गर्न डिजाइनलाई कुनै विशेष वा स्वामित्व प्रविधि वा पुस्तकालयहरू आवश्यक पर्दैन। API लचिलो छ र ठ्याक्कै आवश्यक डाटा र सबैभन्दा प्रभावकारी तरिकामा डेलिभर गर्न कन्फिगर र प्रोग्राम गर्न सकिन्छ। माथिका प्रत्येक खण्डको सञ्चालनको विवरण यस गाइडको निम्न खण्डहरूमा समेटिएको छ।
बाह्य सन्देश
यो सुविधा अलर्ट वा अलार्म र घटना डेटा बाह्य कार्यक्रम, VMS प्रणाली, सर्भर, इत्यादि प्रदान गर्न प्रयोग गरिन्छ जब घटना ट्रिगर हुन्छ (सेट गरिएको छ)। ऐच्छिक सन्देशहरू पनि घटना खाली हुँदा (रिसेट गरिएको) संकेत गर्न सक्षम गर्न सकिन्छ। यो डेलिभरी वास्तविक समयमा TCP/IP सकेट वा HTTP/S सर्भरमा गर्न सकिन्छ। अनुकूलन योग्य सामग्रीहरूसँग कन्फिगर योग्य प्रोटोकलहरूको दायरा छ। प्रमाणीकरण र गुप्तिकरण उपलब्ध छन्।
मुटुको धड्कन
प्रत्यक्ष/उपलब्धताको प्रमाण प्रदान गर्न हृदयघात सन्देशहरू कन्फिगर योग्य अन्तरालमा पठाइन्छ (घटनाहरू ट्रिगर हुँदाको सट्टा)। तिनीहरूसँग बाह्य सन्देशहरू जस्तै क्षमताहरूको समान दायरा छ तर सामान्यतया कुनै विशेष घटनाको बारेमा विवरणहरू भन्दा सामान्य स्थिति जानकारी समावेश गर्न कन्फिगर गरिनेछ।
घटना डाटा URL
यो सुविधा NDA अन्तर्गत मात्र उपलब्ध छ र बाह्य कार्यक्रमलाई कुनै पनि र सबै घटना मानहरू, थ्रेसहोल्डहरू, र राज्य झण्डाहरूमा पहुँच आवश्यक हुँदा मात्र प्रयोग गरिनुपर्छ। यो डाटा सामान्यतया बाह्य कार्यक्रम द्वारा माग मा प्राप्त गरिन्छ तर धेरै उच्च आवृत्ति मा छैन। मामूली मतदान दर प्रयोग गर्दा यो विधिले सामान्यतया केही विलम्बता लिन्छ। सामान्य मतदान दर प्रति मिनेट एक पटक देखि प्रति 5 सेकेन्डमा एक पटक प्रति सेकेन्डको पूर्ण अधिकतम दर संग दायरा। घटना (सूचना) प्राप्त हुँदा अतिरिक्त समर्थन डेटा पुन: प्राप्त गर्न यो विधि पनि प्रयोग गर्न सकिन्छ।
बाह्य सन्देश विवरण
HALO को एक खण्ड web इन्टरफेस एकीकरण पपअपले एकल 3rd पार्टी जडानको कन्फिगरेसनको लागि प्रदान गर्दछ जहाँ विभिन्न मानहरू टाढाको TCP सकेट वा HTTP/HTTPS सर्भरमा पठाउन सकिन्छ। प्लेस होल्डरहरू (टोकनहरू) प्रसारित पाठमा प्रत्यक्ष मानहरू सम्मिलित गर्न प्रयोग गरिन्छ। यद्यपि "बाह्य सन्देश" लेबल गरिएको छ, यो च्यानल लगभग कुनै पनि उद्देश्यको लागि प्रयोग गर्न सकिन्छ वास्तविक समय घटना ट्रिगरहरू, सक्रिय रूपमा HALO द्वारा डेलिभर गर्न आवश्यक छ। यो व्यवस्था एकदम लचिलो छ किनभने "कार्यहरू" मा छनोटहरूले यो च्यानल मार्फत कुन HALO घटनाहरू प्रसारण गर्ने निर्धारण गर्दछ।
HTTP मोडमा, सेट र रिसेट स्ट्रिङहरू हुन् URLs जुन आवश्यक गन्तव्य सर्भर द्वारा आवश्यक रूपमा प्रविष्ट र ढाँचा हुनुपर्छ। एक प्रयोगकर्ता र पासवर्ड क्षेत्र प्रमाणीकरण को लागी प्रयोग गर्न सकिन्छ। तल HTTP मोड हेर्नुहोस्।
TCP मोडमा, सेट र रिसेट स्ट्रिङहरू प्राप्त गर्ने TCP सकेटमा पठाइने एकल सन्देशको डेटा मात्र हुन्। तिनीहरू गन्तव्य द्वारा आवश्यकता अनुसार ढाँचा गर्न सकिन्छ। गन्तव्य ठेगाना र पोर्ट क्षेत्रहरूमा निर्दिष्ट गरिएको छ। तल TCP मोड हेर्नुहोस्।
कुनै पनि मोडको लागि, सबैभन्दा भर्खरको सन्देशबाट स्थिति प्रदर्शित हुन्छ जसले जडान वा अन्य समस्याहरू समाधान गर्न मद्दत गर्न सक्छ। तपाईंले सन्देशलाई जबरजस्ती गर्न कार्यहरू पपअपमा घटना परीक्षण बटनहरू प्रयोग गर्न सक्नुहुन्छ:
ती प्रकारका सन्देशहरू सक्षम पार्न सेट वा रिसेटका लागि ग्लोबल अन/अफ अन हुनुपर्छ। रिसेट प्रायः प्रयोग गरिँदैन किनभने घटनाको सुरुवात मात्र चासोको हुन्छ, तर त्यो फरक हुन सक्छ। प्रत्येक घटनाले स्वतन्त्र रूपमा निर्दिष्ट गर्न सक्छ यदि यसले कार्य पपअपमा सेट वा रिसेट सन्देश प्रयोग गर्दछ। नेत्रबल बटनहरूले कुञ्जी शब्द प्रतिस्थापन र ढाँचा पछि पठाइएको कुराको कुनै नराम्रो प्रतिनिधित्व प्रदर्शन गर्नेछ। दोहोर्याउनुहोस् होल्डअफ अर्को पठाउन अघि ढिलाइ गरेर लगातार सन्देशहरू थ्रोटल गर्न प्रयोग गर्न सकिन्छ। यो प्रति घटना स्वतन्त्र रूपमा गरिन्छ। HALO सँग 15 सेकेन्डका घटनाहरूको लागि अन्तर्निर्मित होल्ड समय छ घटनाहरूको द्रुत पुन: ट्रिगर गर्नबाट रोक्न। यदि तपाइँ एक प्रकारको 1 भन्दा बढी घटना प्रति मिनेट पठाइएको छैन भनेर सुनिश्चित गर्न चाहनुहुन्छ भने, तपाइँ दोहोर्याउनुहोस् होल्डअफलाई 60 (सेकेन्ड) मा सेट गर्न सक्नुहुन्छ।
मुटुको धड्कन विवरण
हार्टबिट प्रसारणहरू माथिको जस्तै समान रूपमा कार्य गर्दछ बाहेक त्यहाँ कार्य पृष्ठसँग कुनै अन्तरक्रिया छैन। यसको सट्टा, हार्टबिट प्रसारण नियमित रूपमा अन्तराल क्षेत्रसँग कन्फिगर गरिएको रूपमा हुन्छ, HTTP मोडमा, सेट र रिसेट स्ट्रिङहरू हुन्। URLs जुन आवश्यक गन्तव्य सर्भर द्वारा आवश्यक रूपमा प्रविष्ट र ढाँचा हुनुपर्छ। एक प्रयोगकर्ता र पासवर्ड क्षेत्र प्रमाणीकरण को लागी प्रयोग गर्न सकिन्छ। तल HTTP मोड हेर्नुहोस्।
हार्टबिटको प्राथमिक उद्देश्य रिमोट एप्लिकेसनमा HALO स्मार्ट सेन्सरको जीवनको प्रमाण प्रदान गर्नु हो, यो सन्देशलाई चयन गरिएका सेन्सरहरू वा हालको घटना स्थिति जानकारी प्रसारण गर्न पनि प्रयोग गर्न सकिन्छ। पूर्वampले माथिको साथ लामो स्ट्रिङ प्यारामिटर पठाउँछ URL जसमा हेलो नाम, सेन्सर मानहरूको बहुमत, र अन्तमा ट्रिगर गरिएको =% ACTIVE% जुन खाली हुन सक्छ वा हाल ट्रिगर गरिएका घटनाहरूको सूची समावेश गर्दछ।
HTTP (र HTTPS) मोड
बाह्य सन्देश र हार्टबिट स्ट्रिङहरू http: वा https: हुन सक्छन्। URLs आवश्यकता अनुसार। गन्तव्य सर्भर द्वारा आवश्यकता अनुसार पथ र प्यारामिटरहरू प्रविष्ट गर्न सकिन्छ। %NAME% (HALO यन्त्रको नाम) वा %EID% (घटना आईडी) जस्ता किवर्डहरू आवश्यकता अनुसार सम्मिलित गर्न सकिन्छ र सन्देश पठाउँदा सम्बन्धित डेटासँग बदलिनेछ। सामान्य रूपमा प्रयोग गरिएका कुञ्जी शब्दहरूको सूची द्रुत सन्दर्भको लागि देखाइन्छ।
द URL path मा कुञ्जी शब्दहरू साथै मापदण्डहरू समावेश हुन सक्छ 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 लगमा दायाँ-हात सेन्सर स्तम्भ शीर्षकहरूमा फेला परेका नामहरू प्रयोग गर्छन्। files तिनीहरू सामान्यतया हुन्:
यदि गन्तव्य सर्भरले GET अनुरोधहरूको सट्टा HTTP PUT वा POST लाई प्राथमिकता दिन्छ भने, तपाइँ उपसर्ग गर्न सक्नुहुन्छ URL PUT: वा POST: सँग। स्वतन्त्र रूपमा, तपाईले JSON पेलोड थप्न सक्नुहुन्छ जुन धेरै सर्भरहरूमा लोकप्रिय छ [JSONBODY] कुञ्जी शव्द पछि JSON ढाँचा गरिएको वस्तु थपेर। उदाहरणampLe:
PUT:https://server.com/event[JSONBODY]{“location”:”%NAME%”,”event”:”%EID%”}
द URL ठेठ IP ठेगाना (र IPv6) र पोर्ट र प्रयोगकर्ता-पासवर्ड विकल्पहरू समर्थन गर्दछ, वा आधारभूत वा डाइजेस्ट जस्ता प्रमाणीकरण विधिहरूको लागि गन्तव्य सर्भर आवश्यक भएमा प्रयोगकर्ता र पासवर्ड क्षेत्रहरू प्रयोग गर्न सक्नुहुन्छ:
https://username:password@123.321.123.321:9876/event…
TCP मोड
ठेगाना र पोर्ट फिल्डहरूले गन्तव्य निर्दिष्ट गरेको हुनाले बाह्य सन्देश र हार्टबिट स्ट्रिङहरू डाटाका लागि मात्र हुन्। ठेगानाले नामहरू, IPv4 र IPv6 समर्थन गर्दछ।
स्ट्रिङलाई माथि वर्णन गरिएको HTTP सन्देशहरूको डेटा भागहरू जस्तै वा गन्तव्य सर्भरद्वारा आवश्यक रूपमा फर्म्याट गर्न सकिन्छ।
Exampबाह्य सन्देशका लागि लेसले ट्रिगर भएको घटनालाई संकेत गर्न %EID% समावेश गर्दछ:
स्थान=%NAME%, घटना=%EID%
{"स्थान":":%NAME%","घटना":"%EID%"}
Exampहार्टबिटको लागि लेसले % ACTIVE% (हाल ट्रिगर गरिएका घटनाहरू) वा सेन्सर मान थप्न सक्छ:
स्थान=%NAME%&Triggered=%ACTIVE%
{"स्थान":":%NAME%","NH3":%सेन्सर:NH3%}
"एकीकरण सेट" र "एकीकरण रिसेट" स्तम्भहरूमा चेकबक्सहरूले कुन घटनाहरू पठाउन ट्रिगर गर्दछ निर्धारण गर्दछ। घटनाक्रम र कार्यहरूको सेटअपमा थप HALO प्रशासकको गाइडमा उपलब्ध छ।
JSON घटना सन्देशहरूको डेलिभरी
केही विकासकर्ताहरूले सादा ASCII पाठको सट्टा उद्योग मानक स्व-लेबल JSON को रूपमा ढाँचा गरिएको घटना डेटा प्राप्त गर्न रुचाउँछन् किनभने पहिलेको अधिक भरपर्दो र अधिक सजिलै पार्स गरिएको छ। HALO मा web पृष्ठ "सन्देश" ट्याबमा, तपाइँ JSON सन्देशहरू "बाह्य सन्देश" सेटिङहरूमा "सेट स्ट्रिङ" र "रिसेट स्ट्रिङ" र "हृदयको धडकन" "सन्देश" मा आपूर्ति गर्न सक्नुहुन्छ।
Examples:
"बाह्य सन्देश" सेटिङहरू सेट स्ट्रिङ:
{ "उपकरण":"%NAME%", "घटना":"%EID%", "अलार्म":"हो" }
यसले एकल TCP वा UDP JSON सन्देश निर्दिष्ट सर्भरमा पठाउने छ जसले अनुकूल उपकरणको नाम, घटनाको नाम र यो भर्खरै सुरु भएको रिपोर्ट गर्दछ।
"बाह्य सन्देश" सेटिङहरू रिसेट स्ट्रिङ:
{ "उपकरण":"%NAME%", "घटना":"%EID%", "अलार्म":"होइन" }
यसले निर्दिष्ट सर्भरमा एकल TCP वा UDP JSON सन्देश पठाउनेछ जुन अनुकूल उपकरणको नाम, घटनाको नाम र अवस्था अहिले रोकिएको छ।
"मुटुको धड्कन" सन्देश:
{ “उपकरण”:”%NAME%”, “जीवित”:”%DATE% %TIME%” }
यसले आवधिक रूपमा TCP वा UDP JSON सन्देश निर्दिष्ट सर्भरमा पठाउनेछ कि HALO संकेत गरिएको समयमा जीवित छ।
कागजातहरू / स्रोतहरू
![]() |
सफ्टवेयरको HALO स्मार्ट सेन्सर API आधारभूत सफ्टवेयर [pdf] प्रयोगकर्ता गाइड HALO स्मार्ट सेन्सर API आधारभूत सफ्टवेयर |