এমকিউটিটি: একটি ওপেন নেটওয়ার্ক প্রোটোকল এবং আইওটিতে এর গুরুত্ব

এমকিউটিটি প্রোটোকল নেটওয়ার্ক আইওটি

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

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

নেটওয়ার্ক প্রোটোকল

ওএসআই মডেল এবং এর স্তরগুলি

The যোগাযোগ প্রোটোকল এগুলি এমন নিয়ম যা দুটি বা ততোধিক ডিভাইস বা সিস্টেমকে একে অপরের সাথে যোগাযোগের অনুমতি দেয়। এটি হ'ল সফটওয়্যার এবং হার্ডওয়্যার (বা উভয়) দ্বারা প্রয়োগ করা হোক না কেন বিভিন্ন উপায়ে এবং সংজ্ঞায়িত ফর্ম্যাট সহ তথ্য প্রেরণ করার জন্য এটি একটি প্রোটোকল।

El মান প্রোটোকলটি যোগাযোগের বৈশিষ্ট্যগুলির একটি বিশাল সংখ্যার সংজ্ঞা দেয়। এটি সিঙ্ক্রোনাইজেশন, শব্দার্থবিজ্ঞান, সিনট্যাক্স, প্যাকেট ফর্ম্যাট ইত্যাদি নিয়ম থেকে যেতে পারে from এবং সত্যটি হ'ল এগুলি কিছু তুচ্ছ নয়, যেহেতু আজ এই প্রোটোকলগুলির জন্য ধন্যবাদ আমরা ইন্টারনেট এবং অন্যান্য যোগাযোগের নেটওয়ার্কগুলি ব্যবহার করতে পারি ...

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

আইওটি প্রোটোকল সম্পর্কে

এমকিউটিটি প্রোটোকল

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

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

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

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

গুরুত্বপূর্ণ ধারণা

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

অন্যদিকে, পদ্ধতি আইওটি-র জন্য এই যোগাযোগের প্রোটোকলগুলি আপনি খুঁজে পেতে পারেন:

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

এখন, এই পদ্ধতি বা নিদর্শনগুলি সম্পাদন করতে, ক মেসেজিং অবকাঠামো। এবং এই অর্থে দুটি পৃথক করা যেতে পারে:

  • বার্তা সারি: মেসেজিং পরিষেবা যেখানে ব্রোকারের সাবস্ক্রিপশন শুরু করে এমন সমস্ত ক্লায়েন্টের জন্য একক বার্তা সারি তৈরি করা হয়। পরের বার্তাটি ক্লায়েন্টের হাতে পৌঁছে না দেওয়া পর্যন্ত সংরক্ষণ করা থাকবে। যদি ক্লায়েন্ট বা প্রাপক সংযুক্ত না থাকে তবে সংযুক্ত না হওয়া পর্যন্ত এটি বজায় থাকে। এই ধরণের পরিষেবাগুলি তাত্ক্ষণিক বার্তাপ্রেরণ অ্যাপ্লিকেশনগুলিতে যেমন টেলিগ্রা, হোয়াটসঅ্যাপ, মেসেঞ্জার ইত্যাদিতে ব্যবহৃত হয় সেগুলির মতো are
  • বার্তা পরিষেবা: এটি অন্য একটি পরিষেবা যেখানে ব্রোকার সংযুক্ত প্রাপক ক্লায়েন্টকে বার্তা প্রেরণ করে, বার্তার ধরণের মাধ্যমে ফিল্টার করে। যদি ক্লায়েন্ট বা প্রাপ্ত ডিভাইসটি সংযোগ বিচ্ছিন্ন হয়ে যায়, তবে বার্তাটি হারিয়ে যায় (যদিও এটিতে কিছু লগিং সিস্টেম থাকতে পারে)।

আইওটি প্রোটোকল

উপরোক্তটি দেখে, এখন আসুন আরও ঘুরে দেখুন আইওটি প্রোটোকল যে ভাল পরিচিত। এম 2 এম এর সর্বাধিক বিশিষ্টদের মধ্যে রয়েছে:

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

এমকিউটিটি সম্পর্কে সমস্ত

এমকিউটিটি প্যাকেজ

