MQTT এবং স্মার্ট গেটওয়ের মাধ্যমে কার্যকর ও সুরক্ষিত IoT সংযোগ

  • MQTT হালকা, নির্ভরযোগ্য এবং সুরক্ষিত পাবলিশ/সাবস্ক্রাইব-ভিত্তিক মেসেজিং প্রদান করে, যা সীমিত রিসোর্সযুক্ত IoT ডিভাইস এবং অস্থিতিশীল নেটওয়ার্কের জন্য আদর্শ।
  • MQTT গেটওয়েগুলি স্থানীয় সেন্সর এবং ক্লাউড প্ল্যাটফর্মের মধ্যে একটি সেতু হিসাবে কাজ করে, বিভিন্ন প্রোটোকলকে MQTT-তে অনুবাদ করে এবং একটি কেন্দ্রীয় ব্রোকারে ডেটা একত্রিত করে।
  • কেন্দ্রীয় ব্রোকারযুক্ত আর্কিটেকচারটি স্কেলেবিলিটি, হার্ডওয়্যার ও সফটওয়্যারের মধ্যে সংযোগ বিচ্ছিন্নতা এবং অ্যানালিটিক্স, বিগ ডেটা ও অটোমেশন পরিষেবাগুলোর সাথে ইন্টিগ্রেশন সহজতর করে।
  • শিল্প, LPWAN, লজিস্টিকস, স্মার্ট হোম এবং অটোমোটিভ ক্ষেত্রে MQTT ব্যাপকভাবে ব্যবহৃত হয়, যা বাস্তব IoT প্রজেক্টগুলোতে এর পরিপক্কতা ও বহুমুখিতা প্রমাণ করে।

ইন্টারনেট অফ থিংস MQTT

যখন আপনি সম্পর্কে কথা বলা লক্ষ লক্ষ IoT ডিভাইস সংযুক্ত করুন নির্ভরযোগ্য, হালকা ও নিরাপদ যোগাযোগের জন্য যে নামটি বারবার উঠে আসে, তা হলো: MQTT। এই প্রোটোকলটি সেন্সর, ইন্ডাস্ট্রিয়াল গেটওয়ে, স্মার্ট হোম ডিভাইস এবং ক্লাউড প্ল্যাটফর্মগুলোর জন্য একটি মূল উপাদান হয়ে উঠেছে, যা নেটওয়ার্কে অতিরিক্ত চাপ সৃষ্টি না করে বা শক্তির ব্যবহার না বাড়িয়েই যোগাযোগ স্থাপন করে।

শুধুমাত্র “আরেকটি প্রোটোকল” হওয়া তো নয়ই, ইন্টারনেট অফ থিংস-এর বাস্তব চাহিদার সাথে MQTT পুরোপুরি খাপ খায়।অস্থিতিশীল নেটওয়ার্ক, অত্যন্ত কম ব্যান্ডউইথ, খুবই সীমিত হার্ডওয়্যার, চাহিদাপূর্ণ শিল্প পরিবেশ, অথবা সাইবার ফ্যাক্টরি, এনার্জি টেলিমেট্রি বা উন্নত হোম অটোমেশনের মতো প্রায় রিয়েল-টাইম অ্যাপ্লিকেশন। আসুন শান্তভাবে এবং বিস্তারিতভাবে দেখে নেওয়া যাক এটি কীভাবে কাজ করে, IoT কানেক্টিভিটিতে এর ভূমিকা কী, একটি MQTT গেটওয়ে কী, এবং অন্যান্য বিকল্পের তুলনায় কোন নির্দিষ্ট ক্ষেত্রে এটি ব্যবহার করা বেশি যুক্তিযুক্ত।

MQTT কী এবং IoT-তে এটি কেন এত জনপ্রিয় হয়ে উঠেছে?

MQTT (Message Queuing Telemetry Transport) হলো একটি হালকা, উন্মুক্ত স্ট্যান্ডার্ড মেসেজিং প্রোটোকল বিশেষভাবে মেশিন-টু-মেশিন (M2M) যোগাযোগ এবং এর ফলস্বরূপ, ইন্টারনেট অফ থিংস-এর জন্য ডিজাইন করা হয়েছে। এর উদ্দেশ্য খুবই স্পষ্ট: দুর্বল নেটওয়ার্ক, সীমিত ব্যান্ডউইথ এবং খুব কম মেমরি বা কম্পিউটিং ক্ষমতা থাকা সত্ত্বেও ডিভাইসগুলোর মধ্যে ডেটা পাঠানো ও গ্রহণ করতে পারা।

ক্লাসিক ক্লায়েন্ট-সার্ভার মডেলের বিপরীতে, MQTT একটি প্রকাশনা/সাবস্ক্রিপশন স্থাপত্য এটি ব্রোকার নামক একটি কেন্দ্রীয় মধ্যস্থতাকারীর উপর ভিত্তি করে গঠিত। ডিভাইসগুলো সরাসরি একে অপরের সাথে যোগাযোগ করে না, বরং নির্দিষ্ট টপিকে মেসেজ প্রকাশ করে এবং নিজেদের পছন্দের টপিকে সাবস্ক্রাইব করে। এই সমস্ত মেসেজ গ্রহণ, সেগুলোকে ফিল্টার করা এবং উপযুক্ত ক্লায়েন্টদের কাছে পৌঁছে দেওয়ার দায়িত্ব ব্রোকারের।

কাজের এই পদ্ধতি MQTT তৈরি করে অত্যন্ত নমনীয় এবং সম্প্রসারণযোগ্যশত শত বা হাজার হাজার পরিচালনা-কঠিন পয়েন্ট-টু-পয়েন্ট সংযোগের পরিবর্তে, সবকিছু ব্রোকারের মাধ্যমে সমন্বিত করা হয়, যা বাস্তবায়ন এবং উপলব্ধ সংস্থানের উপর নির্ভর করে কয়েকটি ডিভাইস থেকে লক্ষ লক্ষ ডিভাইস পরিচালনা করতে পারে।

