Very Simple Control Protocol
খুব সহজ নিয়ন্ত্রণ প্রোটোকল (ভি. এস. সি. পি) একটি বিনামূল্যে অটোমেশন প্রোটোকল যা সমস্ত ধরণের অটোমেশন কাজের জন্য উপযুক্ত যেখানে বিল্ডিং-বা হোম-অটোমেশন প্রধান ফোকাস। এর প্রধান সুবিধা হল যে প্রতিটি ভি. এস. সি. পি-নোড সম্পূর্ণ স্বায়ত্তশাসিতভাবে কাজ করতে পারে, যা অন্যান্য নোডের বিতরণকৃত নেটওয়ার্কের অংশ। ভি. এস. সি. পি ভৌত স্তর থেকে স্বাধীন (যেমন। ক্যান বাস, ইথারনেট, আরএস-485, আরএস-232, এমআইডাব্লুআই) অটোমেশন নেটওয়ার্ক বাস গঠনের জন্য পৃথক নোডগুলিকে সংযুক্ত করে। বাসে নোড রিডিং সুইচ, নিয়ন্ত্রণ আলো, ব্লাইন্ড, উইন্ডো বা তথ্য প্রদর্শন, সম্প্রচারিত শারীরিক পরিমাপ (যেমন। তাপমাত্রা, উজ্জ্বলতা, বিদ্যুৎ খরচ ইত্যাদি। ), মাল্টিমিডিয়া নিয়ন্ত্রণ, চুরি-বা ফায়ার-অ্যালার্ম ইত্যাদি। প্রোটোকলের একটি উপসেট (লেভেল I) রয়েছে যা CAN বাস এবং সম্পদ সীমাবদ্ধ মাইক্রোকন্ট্রোলারগুলির সাথে সামঞ্জস্যপূর্ণ। প্রোটোকল লেভেল II ইথারনেট (ইউডিপি, টিসিপি এবং নিজস্ব ইথারনেট-টাইপ র-ইথারনেট) এবং বেতার শারীরিক স্তরগুলির জন্য ডিজাইন করা হয়েছে। সবগুলিই একই সাধারণ বার্তা ক্ষেত্র এবং কাঠামো ভাগ করে এবং প্রবেশপথের মাধ্যমে সংযুক্ত করা যেতে পারে। ইভেন্ট ভি. এস. সি. পি ইভেন্টের উপর ভিত্তি করে। প্রতিবার কোনও ইভেন্ট ঘটলে এটি অন্যান্য সমস্ত নোডের দিকে সম্প্রচারিত হয়। নেটওয়ার্কের প্রতিটি নোড ইভেন্টটি গ্রহণ করবে এবং সিদ্ধান্ত নেবে যে এই ইভেন্টটি পরিচালনা করা দরকার কি না। রেখাচিত্রে দেওয়া উদাহরণটি একটি বোতাম চাপার বর্ণনা দেয়। এর ফলে নোড 1 বাসে একটি ইভেন্ট বার্তা পাঠাবে যাতে অন্য সকলকে বোতামটি চেপে রাখা হয়েছে বলে জানানো হয়। নোড 2 বার্তাটি গ্রহণ করে কিন্তু সিদ্ধান্ত নেয় যে এই বোতামটি নোড 2-এর জন্য কোনও ইভেন্ট ট্রিগার করবে না। নোড 3 বার্তাটি গ্রহণ করে এবং সিদ্ধান্ত নেয় যে এই বোতামটি ল্যাম্প 2 চালু করার জন্য ট্রিগার করা উচিত। সব ধরনের ঘটনা ঘটতে পারেঃ একটি ইভেন্ট হতে পারে একটি বোতাম চেপে রাখা, একটি উপস্থিতি সেন্সর চালু করা বা সূর্যাস্ত। ঘটনাগুলি পর্যায়ক্রমেও পাঠানো যেতে পারে, উদাহরণস্বরূপ প্রতি মিনিটে একটি তাপমাত্রা পড়া। ভি. এস. সি. পি এমন অনেক ঘটনার পূর্বাভাস দেয় যা ঘটতে পারে। এই ঘটনাগুলিকে শ্রেণী এবং প্রকারগুলিতে সংজ্ঞায়িত করা হয়। প্রাপ্ত কোনও ইভেন্ট পরিচালনা করা উচিত কিনা তা সিদ্ধান্ত ম্যাট্রিক্স বা সংক্ষেপে ডিএম দ্বারা নির্ধারিত হয়। এছাড়াও ডিএম আরও ব্যাখ্যা করা হয়। ইভেন্ট ক্লাস এবং টাইপ ইভেন্টগুলি শ্রেণীতে সংগঠিত হয়। একটি শ্রেণী হল ঘটনাগুলির একটি সংগ্রহ যা কোনও না কোনওভাবে একত্রে থাকে। অ্যালার্ম, পরিমাপ, নিয়ন্ত্রণ, তথ্য ইত্যাদির জন্য ক্লাস রয়েছে। বর্তমানে ভি. এস. সি. পি প্রায় 25টি ক্লাস নির্দিষ্ট করে, তবে আরও অনেক ক্লাসের জন্য জায়গা রয়েছে। প্রতিটি শ্রেণীকে পর্যায়ক্রমে বিভিন্ন প্রকারে বিভক্ত করা হয়। একটি টাইপ ক্লাসের মধ্যে ইভেন্টটি আরও নির্দিষ্ট করে। উদাহরণস্বরূপ, ক্লাস 20 (0x14) এর ইভেন্টগুলি হল তথ্য ইভেন্ট। এই শ্রেণীতে একটি উপপ্রকার 1 (0x01) বাটন থাকে যা একটি বোতাম চাপার সংকেত দেয়। এই একই ইনফরমেশন ক্লাসে চালু, বন্ধ, নিম্ন সীমা ইত্যাদি সংকেত দেওয়ার প্রকারও রয়েছে। একইভাবে শ্রেণী পরিমাপে তাপমাত্রা, বিদ্যুৎ, ভোল্টেজ ইত্যাদির সংকেতের প্রকার রয়েছে। এই সমস্ত শ্রেণী এবং প্রকারগুলি সংজ্ঞায়িত হওয়ার ফলে নোডগুলি একই ভাষায় কথা বলে। প্রাক-সংজ্ঞায়িত শ্রেণী ও প্রকারের সম্পূর্ণ তালিকার জন্য ভি. এস. সি. পি উইকি দেখুন। ভি. এস. সি. পি ইভেন্ট ডেটাগ্রাম কাঠামো সম্প্রচারিত ইভেন্টগুলিতে একটি ভি. এস. সি. পি ডেটাগ্রাম গঠন করে একসাথে বেশ কয়েকটি ক্ষেত্র থাকে। ঠিক কীভাবে এই ক্ষেত্রগুলি ভৌত স্তরে ম্যাপ করা হয় তা বেশ কয়েকটি ভৌত স্তর প্রোটোকল যেমন ক্যান, ইথারনেট, টিসিপি ইত্যাদির জন্য নির্দিষ্ট করা হয়। অন্যদের জন্য এটি এখনও সংজ্ঞায়িত করা হয়নি, তবে সাধারণভাবে এই ক্ষেত্রগুলিকে একটি ভৌত স্তর প্রোটোকলে ম্যাপ করা কঠিন নয়। ভি. এস. সি. পি প্রোটোকলের 2টি স্তর রয়েছে যার নাম LEVEL I এবং LEVEL II। তারা উভয়ই মূলত একই প্রটোকল কিন্তু বিভিন্ন ক্ষেত্রের আকারে পৃথক। প্রথম স্তরটি আরও সীমাবদ্ধ সম্পদ সহ নোডগুলিতে চালানোর উদ্দেশ্যে করা হয়েছে এবং ক্ষেত্রগুলি কিছুটা বেশি রক্ষণশীলভাবে সংজ্ঞায়িত করা হয়েছে। প্রথম স্তর আসলে দ্বিতীয় স্তরের একটি উপসেট, এবং একটি উপযুক্ত গেটওয়ে ইভেন্ট সহ একটি প্রথম এবং দ্বিতীয় স্তরের নেটওয়ার্কের মধ্যে অতিক্রম করতে পারে। দ্বিতীয় স্তরটি এমন নোডগুলিতে চালানোর উদ্দেশ্যে তৈরি করা হয়েছে যার সম্পদের সীমাবদ্ধতা কম এবং বড় বার্তার আকারের সাথে সহজেই মোকাবিলা করতে পারে। সিদ্ধান্ত ম্যাট্রিক্স যখন কোনও নোড দ্বারা ইভেন্টগুলি গ্রহণ করা হয় তখন নোডকে নির্ধারণ করতে হবে যে সেই ইভেন্টের উপর ভিত্তি করে কোনও কাজ সম্পাদন করার প্রয়োজন আছে কিনা। সংক্ষেপে ডিসিশন ম্যাট্রিক্স বা ডিএম মূল্যায়ন করে এটি করা হয়। ডিএম ম্যাট্রিক্সটি বেশ কয়েকটি আই. এফ. তারপর শর্ত দিয়ে তৈরি। এই ধরনের প্রতিটি আইএফ/থেন শর্তকে একটি লাইন বলা হয় এবং একাধিক লাইন সিদ্ধান্ত ম্যাট্রিক্স তৈরি করে। আগত বার্তার শ্রেণী এবং প্রকার সর্বদা একটি ডিএম লাইন দ্বারা মূল্যায়ন করা হয়। ক্লাস এবং টাইপের মূল্যায়ন প্রথমে একটি মাস্কের মাধ্যমে ক্লাস/টাইপ পাস করে এবং তারপর একটি ফিল্টারের সাথে তুলনা করে করা হয়। এই পদ্ধতিটি একাধিক শ্রেণী/প্রকারকে ডিএম-এর 1 লাইনের জন্য একটি বৈধ শর্ত ট্রিগার করার অনুমতি দেয়। ডিএম লাইনের অন্যান্য শর্তগুলি (সেন্ডারগুইড, জোন, সাবজোন) ঐচ্ছিকভাবে মূল্যায়ন করা হয়। যদি ডিএম লাইনটি বৈধ হয় তবে অ্যাকশনটি কার্যকর করা হয়। অ্যাকশনের পাশাপাশি একটি অ্যাকশন প্যারামিটার রয়েছে। একটি উদাহরণ ক্রিয়া হবেঃ 6 ক্রিয়া পরামিতি সহ টার্ন-অন রিলে 6। রিসিভিং নোড দ্বারা ঠিক কোন ক্রিয়া সম্ভব তা নোডের নকশা দ্বারা নির্ধারিত হয়। কোন কাজগুলি সম্পাদন করা যেতে পারে তা নির্ধারণ করা ফার্মওয়্যার ডেভেলপারের উপর নির্ভর করে। তারপর এম. ডি. এফ ফাইলের সম্ভাব্য ক্রিয়া নথিভুক্ত করার মাধ্যমে (পরে দেখুন) কনফিগারেশন এস. ডব্লিউ জানতে পারবে কিভাবে এই ক্রিয়াটি নির্বাচন করতে হয়। উপযুক্ত নোড কনফিগারেশন রেজিস্টার সেট করে ডিএম পরিবর্তন করা যেতে পারে। এটি করার একটি সুবিধাজনক উপায় হল ভি. এস. সি. পি. ওয়ার্কস কনফিগারেশন এস. ডব্লিউ. ব্যবহার করা। একটি ইভেন্ট পাঠানো হচ্ছে যা একটি ডেটা পেলোডও বহন করতে পারে। এই পেলোডের বিষয়বস্তু এবং সংগঠন ইভেন্টের শ্রেণী এবং প্রকারের উপর নির্ভর করে। উদাহরণস্বরূপ, ক্লাস 10 (পরিমাপ) এবং টাইপ 6 (তাপমাত্রা) এর একটি ইভেন্ট তার পে-লোডে তাপমাত্রার তথ্য (বাইট 0, ডিগ্রি বা সেলসিয়াস দ্বারা নির্ধারিত কোডিং সহ) বহন করবে। একটি বোতাম ইভেন্ট তার ডেটাপেলোডে বোতাম এবং বোতাম অঞ্চল/সাবজোন সম্পর্কে তথ্য বহন করবে। প্রতিটি শ্রেণী/প্রকারের জন্য ডেটা ফরম্যাটিং নির্দিষ্টকরণে নির্ধারিত হয়, বিশদ বিবরণের জন্য দয়া করে উইকির পরামর্শ নিন। জোন/সাবজোন কিছু (বেশ কিছু) ইভেন্টে তাদের ডেটাপেলোডের মধ্যে একটি ফিল্ড জোন এবং একটি ফিল্ড সাবজোন থাকে। নোডগুলির গোষ্ঠীকরণ সম্ভব করার জন্য এই কার্যকারিতা উপস্থিত রয়েছে। উদাহরণস্বরূপ, আমরা নির্ধারণ করতে পারি যে একটি নির্দিষ্ট প্রদীপ নিয়ন্ত্রণকারী সমস্ত বোতাম একই গোষ্ঠীর অংশ। এটি নির্দিষ্ট পরিস্থিতিগুলির জন্য ডিএমকে সহজতর করে। প্রতিটি বোতামের জন্য ল্যাম্প নোড হিসাবে একটি ডিএম লাইন থাকার পরিবর্তে (প্রতি বোতামে 1 লাইনঃ যদি বোতাম x হয় তবে ল্যাম্প চালু করুন) আমাদের কেবল 1 ডিএম লাইন থাকতে পারে যা আইএফ (জোন ম্যাচ) তারপর চালু ল্যাম্প বলে। একাধিক নোড সুইচ একটি গ্রুপের অংশ তৈরি করা হয় নোডগুলি কনফিগার করে, নোডের ফার্মওয়্যার এই কার্যকারিতা সমর্থন করবে। একটি ভি. এস. সি. পি নোড কনফিগার করার আগে একটি নোডকে যথাযথভাবে কনফিগার করতে হবে। প্রতিটি ভি. এস. সি. পি নোড তার কার্যকারিতার জন্য তৈরি কনফিগারেশন রেজিস্টারের নিজস্ব সেট সরবরাহ করে। একটি বোতাম নোডে বোতামগুলির সাথে সম্পর্কিত অঞ্চল/সাবজোনগুলি কনফিগার করার কিছু সম্ভাবনা থাকবে। একটি তাপমাত্রা নোডের ট্রিগার মান নির্ধারণ করার কিছু সম্ভাবনা থাকবে। এছাড়াও ডিএম কনফিগার করা একটি নোড কনফিগার করার অংশ। কনফিগারেশন রেজিস্টার একটি নোড কনফিগার করা হয় রেজিস্টারে লিখে। প্রতিটি (লেভেল I) নোড 256টি রেজিস্টারের অ্যাক্সেস প্রদান করে। সর্বোচ্চ 128টি রেজিস্টার ভি. এস. সি. পি-র মূল কার্যাবলীর জন্য সংরক্ষিত। এই 128টি রেজিস্টারে আমরা নোড জি. ইউ. আই. ডি, ডাকনাম, এম. ডি. এফ এবং একটি পেজিং রেজিস্টারের মতো জিনিস খুঁজে পাই। নিচের 128টি রেজিস্টার অ্যাপ্লিকেশন নির্দিষ্ট ব্যবহারের জন্য বিনামূল্যে। যদি 128 টি রেজিস্টার যথেষ্ট না হয় তবে একটি 16 বিট পেজিং সম্ভাবনা রয়েছে। এটি অ্যাপ্লিকেশন ব্যবহারের জন্য 65536 x 128 8 বিট রেজিস্টারের অনুমতি দেয়। ক্লাস 0 ইভেন্ট ব্যবহার করে এই রেজিস্টারগুলি লেখা/পড়া হয়। ক্লাস 0 ইভেন্টগুলি হল ভি. এস. সি. পি প্রোটোকল কার্যকারিতা বার্তা যা নোডগুলি কনফিগার এবং পরিচালনার উদ্দেশ্যে করা হয়। মডিউল বর্ণনা ফাইল কোন রেজিস্টারের ট্র্যাক রাখা কোন উদ্দেশ্যে কাজ করে তা একটি চ্যালেঞ্জ হতে পারে, বিশেষ করে অ্যাপ্লিকেশন নির্দিষ্ট রেজিস্টারের জন্য। কিন্তু এখানেই মডিউল বর্ণনা ফাইল বা এম. ডি. এফ আসে। এম. ডি. এফ ফাইল হল একটি মেশিন-পঠনযোগ্য এক্স. এম. এল ফাইল যা একটি মডিউলের প্রতিটি রেজিস্টারের কার্যকারিতা বর্ণনা করে, সেই রেজিস্টারের জন্য কনফিগারেশন বিকল্প প্রদান করে ইত্যাদি। এই ফাইলটি কনফিগারেশন সফ্টওয়্যার (ভি. এস. সি. পি. ওয়ার্কস) দ্বারা ব্যবহৃত হয় মডিউলটির জন্য নির্দিষ্ট কনফিগারেশন বিকল্পগুলি দেখানোর জন্য। এম. ডি. এফ ফাইলটি নোডেই সংরক্ষণ করা যেতে পারে এবং সেখান থেকে ভি. এস. সি. পি. ওয়ার্কস দ্বারা আনা যেতে পারে, তবে সাধারণত এম. ডি. এফ ফাইলটি একটি ওয়েব সার্ভারে কোথাও হোস্ট করা একটি এক্স. এম. এল ফাইল হবে। একটি নোডকে কেবল ভি. এস. সি. পি. ওয়ার্কসকে জানাতে হবে যেখানে (ইউ. আর. এল) এক্স. এম. এল ফাইলটি পাওয়া যাবে। এই ইউ. আর. এলটি ভি. এস. সি. পি সংরক্ষিত রেজিস্টার 0xE0-0x. এফ-এ উপস্থিত রয়েছে। ভি. এস. সি. পি. ওয়ার্কস হল পিসি (লিনাক্স এবং উইন্ডোজ)-ভিত্তিক সরঞ্জাম যা নোডগুলি কনফিগার এবং পরিচালনা করে। ভি. এস. সি. পি. ওয়ার্কস স্বয়ংক্রিয়ভাবে এম. ডি. এফ ফাইল পার্স করে সেই রেজিস্টারগুলিকে মানব-পঠনযোগ্য বিন্যাসে উপস্থাপন করার অনুমতি দেয়। ভি. এস. সি. পি. ওয়ার্কস সিদ্ধান্তের ম্যাট্রিক্স নির্ধারণের জন্য উইজার্ডও সরবরাহ করে। ভি. এস. সি. পি এবং বন্ধুরা যদি ভি. এস. সি. পি প্রোটোকল হয় তবে ভি. এস. সি. পি এবং বন্ধুরা একটি সফ্টওয়্যার এপিআই, স্কিমা এবং ভি. এস. সি. পি-র চারপাশে নির্মিত বিমূর্ত স্তরের নাম দিতে ব্যবহৃত হয়। ভি. এস. সি. পি এবং ফ্রেন্ডস ড্রাইভার ব্যবহার করে লিগ্যাসি ডিভাইসগুলির স্তরযুক্ত বিমূর্তকরণের অনুমতি দেয় যা তাদের ভি. এস. সি. পি ডিভাইসের মতো দেখায়। এর অর্থ হল যে কোনও যন্ত্রকে ভি. এস. সি. পি এবং ফ্রেন্ডস কাঠামোর মাধ্যমে নিয়ন্ত্রণ ও পর্যবেক্ষণ করা যেতে পারে। ভি. এস. সি. পি এবং বন্ধুরা চারটি সাধারণ আই. ও. টি এবং এম2এম সমস্যার সমাধান করে ইউনিফর্ম ডিভাইস আবিষ্কার এবং সনাক্তকরণ। ইউনিফর্ম যন্ত্রের বিন্যাস। স্বায়ত্তশাসিত/বিতরণকৃত যন্ত্রের কার্যকারিতা। ডিভাইস ফার্মওয়্যার আপডেট/রক্ষণাবেক্ষণের অভিন্ন উপায়। তথ্যসূত্র ভি. এস. সি. পি প্রকল্পের হোমপেজ ভি. এস. সি. পি নির্দিষ্টকরণ ভি. এস. সি. পি ডকুমেন্টেশন ভি. এস. সি. পি মডিউল