সফটওয়্যার এর HALO স্মার্ট সেন্সর API বেসিক সফটওয়্যার
ফরোয়ার্ড
এই নথিটি হ্যালো স্মার্ট সেন্সরের সুবিধাগুলির গ্রুপকে বর্ণনা করে যা সম্মিলিতভাবে বেসিক এপিআই, বা অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস হিসাবে পরিচিত। এই আলোচনাটি প্রোগ্রামার বা ইন্টিগ্রেটরদের দ্বারা ব্যবহারের উদ্দেশ্যে যারা এক বা একাধিক HALO স্মার্ট সেন্সর (HALOs) 3য় পক্ষের (নন-আইপিভিডিও) সফ্টওয়্যার উপাদান বা সিস্টেমের সাথে একীভূত করতে আগ্রহী৷ সাধারণভাবে, HALO API এর উদ্দেশ্য HALO থেকে দক্ষতার সাথে একটি প্রচলিত ইথারনেট নেটওয়ার্কের মাধ্যমে বহিরাগত প্রোগ্রামে তথ্য স্থানান্তর করা। এই লক্ষ্যটি সম্পন্ন করার জন্য, এপিআইকে তিনটি বিভাগে ভাগ করা হয়েছে: ইভেন্ট ড্রাইভেন সকেট সংযোগ, হার্টবিট সকেট সংযোগ এবং ইভেন্ট ডেটা URL. BACnet ইন্টারফেসও উপস্থিত এবং একটি পৃথক নথিতে আচ্ছাদিত।
API ডিজাইন
এপিআইটি ইন্ডাস্ট্রি স্ট্যান্ডার্ড ফরম্যাট যেমন TCP/IP ব্যবহার করে ডিজাইন করা হয়েছে। HTTP, HTTPS, এবং JSON। ডিজাইনের জন্য বাহ্যিক প্রোগ্রাম বা অ্যাপ্লিকেশনের বিকাশে ব্যবহার করার জন্য কোনও বিশেষ বা মালিকানাধীন কৌশল বা লাইব্রেরির প্রয়োজন নেই। এপিআই নমনীয় এবং সঠিকভাবে প্রয়োজনীয় ডেটা সরবরাহ করতে এবং সবচেয়ে কার্যকর পদ্ধতিতে কনফিগার এবং প্রোগ্রাম করা যেতে পারে। উপরের প্রতিটি বিভাগের অপারেশনের বিশদ বিবরণ এই গাইডের নিম্নলিখিত বিভাগে অন্তর্ভুক্ত করা হয়েছে।
এক্সটার্নাল মেসেজিং
এই সুবিধাটি একটি বহিরাগত প্রোগ্রাম, ভিএমএস সিস্টেম, সার্ভার ইত্যাদিতে সতর্কতা বা অ্যালার্ম এবং ইভেন্ট ডেটা সরবরাহ করতে ব্যবহৃত হয় যখন একটি ইভেন্ট ট্রিগার হয় (সেট করা হয়)। ঐচ্ছিক বার্তাগুলিও যখন একটি ইভেন্ট সাফ হয়ে যায় (পুনরায় সেট করা হয়) তখন সংকেত দিতে সক্ষম হতে পারে। এই ডেলিভারিটি রিয়েল টাইমে একটি TCP/IP সকেট বা HTTP/S সার্ভারে করা যেতে পারে। কাস্টমাইজযোগ্য বিষয়বস্তু সহ কনফিগারযোগ্য প্রোটোকলের একটি পরিসর রয়েছে। প্রমাণীকরণ এবং এনক্রিপশন উপলব্ধ।
হৃদস্পন্দন
লাইভ/উপলব্ধতার প্রমাণ প্রদান করতে হার্টবিট বার্তাগুলি কনফিগারযোগ্য বিরতিতে পাঠানো হয় (যখন ইভেন্টগুলি ট্রিগার হয় তার পরিবর্তে)। তাদের এক্সটার্নাল মেসেজিং-এর মতো একই ধরনের ক্ষমতা রয়েছে কিন্তু সাধারণত কোনো নির্দিষ্ট ইভেন্টের বিবরণের পরিবর্তে সাধারণ রাষ্ট্রীয় তথ্য ধারণ করার জন্য কনফিগার করা হবে।
ইভেন্ট ডেটা URL
এই সুবিধাটি শুধুমাত্র একটি NDA-এর অধীনে পাওয়া যায় এবং শুধুমাত্র তখনই ব্যবহার করা উচিত যখন বাহ্যিক প্রোগ্রামের জন্য যেকোনো এবং সমস্ত ইভেন্টের মান, থ্রেশহোল্ড এবং রাষ্ট্রীয় পতাকাগুলিতে অ্যাক্সেসের প্রয়োজন হয়। এই ডেটা সাধারণত বাহ্যিক প্রোগ্রামের চাহিদা অনুযায়ী পুনরুদ্ধার করা হয় কিন্তু খুব বেশি ফ্রিকোয়েন্সিতে নয়। এই পদ্ধতিতে সাধারণত কিছু বিলম্ব হয় যখন একটি শালীন পোলিং হার ব্যবহার করা হয়। সাধারণ ভোটদানের হার প্রতি মিনিটে একবার থেকে প্রতি 5 সেকেন্ডে একবার পর্যন্ত সর্বোচ্চ সর্বোচ্চ হার প্রতি সেকেন্ডে একবার। একটি ইভেন্ট (সতর্কতা) প্রাপ্ত হলে এই পদ্ধতিটি অতিরিক্ত সমর্থনকারী ডেটা পুনরুদ্ধার করতেও ব্যবহার করা যেতে পারে।
বহিরাগত বার্তা বিস্তারিত
হ্যালোর একটি অংশ web ইন্টারফেস ইন্টিগ্রেশন পপআপ একটি একক 3য় পক্ষের সংযোগের কনফিগারেশনের জন্য প্রদান করে যেখানে একটি দূরবর্তী TCP সকেট বা একটি HTTP/HTTPS সার্ভারে বিভিন্ন মান পাঠানো যেতে পারে। স্থানধারক (টোকেন) প্রেরিত পাঠ্যের মধ্যে লাইভ মান সন্নিবেশ করতে ব্যবহৃত হয়। যদিও "বাহ্যিক বার্তাপ্রেরণ" লেবেলযুক্ত, এই চ্যানেলটি প্রায় যেকোনো উদ্দেশ্যে ব্যবহার করা যেতে পারে যার জন্য রিয়েল টাইম ইভেন্ট ট্রিগারের প্রয়োজন হয়, সক্রিয়ভাবে HALO দ্বারা বিতরণ করা হয়। এই ব্যবস্থাটি বেশ নমনীয় কারণ "অ্যাকশন" এর নির্বাচনগুলি নির্ধারণ করে যে HALO ইভেন্টগুলি এই চ্যানেলের মাধ্যমে প্রেরণ করে।
HTTP মোডে, সেট এবং রিসেট স্ট্রিংগুলি হল URLs লিখতে হবে এবং পছন্দসই গন্তব্য সার্ভারের প্রয়োজন অনুসারে ফর্ম্যাট করতে হবে। একটি ব্যবহারকারী এবং পাসওয়ার্ড ক্ষেত্র প্রমাণীকরণের জন্য ব্যবহার করা যেতে পারে। নীচে HTTP মোড দেখুন.
টিসিপি মোডে, সেট এবং রিসেট স্ট্রিংগুলি শুধুমাত্র একটি একক বার্তার ডেটা যা প্রাপক টিসিপি সকেটে পাঠানো হয়। এগুলি গন্তব্যের প্রয়োজন অনুসারে ফর্ম্যাট করা যেতে পারে। ঠিকানা এবং পোর্ট ক্ষেত্রগুলিতে গন্তব্যটি নির্দিষ্ট করা হয়েছে। নিচে TCP মোড দেখুন।
উভয় মোডের জন্য, সাম্প্রতিক বার্তা থেকে স্থিতি প্রদর্শিত হয় যা সংযোগ বা অন্যান্য সমস্যার সমাধান করতে সহায়তা করতে পারে। আপনি একটি বার্তা জোর করার জন্য অ্যাকশন পপআপে ইভেন্ট টেস্ট বোতামগুলি ব্যবহার করতে পারেন:
সেট বা রিসেটের জন্য গ্লোবাল অন/অফ এই ধরনের বার্তাগুলিকে সক্ষম করতে অবশ্যই চালু হতে হবে। রিসেট প্রায়শই ব্যবহার করা হয় না কারণ শুধুমাত্র একটি ইভেন্টের সূচনাই আগ্রহের বিষয়, কিন্তু তা পরিবর্তিত হতে পারে। প্রতিটি ইভেন্ট স্বাধীনভাবে নির্দিষ্ট করতে পারে যে এটি অ্যাকশন পপআপে সেট বা রিসেট বার্তা ব্যবহার করবে কিনা। আইবল বোতামগুলি কীওয়ার্ড প্রতিস্থাপন এবং বিন্যাসের পরে যা পাঠানো হয় তার একটি মোটামুটি উপস্থাপনা প্রদর্শন করবে। রিপিট হোল্ডঅফ অন্য একটি পাঠানোর আগে বিলম্ব করে ঘন ঘন বার্তাগুলিকে থ্রোটল করতে ব্যবহার করা যেতে পারে। এটি ইভেন্ট প্রতি স্বাধীনভাবে করা হয়. ইভেন্টগুলির দ্রুত পুনঃ ট্রিগারিং রোধ করতে HALO এর 15 সেকেন্ডের ইভেন্টগুলির জন্য একটি অন্তর্নির্মিত হোল্ড টাইম রয়েছে৷ আপনি যদি প্রতি মিনিটে একটি প্রকারের 1টির বেশি ইভেন্ট পাঠানো না হয় তা নিশ্চিত করতে চান, আপনি রিপিট হোল্ডঅফ 60 (সেকেন্ড) সেট করতে পারেন।
হৃদস্পন্দনের বিবরণ
হার্টবিট ট্রান্সমিশন উপরের মত একই ভাবে কাজ করে তবে অ্যাকশন পৃষ্ঠার সাথে কোন মিথস্ক্রিয়া নেই। পরিবর্তে, হার্টবিট ট্রান্সমিশন নিয়মিতভাবে ঘটে যেমন ইন্টারভাল ফিল্ডের সাথে কনফিগার করা হয়, HTTP মোডে, সেট এবং রিসেট স্ট্রিংগুলি হল URLs লিখতে হবে এবং পছন্দসই গন্তব্য সার্ভারের প্রয়োজন অনুসারে ফর্ম্যাট করতে হবে। একটি ব্যবহারকারী এবং পাসওয়ার্ড ক্ষেত্র প্রমাণীকরণের জন্য ব্যবহার করা যেতে পারে। নীচে HTTP মোড দেখুন.
যদিও হার্টবিটের প্রাথমিক উদ্দেশ্য হল একটি দূরবর্তী অ্যাপ্লিকেশনে একটি HALO স্মার্ট সেন্সরের জীবনের প্রমাণ প্রদান করা, এই বার্তাটি নির্বাচিত সেন্সর বা বর্তমান ইভেন্ট স্টেট তথ্য প্রেরণ করতেও ব্যবহার করা যেতে পারে। প্রাক্তনample উপরে দিয়ে একটি দীর্ঘ স্ট্রিং প্যারামিটার পাঠায় URL যার মধ্যে রয়েছে হ্যালো নাম, বেশিরভাগ সেন্সর মান এবং শেষ পর্যন্ত ট্রিগারড=%ACTIVE% যা খালি হতে পারে বা বর্তমানে ট্রিগার হওয়া ইভেন্টগুলির একটি তালিকা।
HTTP (এবং HTTPS) মোড
বাহ্যিক মেসেজিং এবং হার্টবিট স্ট্রিংগুলি হতে পারে http: বা https: URLপ্রয়োজন হিসাবে s. গন্তব্য সার্ভারের প্রয়োজন অনুসারে পথ এবং পরামিতিগুলি প্রবেশ করা যেতে পারে। %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%}
% সেন্সর:…% মানগুলি 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 হিসাবে ফরম্যাট করা ইভেন্ট ডেটা পেতে পছন্দ করে কারণ আগেরটি আরও নির্ভরযোগ্য এবং আরও সহজে পার্স করা হয়। হ্যালোতে web পৃষ্ঠা "মেসেজিং" ট্যাবে, আপনি "বহিরাগত বার্তাপ্রেরণ" সেটিংস "সেট স্ট্রিং" এবং "রিসেট স্ট্রিং" এবং "হার্টবিট" "মেসেজ"-এ JSON বার্তা সরবরাহ করতে পারেন।
Exampলেস:
"বাহ্যিক বার্তাপ্রেরণ" সেটিংস সেট স্ট্রিং:
{ "ডিভাইস":"%NAME%", "ইভেন্ট":"%EID%", "অ্যালার্ম":"হ্যাঁ" }
এটি নির্দিষ্ট সার্ভারে একটি একক TCP বা UDP JSON বার্তা পাঠাবে যাতে বন্ধুত্বপূর্ণ ডিভাইসের নাম, ইভেন্টের নাম এবং এটি সবে শুরু হয়।
"বাহ্যিক বার্তাপ্রেরণ" সেটিংস রিসেট স্ট্রিং:
{ "ডিভাইস":"%NAME%", "ইভেন্ট":"%EID%", "অ্যালার্ম":"না" }
এটি নির্দিষ্ট সার্ভারে একটি একক TCP বা UDP JSON বার্তা পাঠাবে যাতে বন্ধুত্বপূর্ণ ডিভাইসের নাম, ইভেন্টের নাম এবং শর্তটি এখন বন্ধ হয়ে গেছে।
"হার্টবিট" বার্তা:
{ “ডিভাইস”:”%NAME%”, “জীবিত”:”%DATE% %TIME%” }
এটি পর্যায়ক্রমে নির্দিষ্ট সার্ভারে একটি TCP বা UDP JSON বার্তা পাঠাবে যে নির্দেশিত সময়ে HALO জীবিত রয়েছে।
দলিল/সম্পদ
![]() |
সফটওয়্যার এর HALO স্মার্ট সেন্সর API বেসিক সফটওয়্যার [পিডিএফ] ব্যবহারকারীর নির্দেশিকা HALO স্মার্ট সেন্সর API বেসিক সফটওয়্যার |