IoT-এর জন্য MQTT-এর প্রধান প্রযুক্তিগত বৈশিষ্ট্যসমূহ

হালকা ও কার্যকর প্রোটোকল

IoT-তে MQTT এত জনপ্রিয় হওয়ার অন্যতম প্রধান কারণ হলো এটি হাস্যকরভাবে হালকাডিভাইসে এটি বাস্তবায়নের জন্য খুব কম কোড এবং স্বল্প সম্পদের প্রয়োজন হয়, যা এটিকে সাধারণ মাইক্রোকন্ট্রোলার, স্বল্পমূল্যের সেন্সর বা ব্যাটারি চালিত সরঞ্জামের জন্য আদর্শ করে তোলে।

একটি MQTT নিয়ন্ত্রণ বার্তার ন্যূনতম সংস্করণে থাকতে পারে মাত্র দুই বাইট ডেটাতাছাড়া, মেসেজ হেডারগুলো খুবই সংক্ষিপ্ত, যা কমিউনিকেশন ওভারহেড কমিয়ে আনে। এই ডিজাইনটি এমন সব পরিস্থিতির জন্য নিখুঁত যেখানে ছোট ব্যান্ডউইথ অথবা ব্যয়বহুল নেটওয়ার্ক (যেমন কিছু সেলুলার নেটওয়ার্ক বা LPWAN), যেখানে প্রতিটি বাইটই গুরুত্বপূর্ণ।

HTTP-এর মতো ভারী প্রোটোকল, যার জটিল অনুরোধ এবং বিশদ হেডার রয়েছে, তার তুলনায় MQTT অনুমতি দেয় নেটওয়ার্কের ব্যবহার অপ্টিমাইজ করতেযখন প্রতি কয়েক সেকেন্ডে হাজার হাজার ডিভাইস যোগাযোগ করে, তখন এটি অত্যন্ত গুরুত্বপূর্ণ।

বিষয়সহ প্রকাশনা/সাবস্ক্রিপশন টেমপ্লেট

MQTT একটি মডেলের উপর ভিত্তি করে গঠিত। বিষয়ভিত্তিক প্রকাশনা/সাবস্ক্রিপশনএগুলো হলো টেক্সট স্ট্রিং (UTF-8 ফরম্যাটে) যা তথ্যকে বিভিন্ন স্তরে বিন্যস্ত করে। উদাহরণস্বরূপ, একটি স্মার্ট হোমে থাকতে পারে:

  • বাড়ি/বসার ঘর/তাপমাত্রা
  • বাড়ি/রান্নাঘর/ধোঁয়া
  • বাড়ি/গ্যারেজ/দরজা

বসার ঘরের একটি তাপমাত্রা সেন্সর তার পাঠগুলো টপিকে পোস্ট করবে। বাড়ি/বসার ঘর/তাপমাত্রাঅন্যদিকে, একটি মনিটরিং অ্যাপ্লিকেশন সমস্ত ইনকামিং মেসেজ পাওয়ার জন্য সেই একই টপিকে সাবস্ক্রাইব করবে। এইভাবে, নতুন ডিভাইস বা ডেটা কনজিউমার যোগ করা খুবই সহজ। উপযুক্ত বিষয় ব্যবহার করুনবিদ্যমান অবকাঠামো পরিবর্তন করার প্রয়োজন ছাড়াই।

এই সিস্টেমটি ঠিক একটি ক্লাসিক মেসেজ কিউ না হলেও, এটি কিউ-ভিত্তিক মডেলগুলোর সাথে বেশ সাদৃশ্যপূর্ণ: ডিভাইসগুলো মেসেজ তৈরি করে একটি কেন্দ্রীয় পয়েন্টে (ব্রোকার) পাঠায়, এবং তারপর প্রসেসিং সিস্টেমগুলো সেই ডেটা গ্রহণ করে। তাদের প্রয়োজন অনুযায়ী। এর ফলে সেন্সর পরিবর্তন না করেই গ্রাহকের সংখ্যা বাড়িয়ে সিস্টেমের পরিধি বাড়ানো অনেক সহজ হয়ে যায়।

পরিষেবার মান (QoS) এবং নির্ভরযোগ্যতা

অনেক IoT ডিভাইস সংযুক্ত হয় এর মাধ্যমে উচ্চ লেটেন্সি, কম ব্যান্ডউইথ এবং সীমিত নির্ভরযোগ্যতাযুক্ত নেটওয়ার্কযেমন দুর্বল মোবাইল নেটওয়ার্ক বা যানজটপূর্ণ ওয়্যারলেস লিঙ্ক। এই পরিস্থিতিতে বার্তা সরবরাহ নিশ্চিত করতে MQTT একাধিক কৌশল অন্তর্ভুক্ত করে।

প্রোটোকলটি তিনটি স্তর সংজ্ঞায়িত করে সেবার মান (QoS):

  • QoS 0 – “সর্বাধিক একবার”বার্তাটি কোনো নিশ্চিতকরণ ছাড়াই শুধু একবার পাঠানো হয়। এটি সবচেয়ে দ্রুত ও হালকা পদ্ধতি, কিন্তু এর ফলে কিছু বার্তা হারিয়ে যেতে পারে।
  • QoS 1 – “অন্তত একবার”এটি নিশ্চিত করে যে বার্তাটি পৌঁছেছে, যদিও এটি একাধিকবারও পৌঁছাতে পারে। ডেলিভারি নিশ্চিত করার জন্য একটি স্বীকৃতি ব্যবস্থা ব্যবহার করা হয়।
  • QoS 2 – “ঠিক একবার”এটি সবচেয়ে শক্তিশালী স্তর। এটি নিশ্চিত করে যে প্রতিটি বার্তা একবার এবং শুধুমাত্র একবারই বিতরণ করা হয়। চার-পর্যায়ের হ্যান্ডশেকএটি কিছুটা ভারী, কিন্তু কিছু সংবেদনশীল ক্ষেত্রে অপরিহার্য।