El এমকিউটিটি প্রোটোকল এটি একটি বার্তা ক্যু যোগাযোগের প্রোটোকল যা একটি পূবসুব ধরণ অনুসরণ করে এবং এম 2 এম টাইপের, যেমনটি আমি ইতিমধ্যে উল্লেখ করেছি। এটি আইওটিতে ব্যাপকভাবে ব্যবহৃত হয় এবং এটি ইন্টারনেটে ব্যবহৃত টিসিপি / আইপি স্ট্যাকের উপর ভিত্তি করে।

এমকিউটিটি-র ক্ষেত্রে, প্রতিটি সংযোগ খোলা রাখা হয় এবং এটি প্রতিটি প্রয়োজনীয় যোগাযোগে পুনরায় ব্যবহৃত হয়। অন্যান্য পরিচিত প্রোটোকলগুলিতে যা ঘটে তার থেকে আলাদা কিছু, যে প্রতিটি যোগাযোগ হয় তার জন্য একটি নতুন সংযোগ প্রয়োজন।

সুবিধা

আইওটি-র জন্য এম 2 এম যোগাযোগের ক্ষেত্রে এমকিউটিটি প্রোটোকলের সুবিধাগুলি বেশ স্পষ্ট ev উপরে বর্ণিত সমস্ত কিছু ছাড়াও, এটি এমন একটি প্রোটোকল যা সরবরাহ করে:

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

ইতিহাস

এমকিউটিটি 90 এর দশকে তৈরি হয়েছিল, এর প্রথম সংস্করণ দিয়ে প্রোটোকল 1999। এটি আইবিএমের ডঃ অ্যান্ডি স্ট্যানফোর্ড-ক্লার্ক এবং সিরাস লিংকের (পূর্ববর্তী ইউরোটেক) আর্লিন নিপার তৈরি করেছিলেন।

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

প্রাথমিক প্রোটোকলটি উপস্থিতির সাথে উন্নত হয়েছিল নতুন সংস্করণ, যেমন ওএআইএসআইএস এর আওতায় এমকিউটিটি ভি ৩.১ (২০১৩) (স্ট্রাকচার্ড ইনফরমেশন স্ট্যান্ডার্ডস অ্যাডভান্সমেন্ট) এর স্পেসিফিকেশন ইত্যাদি ation আপনার জানা উচিত যে শুরুতে এটি আইবিএমের মালিকানাধীন প্রোটোকল ছিল, তবে এটি ২০১০ সালে প্রকাশিত হবে এবং এটি ওএএসআইএসে একটি স্ট্যান্ডার্ড হয়ে উঠল ...

এমকিউটিটি সংযোগ কীভাবে কাজ করে

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

যেমনটি এমকিউ, বার্তাগুলি সারিতে থাকবে ক্লায়েন্ট সেই বার্তাটি না পাওয়া পর্যন্ত তারা হারিয়ে যায় না।

সংযোগগুলি, যেমনটি আমি উল্লেখ করেছি, তৈরি হয়েছে টিসিপি / আইপি এর মাধ্যমে, এবং সার্ভার বা ব্রোকার সংযুক্ত ক্লায়েন্টদের একটি রেকর্ড রাখবে। ডিফল্টরূপে, ডিভাইসগুলি যোগাযোগ পোর্টগুলি 1883 নম্বর ব্যবহার করবে, যদিও আপনি অতিরিক্ত সুরক্ষার জন্য এসএসএল / টিএলএস ব্যবহার করে 8883 বন্দরটিও পেতে পারেন।

সংযোগটি সম্ভব হওয়ার জন্য, কেবল ক্লায়েন্ট নয়, সার্ভার এবং পোর্টগুলির প্রয়োজন। অন্যরাও প্যাকেজ বা বার্তা প্রেরণ যোগাযোগ করার জন্য:

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

