மென்பொருளின் HALO ஸ்மார்ட் சென்சார் API அடிப்படை மென்பொருள்
முன்னோக்கி
இந்த ஆவணம் ஹாலோ ஸ்மார்ட் சென்சாரின் வசதிகளின் குழுவை விவரிக்கிறது. இந்த கலந்துரையாடல் ஒன்று அல்லது அதற்கு மேற்பட்ட HALO ஸ்மார்ட் சென்சார்களை (HALOs) மூன்றாம் தரப்பு (IPVideo அல்லாத) மென்பொருள் கூறுகள் அல்லது அமைப்புகளுடன் ஒருங்கிணைக்க ஆர்வமுள்ள புரோகிராமர்கள் அல்லது ஒருங்கிணைப்பாளர்களால் பயன்படுத்தப்படும். பொதுவாக, HALO API ஆனது HALO இலிருந்து ஒரு வழக்கமான ஈத்தர்நெட் நெட்வொர்க் மூலம் வெளிப்புற நிரலுக்கு தகவலை திறமையாக மாற்றும் நோக்கம் கொண்டது. இந்த இலக்கை நிறைவேற்ற, API மூன்று பிரிவுகளாக பிரிக்கப்பட்டுள்ளது: நிகழ்வு இயக்கப்படும் சாக்கெட் இணைப்பு, இதய துடிப்பு சாக்கெட் இணைப்பு மற்றும் நிகழ்வு தரவு URL. BACnet இடைமுகமும் உள்ளது மற்றும் ஒரு தனி ஆவணத்தில் உள்ளது.
API வடிவமைப்பு
API ஆனது TCP/IP போன்ற தொழில்துறை நிலையான வடிவங்களைப் பயன்படுத்தி வடிவமைக்கப்பட்டுள்ளது. HTTP, HTTPS மற்றும் JSON. வெளிப்புற நிரல் அல்லது பயன்பாட்டின் வளர்ச்சியில் பயன்படுத்தப்பட வேண்டிய சிறப்பு அல்லது தனியுரிம நுட்பங்கள் அல்லது நூலகங்கள் வடிவமைப்பிற்கு தேவையில்லை. API நெகிழ்வானது மற்றும் தேவையான தரவை மற்றும் மிகவும் திறமையான முறையில் வழங்குவதற்கு கட்டமைக்கப்பட்டு நிரல்படுத்தப்படலாம். மேலே உள்ள ஒவ்வொரு பிரிவுகளின் செயல்பாட்டின் விவரங்கள் இந்த வழிகாட்டியின் பின்வரும் பிரிவுகளில் உள்ளன.
வெளிப்புற செய்தியிடல்
ஒரு நிகழ்வு தூண்டப்படும் போது (அமைக்கப்படும்) வெளிப்புற நிரல், VMS அமைப்பு, சேவையகம் போன்றவற்றுக்கு விழிப்பூட்டல்கள் அல்லது அலாரங்கள் மற்றும் நிகழ்வுத் தரவை வழங்க இந்த வசதி பயன்படுத்தப்படுகிறது. ஒரு நிகழ்வு அழிக்கப்படும் போது (மீட்டமைக்கப்பட்டது) சிக்னல் செய்ய விருப்பமான செய்திகளையும் இயக்கலாம். இந்த டெலிவரியை TCP/IP சாக்கெட் அல்லது HTTP/S சர்வரில் நிகழ்நேரத்தில் செய்யலாம். தனிப்பயனாக்கக்கூடிய உள்ளடக்கங்களுடன் உள்ளமைக்கக்கூடிய நெறிமுறைகளின் வரம்பு உள்ளது. அங்கீகாரம் மற்றும் குறியாக்கம் ஆகியவை உள்ளன.
இதயத்துடிப்பு
நேரலை/கிடைத்ததற்கான ஆதாரத்தை வழங்க, இதயத் துடிப்பு செய்திகள் உள்ளமைக்கக்கூடிய இடைவெளியில் (நிகழ்வுகள் தூண்டப்படும்போது பதிலாக) அனுப்பப்படும். அவை வெளிப்புற செய்தியிடல் போன்ற திறன்களின் வரம்பைக் கொண்டுள்ளன, ஆனால் பொதுவாக ஒரு குறிப்பிட்ட நிகழ்வைப் பற்றிய விவரங்களைக் காட்டிலும் பொதுவான மாநிலத் தகவலைக் கொண்டிருக்கும் வகையில் கட்டமைக்கப்படும்.
நிகழ்வு தரவு URL
இந்த வசதி NDA இன் கீழ் மட்டுமே கிடைக்கும் மற்றும் வெளிப்புற நிரலுக்கு ஏதேனும் மற்றும் அனைத்து நிகழ்வு மதிப்புகள், வரம்புகள் மற்றும் மாநிலக் கொடிகள் அணுகல் தேவைப்படும் போது மட்டுமே பயன்படுத்தப்பட வேண்டும். இந்தத் தரவு பொதுவாக வெளிப்புற நிரலின் தேவைக்கேற்ப மீட்டெடுக்கப்படுகிறது ஆனால் மிக அதிக அதிர்வெண்ணில் இல்லை. சாதாரண வாக்குப்பதிவு விகிதத்தைப் பயன்படுத்தும்போது இந்த முறை பொதுவாக சில தாமதத்தை ஏற்படுத்துகிறது. வழக்கமான வாக்குப்பதிவு விகிதங்கள் நிமிடத்திற்கு ஒரு முறை முதல் 5 வினாடிகளுக்கு ஒரு முறை வரை, முழுமையான அதிகபட்ச வீதம் வினாடிக்கு ஒரு முறை. நிகழ்வு (எச்சரிக்கை) பெறப்படும்போது கூடுதல் துணைத் தரவை மீட்டெடுக்கவும் இந்த முறை பயன்படுத்தப்படலாம்.
வெளிப்புற செய்தி விவரங்கள்
ஹாலோவின் ஒரு பகுதி web இடைமுக ஒருங்கிணைப்பு பாப்-அப் ஒற்றை 3வது தரப்பு இணைப்பின் உள்ளமைவை வழங்குகிறது, அங்கு பல்வேறு மதிப்புகள் தொலைநிலை TCP சாக்கெட் அல்லது HTTP/HTTPS சேவையகத்திற்கு அனுப்பப்படும். இடம் வைத்திருப்பவர்கள் (டோக்கன்கள்) அனுப்பப்பட்ட உரையில் நேரடி மதிப்புகளைச் செருகுவதற்குப் பயன்படுத்தப்படுகின்றன. "வெளிப்புறச் செய்தியிடல்" என்று லேபிளிடப்பட்டிருந்தாலும், HALO ஆல் தீவிரமாக வழங்கப்படும் நிகழ்நேர நிகழ்வு தூண்டுதல்கள் தேவைப்படும் எந்தவொரு நோக்கத்திற்கும் இந்தச் சேனல் பயன்படுத்தப்படலாம். இந்த ஏற்பாடு மிகவும் நெகிழ்வானது, ஏனெனில் "செயல்கள்" இல் உள்ள தேர்வுகள் இந்த சேனல் மூலம் எந்த ஹாலோ நிகழ்வுகளை அனுப்புகின்றன என்பதை தீர்மானிக்கிறது.
HTTP பயன்முறையில், செட் மற்றும் ரீசெட் சரங்கள் URLவிரும்பிய இலக்கு சேவையகத்தின் தேவைக்கேற்ப உள்ளிடப்பட்டு வடிவமைக்கப்பட வேண்டும். அங்கீகாரத்திற்காக பயனர் மற்றும் கடவுச்சொல் புலத்தைப் பயன்படுத்தலாம். கீழே HTTP பயன்முறையைப் பார்க்கவும்.
TCP பயன்முறையில், Set மற்றும் Reset Strings என்பது பெறும் 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 பொருளாக இருக்கலாம் அல்லது இலக்கு சேவையகத்தைப் பொறுத்து தனிப்பயன் வடிவமாக இருக்கலாம். Exampவெளிப்புறச் செய்தியிடலுக்கான 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: உடன். சுயாதீனமாக, JSON வடிவமைக்கப்பட்ட பொருளைத் தொடர்ந்து [JSONBODY] முக்கிய சொல்லைச் சேர்ப்பதன் மூலம் பல சேவையகங்களில் பிரபலமான JSON பேலோடைச் சேர்க்கலாம். Exampலெ:
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 என வடிவமைக்க விரும்புகின்றனர். ஹாலோவில் web பக்கம் “செய்தி அனுப்புதல்” தாவலில், நீங்கள் “வெளிப்புற செய்தியிடல்” அமைப்புகளில் “செட் ஸ்ட்ரிங்” மற்றும் “ரீசெட் ஸ்ட்ரிங்” மற்றும் “ஹார்ட் பீட்” “மெசேஜ்” ஆகியவற்றில் JSON செய்திகளை வழங்கலாம்.
Examples:
"வெளிப்புற செய்தியிடல்" அமைப்புகள் செட் சரம்:
{ “சாதனம்”:”%NAME%”, “நிகழ்வு”:”%EID%”, “அலாரம்”:”ஆம்” }
இது ஒரு TCP அல்லது UDP JSON செய்தியை குறிப்பிட்ட சேவையகத்திற்கு நட்பு சாதனத்தின் பெயர், நிகழ்வின் பெயர் மற்றும் அது தொடங்கப்பட்டதைப் புகாரளிக்கும்.
"வெளிப்புற செய்தியிடல்" அமைப்புகள் சரத்தை மீட்டமைக்கவும்:
{ “சாதனம்”:”%NAME%”, “நிகழ்வு”:”%EID%”, “அலாரம்”:”இல்லை” }
இது ஒரு TCP அல்லது UDP JSON செய்தியை குறிப்பிட்ட சேவையகத்திற்கு நட்பு சாதனத்தின் பெயர், நிகழ்வின் பெயர் மற்றும் நிபந்தனை நிறுத்தப்பட்டுள்ளது என்று தெரிவிக்கும்.
"இதயத் துடிப்பு" செய்தி:
{ “சாதனம்”:”%NAME%”, “உயிருடன்”:”%DATE% %TIME%”}
இது குறிப்பிட்ட நேரத்தில் HALO உயிருடன் இருப்பதாக குறிப்பிட்ட சர்வருக்கு TCP அல்லது UDP JSON செய்தியை அவ்வப்போது அனுப்பும்.
ஆவணங்கள் / ஆதாரங்கள்
![]() |
மென்பொருளின் HALO ஸ்மார்ட் சென்சார் API அடிப்படை மென்பொருள் [pdf] பயனர் வழிகாட்டி ஹாலோ ஸ்மார்ட் சென்சார் ஏபிஐ அடிப்படை மென்பொருள் |