এই QoS স্তরগুলির কল্যাণে, MQTT-কে অভিযোজিত করা যায় বিভিন্ন ব্যবহারের ক্ষেত্রেটেলিমেট্রি থেকে, যেখানে একটি নির্দিষ্ট ডেটা হারিয়ে গেলেও কিছু হয় না, গুরুত্বপূর্ণ সিস্টেম পর্যন্ত, যেখানে একটি বার্তার প্রতিলিপি তৈরি করা বা হারিয়ে যাওয়া অগ্রহণযোগ্য হবে।

পুনঃসংযোগ এবং অস্থিতিশীল নেটওয়ার্কের ব্যবস্থাপনা

আরেকটি সুবিধা হলো যে MQTT ডিজাইন করা হয়েছে ঘন ঘন সংযোগ বিচ্ছিন্ন হওয়া পরিবেশপ্রোটোকলটিতে এমন বৈশিষ্ট্য অন্তর্ভুক্ত রয়েছে যা কোনো ডিভাইসের ব্রোকারের সাথে পুনরায় সংযোগ স্থাপনের সময় কমিয়ে আনে, যা নিম্নমানের সেলুলার বা ওয়াই-ফাই নেটওয়ার্কের ক্ষেত্রে অপরিহার্য; এটি উন্নত করে নিরাপদ ওয়াইফাই সংযোগ এই সক্ষমতাগুলোর পরিপূরক হতে পারে।

এছাড়াও, ব্রোকারটি আটকে থাকা বার্তা, সেশনের অবস্থা এবং অন্যান্য বৈশিষ্ট্য পরিচালনা করতে পারে যা ডিভাইসগুলিকে সক্ষম করে। প্রসঙ্গ না হারিয়ে যোগাযোগ পুনরায় শুরু করুন প্রতিবার যখন নেটওয়ার্ক বন্ধ হয়ে আবার চালু হয়।

নিরাপত্তা এবং এনক্রিপশন

IoT-তে নিরাপত্তা ঐচ্ছিক নয়। MQTT নিম্নলিখিত বিষয়গুলির জন্য সমর্থন অন্তর্ভুক্ত করে: এনক্রিপশন এবং প্রমাণীকরণ আধুনিক প্রোটোকলের উপর নির্ভর করা যায়: চ্যানেল এনক্রিপ্ট করার জন্য TLS 1.3, ক্লায়েন্ট সার্টিফিকেটের মাধ্যমে প্রমাণীকরণ, OAuth এবং ব্যবসা ও ক্লাউড পরিবেশে প্রচলিত অন্যান্য কৌশল ব্যবহার করা যেতে পারে।

এর ফলে বার্তাগুলো স্থানান্তরের সময় এনক্রিপ্ট করা এবং প্রয়োগ করা যায়। অ্যাক্সেস নিয়ন্ত্রণ কারা নির্দিষ্ট বিষয়ে প্রকাশ বা সাবস্ক্রাইব করতে পারবে, সে সম্পর্কে তথ্যের গোপনীয়তা ও অখণ্ডতা রক্ষা করা, যা শিল্প, জ্বালানি বা স্বাস্থ্য খাতে বিশেষভাবে প্রাসঙ্গিক।

বিভিন্ন ভাষা ও প্ল্যাটফর্মে ব্যাপক সমর্থন

MQTT আছে একাধিক ভাষায় ব্রোকার এবং ক্লায়েন্টের পরিপক্ক বাস্তবায়ন (পাইথন, সি, সি++, জাভা, জাভাস্ক্রিপ্ট, গো, ইত্যাদি) এবং একটি অত্যন্ত সক্রিয় কমিউনিটি রয়েছে। এর ফলে ডেভেলপাররা নতুন করে সবকিছু তৈরি না করেই বিদ্যমান সিস্টেম, ডেটাবেস, বিগ ডেটা টুল বা ক্লাউড সার্ভিসের সাথে IoT ডিভাইসগুলোকে সহজেই সংযুক্ত করতে পারেন।

একটি ওপেন-সোর্স প্রোটোকল হওয়ার সাথে ভালোভাবে পরীক্ষিত লাইব্রেরিএটি শেখা তুলনামূলকভাবে সহজ এবং সামঞ্জস্যজনিত সমস্যার ঝুঁকিও কম থাকে, যা ছোট প্রোটোটাইপ থেকে শুরু করে ব্যাপক পরিসরে প্রয়োগ পর্যন্ত বিভিন্ন প্রকল্পের জন্য এটিকে অত্যন্ত আকর্ষণীয় করে তোলে।

IoT আর্কিটেকচারে MQTT ব্রোকারের ভূমিকা

দালাল হল যেকোনো MQTT-ভিত্তিক আর্কিটেকচারের মূলেএটিই সেই উপাদান যা সমস্ত বার্তা গ্রহণ করে, সেগুলোকে প্রক্রিয়াজাত করে এবং সংশ্লিষ্ট টপিকগুলোতে সাবস্ক্রাইব করা ক্লায়েন্টদের কাছে বিতরণ করে।

এর প্রধান ফাংশনগুলির মধ্যে রয়েছে:

  • তথ্য প্রাপ্ত ক্লায়েন্ট কর্তৃক প্রকাশিত (সেন্সর, গেটওয়ে, অ্যাপ্লিকেশন, ইত্যাদি)।
  • বার্তা ডিকোড এবং ফিল্টার করুন বিষয়, QoS স্তর বা নিরাপত্তা নিয়মের উপর নির্ভর করে।
  • কোন গ্রাহকরা আগ্রহী তা নির্ধারণ করুন প্রতিটি বার্তায় (আপনার সাবস্ক্রিপশন অনুযায়ী)।
  • লক্ষ্য গ্রাহকদের কাছে বার্তাগুলো প্রেরণ করুন।QoS এবং অনুমোদন নীতিমালা মেনে চলা।