সেগুলো বার্তা বা প্যাকেজ আমি যেগুলির বিষয়ে কথা বললাম তার কাঠামো অন্যান্য নেটওয়ার্ক প্রোটোকলের অন্যান্য প্যাকেটের মতোই রয়েছে:

  • শিরোনাম বা স্থির শিরোনাম: একটি স্থির অংশ যা 2-5 বাইটের মধ্যে দখল করে। এটিতে একটি নিয়ন্ত্রণ কোড, প্রেরিত বার্তার আইডি এবং এর দৈর্ঘ্য রয়েছে। দৈর্ঘ্যটি এনকোড করার জন্য 1-4 বাইটের মধ্যে ব্যবহার করা হয়, দৈর্ঘ্যের জন্য ডেটা হিসাবে প্রতিটি অক্টেটের প্রথম 7 বিট এবং বার্তার দৈর্ঘ্য তৈরি করে একাধিক বাইট রয়েছে তা নির্ধারণের জন্য অতিরিক্ত একট ধারাবাহিকতা ব্যবহার করে length
  • পরিবর্তনশীল শিরোনাম: সর্বদা বাধ্যতামূলক নয়, তবে alচ্ছিক। এটি কেবলমাত্র নির্দিষ্ট পরিস্থিতিতে বা নির্দিষ্ট বার্তাগুলিতে কিছু প্যাকেজের মধ্যে রয়েছে।
  • সামগ্রী বা ডেটা data: প্যাকেট ডেটা হ'ল ম্যাসেজটি আসলে পাঠাতে হবে। এটি কয়েক কেবি থেকে 256 এমবি সীমা পর্যন্ত হতে পারে।

আপনি যদি জানতে আগ্রহী হন হেক্সাডেসিমালে সম্পর্কিত কোড প্রেরিত বার্তার ধরণের জন্য:

Mensaje কোড
যুক্ত হোন 0x10
সংযোগ 0x20
প্রকাশ 0x30
প্রকাশ করুন 0x40
পুব্রেক 0x50
প্রকাশ করুন 0x60
পুবকম্প 0x70
সাবস্ক্রাইব করুন 0x80
সাবক 0x90
আনসাবস্ক্রাইব 0xA0
ইউনসব্যাক 0xB0
পিনগ্রিক 0xC =
পিংআরএসপি 0xD0
সংযোগ বিচ্ছিন্ন 0xE0

যোগাযোগের গুণমান এবং সুরক্ষা

এমকিউটিটি-র বার্তাগুলির আর একটি গুরুত্বপূর্ণ বিবরণ হ'ল পরিষেবা বা QoS মানের, এবং সুরক্ষা। ব্যর্থতা এবং এর সুরক্ষার ক্ষেত্রে যোগাযোগ ব্যবস্থার দৃust়তা এটির উপর নির্ভর করবে।

এর গুণমান সম্পর্কে, এটি নির্ধারণ করা যেতে পারে 3 বিভিন্ন স্তর:

  • কিউএস 0 (অগ্রহণযোগ্য)- বার্তাটি কেবল একবারই প্রেরণ করা হয়েছে এবং ব্যর্থতার ক্ষেত্রে এটি সরবরাহ করা হবে না। এটি ব্যবহার করা হয় যখন এটি গুরুত্বপূর্ণ না হয়।
  • কিউএস 1 (স্বীকৃতি): গ্রাহককে বিতরণের গ্যারান্টি দেওয়ার জন্য বার্তাটি যতবার প্রেরণ করা হবে। খারাপ দিকটি হ'ল ক্লায়েন্ট একই বার্তাটি বেশ কয়েকবার পেয়েছিল।
  • কিউএস 2 (নিশ্চিত)- উপরের মতো, তবে একবারে সরবরাহ করার গ্যারান্টিযুক্ত। এটি প্রায়শই আরও সমালোচনামূলক সিস্টেমে ব্যবহৃত হয় যেখানে বৃহত্তর নির্ভরযোগ্যতার প্রয়োজন।

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

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

আরডুইনোর সাথে এমকিউটিটি ব্যবহার করা

Arduino UNO এমকিউটিটি সহ

অবশ্যই আপনি করতে পারেন আরডুইনোর সাথে এমকিউটিটি প্রোটোকল ব্যবহার করুন এবং অন্যান্য উন্নয়ন বোর্ড, পাশাপাশি র‌্যাপসবেরি পাই ইত্যাদি এটি করার জন্য, আপনাকে অবশ্যই আপনার আরডিনো বোর্ডকে সংযোগের সাথে সরবরাহ করতে হবে, যদি এটি না থাকে। এছাড়াও, গ্রন্থাগার এমকিউটিটি-র জন্য আরডুইনো ক্লায়েন্ট এটি আপনাকে এই কাজে সহায়তা করবে। এই লাইব্রেরির সাথে সামঞ্জস্যপূর্ণ:

