সুচিপত্র:
ভিডিও: স্মার্টহোম ওয়্যারলেস কমিউনিকেশন: এমকিউটিটির চূড়ান্ত বুনিয়াদি: 3 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
MQTT বুনিয়াদি:
** আমি একটি হোম অটোমেশন সিরিজ করতে যাচ্ছি, ভবিষ্যতে আমি যা করেছি তা শিখতে আমি যে পদক্ষেপগুলি নিয়েছি তা দিয়ে যাচ্ছি। এই নির্দেশযোগ্যটি আমার ভবিষ্যতের নির্দেশাবলীতে ব্যবহারের জন্য MQTT কিভাবে সেটআপ করা যায় তার ভিত্তি। যাইহোক, এই বিষয়বস্তুর শিক্ষাগুলি যে কোনও প্রকল্পের জন্য প্রযোজ্য হবে।
ইন্টারনেট অফ থিংস:
ইন্টারনেট অফ থিংস বিশ্বজুড়ে, বিশেষ করে আমাদের নিজস্ব সম্প্রদায়ের মতো এখানে Instructables এ। যখন থেকে আমি এই সম্প্রদায়ের সাথে যোগদান করেছি তখন থেকে এটি মানুষ নির্মাণের সাথে জড়িত
ইন্টারনেটের সাথে সংযুক্ত এবং নিয়ন্ত্রিত ডিভাইস। ইন্টারনেট অফ থিংসের সাথে কাজ করার সময় MQTT প্রটোকল দ্বারা না আসা কঠিন। এটি একটি কমিউনিকেশন প্রোটোকল যা অন্যরা আজ ইন্টারনেটে ব্যবহার করে যেমন HTTP বা FTP, তবে এটি যেভাবে কাজ করে তা ভিন্ন যা এটি ইন্টারনেট অফ থিংস অ্যাপ্লিকেশনের জন্য আদর্শ করে তোলে।
MQTT কি?
MQTT (মেসেজ কুইং টেলিমেট্রি ট্রান্সপোর্ট হল একটি পাবলিশ/সাবস্ক্রাইব আর্কিটেকচার ব্যবহার করে একটি লাইটওয়েট কমিউনিকেশন প্রোটোকল। HTTP, যা ইন্টারনেটের অধিকাংশই ব্যবহার করে, একটি রিকোয়েস্ট/রেসপন্স সিস্টেমের উপর নির্মিত। এর মানে হল এটি একটি ক্লায়েন্টের কাছ থেকে একটি অনুরোধ পায় এবং পাঠায় সেই ক্লায়েন্টের প্রতি একটি প্রতিক্রিয়া। MQTT- এর একটি সার্ভার (একটি ব্রোকার বলা হয়) সেইসাথে অনেক ক্লায়েন্ট রয়েছে। HTTP এর বিপরীতে, MQTT ক্লায়েন্টদের নির্দিষ্ট "বিষয়" প্রকাশ বা সাবস্ক্রাইব করার অনুমতি দেয়। একটি কেন্দ্রীভূত পয়েন্ট, দালাল। প্রতিটি নোড ব্রোকারের একটি বিষয়ে প্রকাশ করতে পারে, এবং সেই টপিকে সাবস্ক্রাইব করা যেকোনো নোডই বার্তাটি গ্রহণ করবে।
পুরো সিস্টেম ইভেন্ট-চালিত এবং ব্রোকারের বার্তাগুলি প্রতিটি সাবস্ক্রাইব করা ক্লায়েন্টের কাছে ঠেলে দেওয়ার অনুমতি দেয়। তাই HTTP এর পরিবর্তে, যেখানে ক্লায়েন্ট তথ্যের জন্য অনুরোধ করে, ক্লায়েন্ট তথ্য প্রাপ্তির পর সরাসরি ব্রোকারের কাছ থেকে ধাক্কা দেয়। এখানে বিল্ট-ইন পরিষেবা রয়েছে যেমন বিভিন্ন সুরক্ষার জন্য অনুমতি দেয়, যেমন QOS স্পেসিফিকেশন। একটি QOS স্পেসিফিকেশন একটি ব্রোকারকে নির্ধারণ করতে দেয় যে বার্তাটি একবারে, কমপক্ষে একবার, বা ঠিক একবার প্রদান করা প্রয়োজন কিনা। এটি নিশ্চিত করে যে প্রতিটি ক্লায়েন্টকে প্রয়োজনীয় উপায়ে ডেটা সরবরাহ করা হয়। ক্লায়েন্টরা অনুরোধ করতে পারেন যে তাদের বিষয়ে প্রকাশিত বার্তাগুলি ব্রোকারে বাফার করা হয় যদি তারা কোনও কারণে এটি থেকে সংযোগ বিচ্ছিন্ন হয়ে যায়। একবার এটি অনলাইনে ফিরে আসলে, সেই ডেটা ক্লায়েন্টের কাছে ঠেলে দেওয়া হবে।
একটি বিষয় বিশেষ কিছু নয়, এটি কেবল বিভিন্ন ধরণের স্ট্রিং যা স্ল্যাশ দ্বারা একত্রিত এবং পৃথক করা হয়। উদাহরণের ফর্ম্যাট যা নীচে ব্যবহার করা হবে তা হল: হোম/বেডরুম/সিলিং_লাইট। একটি সাবটপিক বোঝাতে প্রতিটি স্ল্যাশ একটি বিষয়ের পরে স্থাপন করা হয়। সুতরাং বাড়িতে একটি বার্তা প্রকাশ করা যেতে পারে, যেখানে বাড়ির সমস্ত ডিভাইস এটি গ্রহণ করবে। এটি সরাসরি হোম/বেডরুমে প্রকাশিত হতে পারে, যেখানে বেডরুমের সমস্ত ডিভাইস বার্তা পাবে। এবং এটি নির্দিষ্ট ডিভাইসে যেতে পারে যেমন প্রথম দেখানো হয়েছে হোম/বেডরুম/সিলিং_লাইট যেখানে শোবার ঘরে কেবল সিলিং লাইটই বার্তা পাবে। যেভাবে আমরা একটি সম্পূর্ণ ইকোসিস্টেম পর্যন্ত এইভাবে পৃথক ডিভাইসগুলি বিমূর্ত করতে পারি তা অত্যন্ত সহজ, বিশেষ করে যখন হোম অটোমেশনের কথা আসে। বিষয়গুলি ভেঙে ফেলার আরও উপায় আছে, এবং ভবিষ্যতে ইন্সট্রাক্টেবলগুলিতে আমি তাদের মধ্যে আরও এগিয়ে যাব যেখানে অ্যাপ্লিকেশনটি সবচেয়ে বোধগম্য।
সরবরাহ
নিম্নলিখিতগুলির মধ্যে কেবল একটি প্রয়োজন:
উবুন্টু:
লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম: https://ubuntu.com/wsl (শুধুমাত্র যদি আপনার লিনাক্স/ম্যাকওএস না থাকে)
ম্যাকওএস: একটি ম্যাকবুক প্রয়োজন
এটি প্রয়োজন:
মশার MQTT ব্রোকার - apt -get ব্যবহার করে ডাউনলোড করা হয়েছে (ডকুমেন্টেশন:
ধাপ 1: প্রাথমিক সেটআপ (আপনার OS এর উপর নির্ভর করে)
ম্যাকওএস/লিনাক্স:
কোন সেটআপ প্রয়োজন শুধু আপনার টার্মিনাল খুলুন এবং মশার সেটআপ এড়িয়ে যান!
উইন্ডোজ:
আপনি যদি উইন্ডোজে থাকেন, তাহলে আপনাকে লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম ইনস্টল করতে হবে। এটি একটি অতি সহজেই ব্যবহারযোগ্য এবং অত্যন্ত মূল্যবান হাতিয়ার যা আপনাকে উইন্ডোজের মধ্যে একটি উবুন্টু টার্মিনাল চালাতে দেয়। টার্মিনালে ডেভেলপমেন্ট পরীক্ষা করার জন্য উবুন্টু ইনস্টল এবং ডুয়াল বুট করার দরকার নেই!
ইনস্টলেশন পদক্ষেপ:
1. উইন্ডোজ স্টোরে যান এবং উবুন্টু অনুসন্ধান করুন
2. লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম ডাউনলোড এবং ইনস্টল করুন
3. অ্যাপ্লিকেশনটি খুলুন এবং সেটআপ সম্পূর্ণ করার জন্য নির্দেশাবলী অনুসরণ করুন এবং আপনি চালিয়ে যেতে প্রস্তুত!
ধাপ 2: মশা সেটআপ:
সুতরাং MQTT সম্পর্কে ভূমিকাতে আলোচনা করা হয়েছে, প্রোটোকলের জন্য একটি ব্রোকার (সার্ভার) প্রয়োজন। এই ব্রোকার হল প্রতিটি ক্লায়েন্টের সাথে সকল প্রতিষ্ঠিত সংযোগের ভিত্তি। সমস্ত বার্তা এই ব্রোকারের মধ্যে দিয়ে যায় এবং সারিবদ্ধ হয়। দালালের জন্য বেছে নেওয়ার জন্য অনেকগুলি বিকল্প রয়েছে এবং আপনি এইগুলি অনলাইনে খুঁজে পেতে পারেন, তবে আমরা যেটি ব্যবহার করব তা সম্ভবত সবচেয়ে সাধারণ: মশা।
Mosquitto হল একটি লিনাক্স ভিত্তিক MQTT ব্রোকার যার কার্যকারিতা এক টন। আমি এখনই সেই কার্যকারিতার সুনির্দিষ্ট বিবরণে যাব না, তবে এটি ব্যবহারকারী/পাসওয়ার্ড প্রমাণীকরণ, এবং টিএলএস এনক্রিপশন সমর্থন করে এমন কিছু মৌলিক প্রয়োজনীয়তা যা ইন্টারনেট থিংস ডিভাইসের বিকাশে সহায়ক।
পদক্ষেপ:
এই সমস্ত ধাপগুলি একটি টার্মিনাল উইন্ডোতে সম্পন্ন করা উচিত।
1. Mosquitto এবং MQTT ক্লায়েন্ট ইনস্টল করুন
sudo apt-get install মশা মশা-ক্লায়েন্ট
2. একটি বিষয় সাবস্ক্রাইব করুন
মশার_সাব -টি "পরীক্ষা"
এটি কি করে একটি বিষয় সাবস্ক্রাইব করে। এই টপিকটি "-t" দ্বারা চিহ্নিত করা হয়েছে এবং টপিকের মান হল "পরীক্ষা"। "-T" অনুসরণ করা এই মানটি আপনি কিছু বিশেষ সংরক্ষণের জন্য সংরক্ষণ করতে চান এমন কিছু হতে পারে।
3. একটি নতুন টার্মিনাল উইন্ডো খুলুন এবং "পরীক্ষা" বিষয়ে একটি বার্তা প্রকাশ করুন
Moscitto_pub -t "test" -m "MQTT সহ হ্যালো ওয়ার্ল্ড!"
এটি "পরীক্ষা" বিষয়টিতে একটি বার্তা প্রকাশ করে, আমাদের অন্যান্য টার্মিনাল দৃষ্টান্তকে সাবস্ক্রিপশন সাইডে বার্তা গ্রহণের অনুমতি দেয়। প্রকাশিত বার্তাটি "-m" দ্বারা চিহ্নিত করা হয় এবং বার্তার মান "হ্যালো ওয়ার্ল্ড উইথ এমকিউটিটি"। এই মেসেজ, ঠিক টপিকের মত, আপনি যা খুশি পরিবর্তন করতে পারেন!
4. আপনার ফলাফল দেখতে প্রথম টার্মিনাল উইন্ডোতে যান! আপনার একটি বার্তা পাওয়া উচিত যা বলে "হ্যালো ওয়ার্ল্ড উইথ এমকিউটিটি" প্রদর্শিত। আপনি যদি এটি না দেখেন, তাহলে নিশ্চিত করুন যে আপনি সঠিক বিষয়টি লিখেছেন সাবটপিক্স এবং বিভিন্ন বার্তা সহ বিভিন্ন বিষয় চেষ্টা করুন!
ধাপ 3: মোড়ানো
এটাই! একবার আপনি এটি সম্পূর্ণ করার পরে আপনি MQTT কিভাবে কাজ করে তার মূল বিষয়গুলি বুঝতে পারেন। এটি একটি খুব প্রাথমিক টিউটোরিয়াল যা কেবলমাত্র ন্যূনতম MQTT প্রোটোকল দেখায়। ভবিষ্যতের নির্দেশিকাগুলি আরও গভীরতার মধ্য দিয়ে চলবে কিভাবে প্রোটোকল ইন্টারনেটের সাথে কাজ করে, বিশেষ করে ESP8266 মডিউলগুলি যা Arduino চালায়। আমার প্রথম ব্যবহারিক আবেদন হবে স্মার্ট কফি মেকার যা আমি বর্তমানে আমার রুমে রেখেছি। আপনি যদি আপনার ফোন এবং আলেক্সা উভয় থেকে নিয়ন্ত্রণ করা যায় এমন একটি কফি মেকার তৈরি করতে শিখতে চান, তাহলে আরো টিউটোরিয়ালের জন্য আমাকে অনুসরণ করুন।
প্রস্তাবিত:
স্মার্ট কফি মেশিন - স্মার্টহোম ইকোসিস্টেমের অংশ: 4 টি ধাপ
স্মার্ট কফি মেশিন - স্মার্টহোম ইকোসিস্টেমের অংশ: হ্যাকড কফি মেশিন, এটিকে স্মার্টহোম ইকোসিস্টেমের অংশ বানিয়েছে আমার কাছে একটি ভাল পুরানো ডেলংহি কফি মেশিন (ডিসিএম) আছে (এটি একটি প্রচার নয় এবং এটি "স্মার্ট" হতে চায়। তাই, আমি এটি ইএসপি 8266 ইনস্টল করে হ্যাক করেছি মডিউল ইন্টারফেস সহ তার মস্তিষ্ক/মাইক্রোকন্ট্রোলার ব্যবহার করে
HC12 ওয়্যারলেস মডিউল ব্যবহার করে ওয়্যারলেস আরডুইনো রোবট: 7 টি ধাপ
HC12 ওয়্যারলেস মডিউল ব্যবহার করে ওয়্যারলেস আরডুইনো রোবট: আরে বন্ধুরা, স্বাগতম। আমার আগের পোস্টে, আমি ব্যাখ্যা করেছি যে এইচ ব্রিজ সার্কিট কী, L293D মোটর ড্রাইভার আইসি, পিগি ব্যাকিং L293D মোটর ড্রাইভার আইসি উচ্চ কারেন্ট মোটর ড্রাইভার চালানোর জন্য এবং কিভাবে আপনি আপনার নিজের L293D মোটর ড্রাইভার বোর্ড ডিজাইন এবং তৈরি করতে পারেন
রাস্পবেরি পাই সহ স্মার্টহোম: 5 টি ধাপ
রাস্পবেরি পাই সহ স্মার্টহোম: এই প্রকল্পের জন্য আমি একটি স্মার্টহোম তৈরি করেছি যা একটি ওয়েবসাইট এবং মোবাইল দ্বারা পরিচালিত হতে পারে। এই জন্য আমি একটি ডাটাবেস এবং ওয়েব সার্ভার হিসাবে রাস্পবেরি পিআই ব্যবহার করি
কম বিদ্যুৎ ব্যবহারের যুগে ওয়্যারলেস কমিউনিকেশন মডিউলগুলির বিদ্যুৎ খরচ কীভাবে সঠিকভাবে পরিমাপ করবেন?: 6 টি পদক্ষেপ
কম বিদ্যুৎ ব্যবহারের যুগে ওয়্যারলেস কমিউনিকেশন মডিউলগুলির বিদ্যুৎ খরচ কীভাবে সঠিকভাবে পরিমাপ করা যায় ?: ইন্টারনেট অব থিংসে কম বিদ্যুত ব্যবহার একটি অত্যন্ত গুরুত্বপূর্ণ ধারণা। বেশিরভাগ আইওটি নোড ব্যাটারি দ্বারা চালিত হতে হবে। কেবল ওয়্যারলেস মডিউলের বিদ্যুৎ খরচ সঠিকভাবে পরিমাপ করে আমরা সঠিকভাবে অনুমান করতে পারি যে আমি কতটা ব্যাটারি
প্রজেটো স্মার্টহোম - রিপোজিটর ডি আলিমেন্টো প্যারা পেট + কন্ট্রোল ডি ইলুমিনাçã 7 ধাপ
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: Este tutorial apresenta uma solução SmartHome simples que permite a reposição automática de alimento para animais de estçãmção (pet) e controle automático de iluminação evitando, por motivo incivo de incientvos, poro moto ভিজিনহোস প্যারা এস