একাধিক ব্রোকার বাস্তবায়ন রয়েছে, উভয়ই ওপেন সোর্স এবং বাণিজ্যিকসবচেয়ে সুপরিচিতগুলোর মধ্যে একটি হলো Mosquitto, যা ঘরোয়া পরিবেশে, নির্মাতাদের কাজে এবং আরও গুরুত্বপূর্ণ স্থাপনাগুলোতে ব্যাপকভাবে ব্যবহৃত হয় এবং এটি তুলনামূলকভাবে সহজ কনফিগারেশনের মাধ্যমে অল্প কিছু থেকে হাজার হাজার ক্লায়েন্ট পরিচালনা করতে দেয়।

বাস্তবে MQTT: আরডুইনো, ESP8266 এবং স্থানীয় নেটওয়ার্ক

ইন্টারনেট অফ থিংস MQTT

অনেক ঘরোয়া বা আধা-পেশাদার IoT প্রকল্পে, একটি বেশ সাধারণ পরিস্থিতিতে দেখা যায় যে রাস্পবেরি পাই বা পিসিতে চালিত একটি MQTT ব্রোকার স্থানীয় নেটওয়ার্কের মধ্যে, এবং বিভিন্ন ডিভাইস যেমন Arduino IoT ক্লাউড রিমোট অ্যাপের সাথে Arduino অথবা ক্লায়েন্ট হিসেবে সংযুক্ত ESP8266।

উদাহরণস্বরূপ, আপনার কাছে একটি DHT22 তাপমাত্রা সেন্সর সহ একটি Arduino থাকতে পারে যা একটি টপিকে পর্যায়ক্রমিক রিডিং পোস্ট করছে, যেমন বাড়ি/বসার ঘর/তাপমাত্রাএদিকে, অন্য একটি আরডুইনো বা একটি মোবাইল অ্যাপ রিয়েল টাইমে তাপমাত্রা দেখানোর জন্য একই টপিকে সাবস্ক্রাইব করে। এক্ষেত্রে ব্রোকার, অর্থাৎ Mosquitto, প্রথম আরডুইনো থেকে মেসেজ গ্রহণ করে দ্বিতীয়টিতে পৌঁছে দেওয়ার দায়িত্বে থাকে, এবং এর জন্য তাদের একে অপরকে চেনার বা সরাসরি সংযোগ স্থাপনের কোনো প্রয়োজন হয় না।

এই স্থাপত্যের একটি বিশাল সুবিধা আছে: এটা প্রায় অনায়াসেই সম্প্রসারণযোগ্য।ইতিমধ্যে স্থাপন করা ডিভাইসগুলির আচরণ পরিবর্তন না করেই আপনি আরও সেন্সর, আরও ডেটা গ্রাহক যোগ করতে পারেন এবং সেগুলিকে ডেটাবেস, মেশিন লার্নিং সিস্টেম বা ভিজ্যুয়ালাইজেশন ড্যাশবোর্ডের সাথে সংযুক্ত করতে পারেন। আপনাকে শুধু টপিক এবং সাবস্ক্রিপশন নিয়ে পরীক্ষা-নিরীক্ষা করতে হবে।

কেন শুধু HTTP নয়, MQTT?

একটি খুব সাধারণ প্রশ্ন হলো, MQTT ব্যবহার করা আদৌ যুক্তিযুক্ত কিনা, যখন আপাতদৃষ্টিতে সবকিছু সমাধান করা যায়... সরাসরি HTTP অনুরোধ একটি ESP8266 বা অনুরূপ ডিভাইসে, রাউটারে একটি পোর্ট খুলে দিলেই হয়ে যায়, অথবা এমনকি এর মাধ্যমেও অ্যান্ড্রয়েডে ওয়েবসকেটস.

উত্তরটি হলো যে, প্রযুক্তিগতভাবে সম্ভব হলেও, MQTT বেশ কিছু গুরুত্বপূর্ণ সুবিধা প্রদান করে:

  • গড় লেটেন্সি কম এবং ওভারহেড কম ঘন ঘন যোগাযোগের ক্ষেত্রে, বিশেষ করে প্রতি কয়েক সেকেন্ড পরপর পাঠানো সংক্ষিপ্ত বার্তার ক্ষেত্রে।
  • নেটিভ পাব/সাবমোবাইল ফোনটির প্রতিটি ডিভাইসের সাথে সরাসরি যোগাযোগ করার প্রয়োজন নেই; এটির শুধু ব্রোকারের সাথে যোগাযোগ করা প্রয়োজন।
  • কেন্দ্রীয় নিরাপত্তা এবং প্রমাণীকরণ ব্যবস্থাপনা প্রতিটি ডিভাইসে লজিক প্রতিলিপি করার পরিবর্তে, ব্রোকারেই এটি করা হয়।
  • স্কেল করার সহজতাআগামীকাল যদি আপনি ৫টি থেকে ৫০০টি ডিভাইসে উন্নীত হন, তাহলে আপনাকে ৫০০টি পোর্ট খুলতে বা সম্পূর্ণ টপোলজি নতুন করে ডিজাইন করতে হবে না।
  • পুনঃসংযোগ এবং QoS এর জন্য নেটিভ সমর্থন অস্থিতিশীল নেটওয়ার্কের কথা ভাবা, যা HTTP ডিফল্টভাবে প্রদান করে না।

সাধারণত, আপনার মোবাইল অ্যাপটি MQTT ব্রোকারের সাথে সংযুক্ত হবে (হয় পোর্ট ফরওয়ার্ডিং ব্যবহার করে LAN-এর মধ্যে, অথবা কোনো ক্লাউড ব্রোকারের সাথে), এবং একটি কন্ট্রোল টপিকে একটি মেসেজ পাবলিশ করবে (উদাহরণস্বরূপ বাড়ি/বসার ঘর/আলো/সেট), এবং সেই টপিকে সাবস্ক্রাইব করা ESP8266 প্রায় সঙ্গে সঙ্গেই কমান্ডটি পেয়ে যেত। আপনাকে শুধু ব্রোকারের নাম প্রকাশ করতে হবে।নেটওয়ার্কের সব ডিভাইস নয়।