আপনি ইতিমধ্যে জানেন যে আপনি কমান্ডটি ব্যবহার করে আপনার আরডুইনো আইডিইতে লাইব্রেরিটি ডাউনলোড এবং ইনস্টল করতে পারেন: গিট ক্লোন https://github.com/knolleary/pubsubclient.git

যত তাড়াতাড়ি এমকিউটিটি ব্যবহার করতে কোডটিতে কিছু প্রয়োগে, সত্যটি এটি সহজ। ফ্রিজিং ইমেজে আপনি একটি ফলক দেখতে পাবেন Arduino UNO যার সাথে আরডুইনো ইথারনেটের সংযোগ যুক্ত হয়েছে এবং এটি সংযুক্তও করা হয়েছে একটি ডিএইচটি 22 আর্দ্রতা এবং তাপমাত্রা সেন্সরযদিও এটি অন্য কিছু হতে পারে ...

ঠিক আছে, যা বলেছে তার সাথে কোডটি আপনাকে জেনারেট করতে হবে আরডুইনো আইডিই আরডুইনোতে এমকিউটিটি প্রোটোকলের সাথে কাজ করার জন্য, এটি এত সহজ:

  • পাড়া বার্তা প্রেরণ MQTT
#include <SPI.h>
#include <Ethernet.h>
#include <PubSubClient.h>
#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT22

// Direccion MAC del adaptador Ethernet
byte mac[] = { 0xCE, 0xAB, 0x0E, 0x3F, 0xFE, 0xD4 };

// IP del servidor (broker)
IPAddress mqtt_server(192, 168, 1, 4);

// Topic o tema con el que se trabaja
const char* topicName = "test";

DHT dht(DHTPIN, DHTTYPE);
EthernetClient ethClient;
PubSubClient client(ethClient);

void setup()
{
  Serial.begin(9600);
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Fallo en Ethernet usando DHCP");
  }
// Puerto 1883 de comunicación
  client.setServer(mqtt_server, 1883);
  dht.begin();
}

void loop()
{
  if (!client.connected()) {
    Serial.print("Conectando ...\n");
    client.connect("Cliente Arduino");
  }
  else {
    // Envío de informacion del sensor de temperatura y humedad
    float temp = dht.readTemperature();
    char buffer[10];
    dtostrf(temp,0, 0, buffer);
    client.publish(topicName, buffer);
  }
  // Tiempo entre envíos en ms (cada 10 segundos)
  delay(10000);
}

  • পাড়া বার্তা গ্রহণ করুন এমকিউটিটি দ্বারা আপনার কেবল প্লেট প্রয়োজন Arduino UNO এবং সংযোগ, আরডুইনো ইথারনেট বা অন্য কোনও উপাদানগুলির সাথে। কোড হিসাবে, একটি উদাহরণ হবে:
#include <SPI.h>
#include <Ethernet.h>
#include <PubSubClient.h>

// Direccion MAC del adaptador Ethernet
byte mac[] = { 0xCE, 0xAB, 0x0E, 0x3F, 0xFE, 0xD4 };

// IP del servidor (broker)
IPAddress mqtt_server(192, 168, 1, 4);

// Topic o tema con el que trabajr
const char* topicName = "test";

EthernetClient ethClient;
PubSubClient client(ethClient);

void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("El mensaje ha llegado [");
  Serial.print(topic);
  Serial.print("] ");
  int i=0;
  for (i=0;i<length;i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();
}

void setup()
{
  Serial.begin(9600);
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Fallo en Ethernet al usar configuración DHCP");
  }
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback)
}

void loop()
{
  if (!client.connected()) {
      Serial.print("Conectando ...");
      if (client.connect("rece_arduino")) {
        Serial.println("conectado");
        client.subscribe(topicName);
      } else {
        delay(10000);
      }
  }
  // Cliente a la escucha
  client.loop();
}

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

আরও তথ্যের জন্য, আপনি পারেন বিনামূল্যে ডাউনলোড করুন আমাদের পিডিএফ ম্যানুয়াল প্রোগ্রামিং শুরু করতে আরডুইনো আইডিই কোর্স সহ


মন্তব্য করতে প্রথম হতে হবে

আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।