io.adafruit.com-এর মতো পরিষেবা এবং সেগুলোর সক্রিয়করণের সময়সীমা (ফ্রি সংস্করণে প্রতি ১৫ মিনিটে, পেইড সংস্করণে প্রতি ৫ সেকেন্ডে) সম্পর্কে বলতে গেলে, নির্দিষ্ট পরিষেবার সীমাবদ্ধতাসমস্যাটা MQTT প্রোটোকলটির নিজের নয়। প্রোটোকলটি নিজেই খুব কম ল্যাটেন্সি সমর্থন করে; সমস্যাটি হলো, প্রোভাইডার ব্যবহারের ফ্রিকোয়েন্সি বা পুনরাবৃত্তির উপর সীমাবদ্ধতা আরোপ করে।

WebRTC এবং SDK ব্যবহার করে ভিডিও কল এবং রিয়েল-টাইম স্ট্রিমিং
সম্পর্কিত নিবন্ধ:
WebRTC এবং SDK ব্যবহার করে ভিডিও কল এবং রিয়েল-টাইম স্ট্রিমিং

MQTT গেটওয়ে: সেন্সর এবং ক্লাউডের মধ্যে সংযোগকারী প্রবেশদ্বার

MQTT গেটওয়ে বলতে কী বোঝায়?

তথাকথিত “MQTT গেটওয়ে” বা MQTT গেটওয়ে মূলত একটি সেন্সর বা স্থানীয় ডিভাইস এবং IoT প্ল্যাটফর্ম বা MQTT ব্রোকারের মধ্যে মধ্যস্থতাকারী ডিভাইসএর প্রধান কাজ হলো বিভিন্ন প্রোটোকলের (যেমন, ব্লুটুথ, তারযুক্ত সেন্সর, মডবাস, ইত্যাদি) মাধ্যমে ডেটা সংগ্রহ করা, সেগুলোকে MQTT-তে রূপান্তর করা এবং ক্লাউডে বা কোনো কেন্দ্রীয় ব্রোকারে পাঠিয়ে দেওয়া।

অনেক ক্ষেত্রে, একটি MQTT গেটওয়ে বাস্তবায়িত হয় নির্দিষ্ট সফ্টওয়্যার সহ ইথারনেট গেটওয়ে যা একটি MQTT ক্লায়েন্ট হিসেবে কাজ করে। এই গেটওয়েতে রেডিও ইন্টারফেস, ইন্ডাস্ট্রিয়াল ইনপুট ও আউটপুট, অথবা ফিল্ডবাস কানেক্টিভিটি থাকতে পারে এবং এই সবকিছুকে একীভূত করার জন্য সেগুলোকে MQTT ভাষায় অনুবাদ করার দায়িত্ব এর উপর বর্তায়।

MQTT গেটওয়ের সুবিধাসমূহ (ব্লুটুথ MQTT সহ)

MQTT-ভিত্তিক গেটওয়ে, বিশেষ করে যেগুলিতে ব্লুটুথ সমন্বিত থাকে, বেশ কিছু আকর্ষণীয় সুবিধা প্রদান করে:

  • খুব হালকা বার্তাযা অনেকগুলো সেন্সর একই সাথে ডেটা পাঠালেও যোগাযোগকে কার্যকর করে তোলে।
  • দ্বিমুখী বার্তা আদানপ্রদানএগুলো শুধু আপলিঙ্ক টেলিমেট্রিই নয়, ক্লাউড-টু-ডিভাইস এবং ডিভাইস-টু-ক্লাউড উভয় প্রকার যোগাযোগের সুযোগ দেয়।
  • নির্ভরযোগ্য ডেলিভারি QoS লেভেল দ্বারা সমর্থিত, যা নিশ্চিত করে যে মেসেজগুলো কনফিগার করা গ্যারান্টি লেভেল অনুযায়ী পৌঁছাবে।
  • অন্তর্নির্মিত নিরাপত্তাগেটওয়েগুলো সাধারণত TLS এনক্রিপশন এবং সার্টিফিকেট অথেন্টিকেশন সমর্থন করে, ফলে গেটওয়ের মধ্য দিয়ে প্রবাহিত ডেটা নিরাপদে ক্লাউডে পৌঁছায়।

এর ক্ষেত্রে ক MQTT ব্লুটুথ গেটওয়েডিভাইসটি তার সীমার মধ্যে থাকা সমস্ত BLE সেন্সর স্ক্যান করে শনাক্ত করে, সেগুলোর সাথে যোগাযোগ পরিচালনা করে এবং MQTT ব্রোকারে ডেটা প্রেরণকে কেন্দ্রীভূত করে। IoT প্ল্যাটফর্মের দৃষ্টিকোণ থেকে, এই সমস্ত ব্লুটুথ সেন্সরগুলো "MQTT-তে কথা বলে", যদিও বাস্তবে তারা গেটওয়ের মাধ্যমেই এই কাজটি করে থাকে।

একটি MQTT গেটওয়ে কীভাবে কাজ করে এবং কীভাবে এটি কনফিগার করতে হয়

সাধারণভাবে, একটি MQTT গেটওয়ের সাধারণ কার্যপ্রবাহ হলো:

  1. এর সীমার মধ্যে থাকা সেন্সর এবং ডিভাইস স্ক্যান ও শনাক্ত করে (যেমন, ব্লুটুথ বা তারযুক্ত নেটওয়ার্কের মাধ্যমে)।
  2. তথ্য সংগ্রহ করুন সেই সেন্সরগুলো থেকে সংশ্লিষ্ট প্রোটোকলগুলোর মাধ্যমে।
  3. সেই ডেটা MQTT ফরম্যাটে রূপান্তর করুন (উপযুক্ত টপিক এবং পেলোড নির্ধারণ করে)।
  4. ব্রোকারে ডেটা প্রকাশ করুন অথবা নির্বাচিত IoT প্ল্যাটফর্মে।

একটি ফিজিক্যাল গেটওয়ের কনফিগারেশনের জন্য প্রথমে যা করতে হয় তা হলো হার্ডওয়্যার সমাবেশসঠিক ক্যাবলিং, সেন্সর সংযোগ এবং রেডিও মডিউলের মধ্যে পৃথকীকরণ, এবং নেটওয়ার্কে একটি অনন্য শনাক্তকরণ নিশ্চিত করার জন্য পোর্ট, ম্যাক অ্যাড্রেস ও একটি স্ট্যাটিক আইপি নির্বাচন।

এরপর, আপনি সেই মডিউলটি বেছে নেবেন যেটি MQTT ক্লায়েন্ট চালাবে, উদাহরণস্বরূপ:

  • আরডুইনো + W5100 ইথারনেট মডিউল.
  • ESP8266 মডিউল ওয়াইফাই সংযোগ সহ।

ফার্মওয়্যারটি সংজ্ঞায়িত করে প্রকাশনা এবং সাবস্ক্রিপশন বিষয়উদাহরণস্বরূপ, একটি উপসর্গ যেমন MY_MQTT_PUBLISH_TOPIC_PREFIX/FROM_NODE_ID/SENSOR_ID যেমন বিষয় তৈরি করতে পারে mygateway1-out/2/1/1/0/49অন্যদিকে, সেন্সরগুলিতে কমান্ড পাঠানোর জন্য একটি সাবস্ক্রিপশন প্রিফিক্স ব্যবহার করা হবে, যেমন MY_MQTT_SUBSCRIBE_TOPIC_PREFIXএই ধরণের বিষয়ের উদ্ভব mygateway1-in/2/1/1/0/49.

একবার কনফিগার করা হয়ে গেলে, Mosquitto-এর মতো একটি সুপরিচিত ব্রোকারের সাথে MQTT গেটওয়েটি পরীক্ষা করে দেখার জন্য দৃঢ়ভাবে সুপারিশ করা হয়। বার্তাগুলো সঠিকভাবে গৃহীত হয়েছে কিনা তা যাচাই করুন।এগুলো প্রত্যাশিত বিষয়গুলোতে প্রকাশিত হয় এবং সাবস্ক্রাইব করা ডিভাইসগুলো যা পাওয়ার কথা, তা পেয়ে যায়।

কেন্দ্রীয় সার্ভারের সাথে সংযোগকারী সেতু হিসেবে MQTT গেটওয়ে

যখন আপনি একাধিক ভৌতিক অবস্থানে MQTT ডিভাইস স্থাপন করেন, তখন সাধারণত আপনার প্রয়োজন হয় সেই সমস্ত ডেটা একটি শেয়ার্ড সার্ভারে একত্রিত করুন অথবা একটি কেন্দ্রীভূত ক্লাউড প্ল্যাটফর্মে। এখানেই MQTT গেটওয়ে একটি সেতু হিসেবে তার কার্যকারিতা দেখায়।

মূল ধারণাটি হলো, যেখানেই IoT ডিভাইস রয়েছে, সেখানেই একটি করে MQTT গেটওয়ে ইনস্টল করা। প্রতিটি গেটওয়ে তার স্থানীয় পরিবেশ থেকে তথ্য সংগ্রহ করে, এটি যোগ করুন এবং ফরোয়ার্ড করুন MQTT ব্যবহার করে একটি কেন্দ্রীয় সার্ভারে (বা ক্লাউড ব্রোকারে) ডেটা পাঠানো যায়। এর মাধ্যমে আপনি স্থানীয় নিয়ন্ত্রণ না হারিয়ে এবং নেটওয়ার্কের সর্বোত্তম ব্যবহার নিশ্চিত করে সমস্ত ডেটার একটি সার্বিক চিত্র পেতে পারেন।

এছাড়াও, এই গেটওয়েগুলি পারে নিজস্ব সার্টিফিকেট দিয়ে সুরক্ষিতTLS এনক্রিপশন এবং প্রমাণীকরণ ব্যবস্থা গেটওয়ের "পেছনে" থাকা সেন্সর এবং IoT এজকে সুরক্ষিত রাখে। এগুলি স্থানীয়ভাবে তথ্য সংরক্ষণ করতে, কাছাকাছি থাকা ডিভাইসগুলি পরিচালনা করার জন্য ইউজার ইন্টারফেসকে মানিয়ে নিতে এবং প্রয়োজন অনুযায়ী অন্যান্য শিল্প প্রোটোকলের সাথে সামঞ্জস্যতা যোগ করতে পারে।

ক্লাউড প্ল্যাটফর্ম এবং অন্যান্য প্রোটোকলের সাথে MQTT-এর সামঞ্জস্যতা

MQTT-এর অন্যতম প্রধান শক্তি হলো এটি বেশিরভাগ প্রধান ক্লাউড IoT প্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণঅনেক শিল্পক্ষেত্রে ব্যবহৃত MQTT গেটওয়ে নিম্নলিখিত বিষয়গুলোর সাথে প্রমিতভাবে কাজ করে:

  • Azure IoT.
  • গুগল ক্লাউড আইওটি.
  • এডব্লিউএস আইওটি.
  • আইবিএম ওয়াটসন আইওটি.

গেটওয়েটি সেন্সরগুলো থেকে প্রাপ্ত ডেটা ব্যাখ্যা করে এবং এটি সেগুলোকে MQTT ফরম্যাটে প্ল্যাটফর্মে প্রেরণ করে।ব্যবহারকারীরা যেকোনো সময় তথ্য দেখতে বা প্রক্রিয়া করতে শুধুমাত্র প্রাসঙ্গিক বিষয়গুলিতে সাবস্ক্রাইব করলেই চলবে।

তাছাড়া, এই ক্যাটওয়াকগুলোর অনেকগুলোই হিসেবে কাজ করতে পারে প্রোটোকল রূপান্তরকারীModbus TCP-এর মতো নেটওয়ার্কগুলোকে MQTT-এর সাথে একীভূত করে এবং ডিভাইসগুলোর গ্রুপ পরিচালনা করার জন্য রিমোট ওয়েব প্যানেল সরবরাহ করার মাধ্যমে, MQTT হাইব্রিড আর্কিটেকচারের একটি কেন্দ্রীয় উপাদান হয়ে ওঠে, যেখানে পুরোনো সিস্টেমগুলো নতুন IoT সলিউশনের সাথে সহাবস্থান করে।

MQTT এবং IoT-এর বাস্তব ব্যবহার

শিল্প পরিবেশ এবং টেলিমেট্রি

শিল্প জগতে, MQTT ইতিমধ্যেই একটি টেলিমেট্রি ডেটা প্রেরণের জন্য কার্যত আদর্শ কারখানা, খনি কার্যক্রম, তেল ও গ্যাস স্থাপনা, বা কৃষি-খাদ্য সংস্থাগুলিতে বিতরণ করা সেন্সর এবং সরঞ্জাম থেকে।

কোম্পানিগুলো অসংখ্য সেন্সর স্থাপন করে যা তাপমাত্রা, চাপ, প্রবাহ, কম্পন এবং শক্তি খরচের মতো পরামিতি পরিমাপ করে। এই ডেটা MQTT-এর মাধ্যমে অ্যানালিটিক্স সিস্টেমে পাঠানো হয় যা তারা অসঙ্গতি, প্রবণতা এবং উন্নতির সুযোগ শনাক্ত করে। কার্যক্রমে। এর ফলে, প্রক্রিয়াগুলোকে উন্নত করা যায়, ব্যর্থতা আগে থেকে অনুমান করা যায় এবং অপরিকল্পিত কর্মবিরতি কমানো যায়।

স্বল্প-শক্তির বিস্তৃত এলাকা নেটওয়ার্ক (LPWAN)

LPWAN (লো পাওয়ার ওয়াইড এরিয়া নেটওয়ার্ক) নেটওয়ার্কগুলো ডিজাইন করা হয়েছে যাতে খুব কম শক্তির ডিভাইস যা দীর্ঘ দূরত্বে ছোট বার্তা পাঠায়সাধারণত, উচ্চ ল্যাটেন্সি এবং সীমিত ব্যান্ডউইথযুক্ত নেটওয়ার্কগুলো সমস্যাজনক হয়। এই ধরনের পরিবেশের জন্য MQTT একটি আদর্শ সমাধান, কারণ এর মেসেজগুলো লাইটওয়েট, এটি কোয়ালিটি অফ সার্ভিস সমর্থন করে এবং অনির্ভরযোগ্য নেটওয়ার্কের সাথে নিজেকে মানিয়ে নিতে পারে।

যেসব কোম্পানি ক্লাউড সলিউশনে সেন্সর ডেটা পাঠাতে LPWAN ব্যবহার করে, তাদের ক্ষেত্রে MQTT সক্ষম করে তোলে। বিপুল পরিমাণে বার্তা প্রেরণ করুন নেটওয়ার্কে চাপ সৃষ্টি না করে এবং যথাসম্ভব ডেটা যাতে বিশ্লেষণ ও পর্যবেক্ষণ সিস্টেমে পৌঁছায় তা নিশ্চিত করা।

সামাজিক নেটওয়ার্ক এবং গণ বার্তা

চিরায়ত শিল্প পরিবেশের বাইরে MQTT ব্যবহারের একটি উল্লেখযোগ্য উদাহরণ হলো ফেসবুকযেখানে এটি রিয়েল টাইমে বিপুল পরিমাণ বার্তা পরিচালনার জন্য প্রাথমিক যোগাযোগ প্রোটোকল হিসেবে ব্যবহৃত হয়ে আসছে। এটি ইনস্টাগ্রামের মতো প্ল্যাটফর্মে বার্তা প্রেরণেও ভূমিকা পালন করে।

এত বড় একটি কোম্পানি যে MQTT-এর ওপর বাজি ধরছে, তা এই ধারণাকে আরও শক্তিশালী করে যে এটি একটি উচ্চ-একযোগে কাজ করার পরিস্থিতির জন্য উপযুক্ত, শক্তিশালী এবং পরিমাপযোগ্য প্রোটোকলশুধু ছোট IoT প্রোজেক্টের জন্য নয়।

স্মার্ট হোম এবং হোম অটোমেশন

ঘরোয়া ক্ষেত্রে, MQTT অন্যতম হয়ে উঠেছে স্মার্ট হোম স্বয়ংক্রিয় করার জন্য পছন্দের প্রোটোকলএটি অ্যাজুর বা আইবিএম ওয়াটসনের মতো ক্লাউড প্ল্যাটফর্মের পাশাপাশি স্থানীয় অটোমেশন সিস্টেমের সাথেও নির্বিঘ্নে সমন্বিত হয়।

MQTT দিয়ে আপনি নিরীক্ষণ করতে পারেন বাড়িতে শক্তি খরচরিয়েল টাইমে আলো নিয়ন্ত্রণ করা, তাপমাত্রা বা বায়ুর গুণমান পর্যবেক্ষণ করা, এবং একাধিক ডিভাইস (থার্মোস্ট্যাট, ব্লাইন্ড, সেচ ব্যবস্থা, ইত্যাদি) সমন্বয় করা, যার মধ্যে নিম্নলিখিত ডিভাইসগুলিও অন্তর্ভুক্ত রয়েছে: শাওমি ভেলাপ্রতিটি ডিভাইসকে একে অপরের সাথে সরাসরি যোগাযোগ না করেই। উদাহরণস্বরূপ, একটি MQTT ব্লুটুথ গেটওয়ে একটি বাড়ির সমস্ত BLE সেন্সরকে কেন্দ্রীভূত করতে এবং সেগুলিকে একটি একক ব্রোকারের সাথে সংযুক্ত করতে পারে।

মোটরগাড়ি বিভাগ

মোটরগাড়ি শিল্পে ডিজিটাল রূপান্তরের মধ্যে যানবাহন, উৎপাদন লাইন এবং ব্যবস্থাপনা সিস্টেমকে সংযুক্ত করা অন্তর্ভুক্ত। MQTT ব্যবহৃত হয় ক্লাউড এবং গাড়ির মধ্যে নির্ভরযোগ্য বার্তা আদান-প্রদানের চ্যানেলটেলিমেট্রি ডেটা প্রেরণ, দূরবর্তী ডায়াগনস্টিকস এবং প্যারামিটার আপডেট করার সুবিধা দেয়।

পরিবর্তনশীল মোবাইল সংযোগ ব্যবস্থাতেও প্রায় রিয়েল টাইমে যোগাযোগ করার এই ক্ষমতা, MQTT-কে গাড়ি নির্মাতা এবং পরিষেবা প্রদানকারীদের জন্য একটি অত্যন্ত আকর্ষণীয় বিকল্প করে তুলেছে।

পরিবহন এবং রসদ

পরিবহন ও সরবরাহ ব্যবস্থায়, সক্ষমতা চলমান যানবাহন ও পণ্যের গতিবিধি ট্র্যাক করুন এটি অত্যন্ত গুরুত্বপূর্ণ। কন্টেইনারের অবস্থান, কার্গোর অবস্থা, দরজা খোলার ঘটনা, বা ভেতরের পরিবেশগত পরিস্থিতি সম্পর্কিত ডেটা পাঠাতে MQTT ব্যবহার করা হয়।

লাইটওয়েট মেসেজিং এবং ব্রোকার-ভিত্তিক আর্কিটেকচার ব্যবহার করে এটি সম্ভব রিয়েল টাইমে বিশাল নৌবহর পর্যবেক্ষণ করুন কম ল্যাটেন্সিতে এবং সংযোগের জন্য ব্যবহৃত মোবাইল বা স্যাটেলাইট নেটওয়ার্ককে ওভারলোড না করে।

পরিমাপযোগ্য স্থাপত্য এবং হার্ডওয়্যার ও সফ্টওয়্যারের মধ্যে বিচ্ছিন্নতা

একটি IoT প্রকল্পে MQTT গ্রহণ করার অন্যতম প্রধান সুবিধা হলো এটি সুযোগ করে দেয় হার্ডওয়্যার স্তরকে সফ্টওয়্যার স্তর থেকে স্পষ্টভাবে আলাদা করুনসেন্সর এবং ডিভাইসগুলোর কাজ শুধু একটি ব্রোকারে ডেটা পাঠানো এবং নির্দিষ্ট টপিক থেকে কমান্ড গ্রহণ করা; এরপর যা কিছু ঘটে (সংরক্ষণ, বিশ্লেষণ, ভিজ্যুয়ালাইজেশন) তা স্বাধীনভাবে বিকশিত হতে পারে।

এই পদ্ধতিটি প্রায়শই মনে করিয়ে দেয় মাইক্রোসার্ভিসেস প্যাটার্নযেখানে প্রতিটি উপাদান একটিই কাজ করে এবং তা ভালোভাবে করে। আমাদের ক্ষেত্রে, হার্ডওয়্যার ডিভাইসটি পরিমাপ এবং প্রকাশের উপর মনোযোগ দেয়; অন্যান্য পরিষেবাগুলো প্রক্রিয়াকরণ, সংরক্ষণ, দৃশ্যায়ন বা কৃত্রিম বুদ্ধিমত্তা প্রয়োগের কাজগুলো সামলায়, এবং এর জন্য সেন্সরটির সে সম্পর্কে কোনো কিছু "জানার" প্রয়োজন হয় না।

এই বিচ্ছিন্নতার ফলে, যদি আগামীকাল আপনি একটি রাস্পবেরি পাই-তে থাকা সাধারণ ভিজ্যুয়ালাইজেশন ওয়েবসাইট থেকে অন্য কোনো ওয়েবসাইটে যাওয়ার সিদ্ধান্ত নেন, বিগ ডেটা এবং মেশিন লার্নিং এর জটিল ব্যবস্থা ক্লাউডে, আপনার সেন্সরগুলো স্পর্শ করার প্রয়োজন নেই। সেগুলো ব্রোকারে ডেটা পাঠাতে থাকবে, এবং আপনাকে শুধু সেইসব নতুন গ্রাহকদের সংযুক্ত করতে হবে যারা বিদ্যমান টপিকগুলোতে সাবস্ক্রাইব করে।

অ্যান্ড্রয়েডের জন্য Arduino IoT Cloud Remote অ্যাপটি কীসের জন্য?
সম্পর্কিত নিবন্ধ:
অ্যান্ড্রয়েডের জন্য Arduino IoT Cloud Remote অ্যাপটি কী এবং কীভাবে এটি থেকে সর্বাধিক সুবিধা পাবেন?

একত্রে, MQTT এবং এর সংশ্লিষ্ট গেটওয়েগুলো একটি সমাধান গঠন করে। IoT সংযোগের জন্য খুবই শক্তিশালীহালকা, সম্প্রসারণযোগ্য, সুরক্ষিত, প্রধান ক্লাউড প্ল্যাটফর্মগুলোর সাথে সামঞ্জস্যপূর্ণ এবং LPWAN থেকে শুরু করে বাড়ির ওয়াইফাই বা ইন্ডাস্ট্রিয়াল ইথারনেট পর্যন্ত সব ধরনের নেটওয়ার্ক সমর্থন করে। এই সবকিছু, এর পাবলিশ/সাবস্ক্রাইব মডেল এবং প্রোটোকল সংযোগ স্থাপনকারী গেটওয়ে যুক্ত করার ক্ষমতার সাথে মিলিত হয়ে, এটিকে ইন্টারনেট অফ থিংস-এর বর্তমান ও ভবিষ্যৎ নির্মাণের অন্যতম প্রধান উপাদানে পরিণত করেছে। তথ্যটি শেয়ার করুন যাতে আরও বেশি ব্যবহারকারী বিষয়টি সম্পর্কে জানতে পারেন।.


পছন্দের উৎস হিসেবে যোগ করুন