সুচিপত্র:

রাস্পবেরি পাই এবং ইএসপি 8266 এর সাথে এমকিউটিটি কীভাবে ব্যবহার করবেন: 8 টি ধাপ (ছবি সহ)
রাস্পবেরি পাই এবং ইএসপি 8266 এর সাথে এমকিউটিটি কীভাবে ব্যবহার করবেন: 8 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই এবং ইএসপি 8266 এর সাথে এমকিউটিটি কীভাবে ব্যবহার করবেন: 8 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই এবং ইএসপি 8266 এর সাথে এমকিউটিটি কীভাবে ব্যবহার করবেন: 8 টি ধাপ (ছবি সহ)
ভিডিও: সফটওয়্যার দিয়ে নেটওয়ার্ক ফাংশন 2024, জুন
Anonim
রাস্পবেরি পাই এবং ইএসপি 8266 এর সাথে এমকিউটিটি কীভাবে ব্যবহার করবেন
রাস্পবেরি পাই এবং ইএসপি 8266 এর সাথে এমকিউটিটি কীভাবে ব্যবহার করবেন

এই নির্দেশে, আমি MQTT প্রোটোকল কি এবং এটি কিভাবে ডিভাইসের মধ্যে যোগাযোগের জন্য ব্যবহার করা হয় তা ব্যাখ্যা করব তারপর, একটি বাস্তব প্রদর্শন হিসাবে, আমি আপনাকে দেখাব কিভাবে একটি সহজ দুটি ক্লায়েন্ট সিস্টেম সেটআপ করতে হবে, যেখানে একটি ESP8266 মডিউল একটি বার্তা পাঠাবে একটি পাইথন প্রোগ্রামে যখন একটি বোতাম চাপানো হয়। বিশেষ করে, আমি এই প্রকল্পের জন্য একটি Adafruit HUZZAH মডিউল, একটি রাস্পবেরি পাই এবং একটি ডেস্কটপ কম্পিউটার ব্যবহার করছি। রাস্পবেরি পাই এমকিউটিটি ব্রোকার হিসাবে কাজ করবে এবং পাইথন ক্লায়েন্টকে একটি পৃথক ডেস্কটপ কম্পিউটার থেকে চালানো হবে (alচ্ছিক, কারণ এটি রাস্পবেরি পাইতে চালানো যেতে পারে)।

এই নির্দেশাবলীর সাথে অনুসরণ করার জন্য, আপনার ইলেকট্রনিক্সের কিছু প্রাথমিক জ্ঞান থাকতে হবে এবং কিভাবে Arduino সফটওয়্যার ব্যবহার করতে হবে। আপনার একটি কমান্ড লাইন ইন্টারফেস (রাস্পবেরি পাই এর জন্য) ব্যবহার করার সাথেও পরিচিত হওয়া উচিত। আশা করি, একবার আপনি এমকিউটিটি কী, এবং কীভাবে এটি একটি মৌলিক পরিস্থিতিতে ব্যবহার করবেন সে সম্পর্কে জ্ঞান অর্জন করলে, আপনি নিজের আইওটি প্রকল্প তৈরি করতে সক্ষম হবেন!

প্রয়োজনীয় যন্ত্রাংশ

  • 1 x রাস্পবেরি পাই, একটি স্থানীয় নেটওয়ার্কের সাথে সংযুক্ত (জেসি চলছে)
  • 1 x ESP8266 মডিউল (Adafruit HUZZAH)
  • 1 x ব্রেডবোর্ড
  • 3 x জাম্পার তার (পুরুষ থেকে পুরুষ)
  • 1 x পুশবাটন
  • 1 x 10k ওহম প্রতিরোধক (বাদামী-কালো-কমলা রঙের কোড)

আমি এই নির্দেশযোগ্য তৈরি করেছি, যেহেতু MQTT সর্বদা আমাকে একটি প্রোটোকল হিসাবে আগ্রহী করেছে এবং এটি ব্যবহার করার বিভিন্ন উপায় রয়েছে। যাইহোক, আমি এটা ব্যবহার করতে কোড কোড কিভাবে আমার মাথা পেতে মনে হতে পারে না। এর কারণ ছিল আমি জানতাম না/বুঝতে পারছিলাম না আসলে আমার "হ্যালো, ওয়ার্ল্ড!" ডিভাইস A থেকে এবং এটি ডিভাইস B- এ পাঠান। অতএব, আমি এই নির্দেশনাটি লেখার সিদ্ধান্ত নিয়েছি (আশা করি) আপনাকে এটি কীভাবে কাজ করে তা শেখানোর জন্য এবং এটি সম্পর্কে আমার নিজের বোঝাপড়াকে আরও শক্তিশালী করতে!

ধাপ 1: MQTT কি?

MQTT কি?
MQTT কি?

MQTT, বা MQ Telemetry Transport, একটি মেসেজিং প্রোটোকল যা একাধিক ডিভাইসকে একে অপরের সাথে কথা বলার অনুমতি দেয়। বর্তমানে, এটি ইন্টারনেট অফ থিংসের জন্য একটি জনপ্রিয় প্রটোকল, যদিও এটি অন্যান্য উদ্দেশ্যে ব্যবহার করা হয়েছে - উদাহরণস্বরূপ, ফেসবুক মেসেঞ্জার। মজার ব্যাপার হল MQTT 1999 সালে আবিষ্কৃত হয়েছিল - মানে এটা আমার মতই পুরানো!

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

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

আশা করি, এই প্রকল্পের শেষে, আপনি MQTT কী এবং ভবিষ্যতে আপনার নিজের প্রকল্পের জন্য এটি কীভাবে ব্যবহার করবেন সে সম্পর্কে আপনার উপলব্ধি থাকবে।

ধাপ 2: রাস্পবেরি পাইতে এমকিউটিটি ব্রোকার ইনস্টল করা

রাস্পবেরি পাইতে এমকিউটিটি ব্রোকার ইনস্টল করা
রাস্পবেরি পাইতে এমকিউটিটি ব্রোকার ইনস্টল করা
রাস্পবেরি পাইতে এমকিউটিটি ব্রোকার ইনস্টল করা
রাস্পবেরি পাইতে এমকিউটিটি ব্রোকার ইনস্টল করা
রাস্পবেরি পাইতে এমকিউটিটি ব্রোকার ইনস্টল করা
রাস্পবেরি পাইতে এমকিউটিটি ব্রোকার ইনস্টল করা

আমাদের MQTT সিস্টেম সেটআপ করার জন্য, আমাদের একটি দালালের প্রয়োজন, যেমন পূর্ববর্তী ধাপে ব্যাখ্যা করা হয়েছে। রাস্পবেরি পাই এর জন্য, আমরা "মশা" এমকিউটিটি দালাল ব্যবহার করব। আমরা এটি ইনস্টল করার আগে, আমাদের রাস্পবেরি পাই আপডেট করা সর্বদা সেরা।

sudo apt- আপডেট পান

sudo apt-get upgrade

একবার আপনি এটি সম্পন্ন করলে, মশারি এবং তারপর মশার-ক্লায়েন্ট প্যাকেজ ইনস্টল করুন।

sudo apt -get install মশা -y

sudo apt-get install মশা-ক্লায়েন্ট -y

যখন আপনি এই দুটি প্যাকেজ ইনস্টল করা শেষ করবেন, তখন আমাদের ব্রোকার কনফিগার করতে হবে। মশার দালালের কনফিগারেশন ফাইলটি /etc/mosquitto/mosquitto.conf এ অবস্থিত, তাই আপনার প্রিয় পাঠ্য সম্পাদকের সাথে এটি খুলুন। যদি আপনার কোন প্রিয় টেক্সট এডিটর না থাকে অথবা কোন কমান্ড লাইন এডিটর ব্যবহার করতে না জানেন, তাহলে আমি ন্যানো ব্যবহার করব যাতে আপনি অনুসরণ করতে পারেন:

সুডো ন্যানো /etc/mosquitto/mosquitto.conf

এই ফাইলের নীচে, আপনি লাইন দেখতে হবে:

include_dir /etc/mosquitto/conf.d

এই লাইনটি মুছে দিন। ফাইলের নীচে নিম্নলিখিত লাইন যোগ করুন।

allow_anonymous মিথ্যা

password_file/etc/Moscitto/pwfile শ্রোতা 1883

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

আপনি যদি চান না যে ব্রোকারের একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রয়োজন, তাহলে আমাদের যোগ করা প্রথম দুটি লাইন অন্তর্ভুক্ত করবেন না (যেমন allow_anonymous… এবং password_file…)। আপনি যদি এটি করে থাকেন তবে রাস্পবেরি পাই পুনরায় বুট করতে এড়িয়ে যান।

এখন সেই ফাইলটি বন্ধ করুন (এবং সংরক্ষণ করুন)। আপনি যদি ন্যানো উদাহরণ সহ অনুসরণ করছেন, CTRL+X টিপুন, এবং প্রম্পট করার সময় Y টাইপ করুন।

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

sudo mositto_passwd -c/etc/Mosquitto/pwfile ব্যবহারকারীর নাম

যেহেতু আমরা শুধু মশার কনফিগারেশন ফাইলটি পরিবর্তন করেছি, আমাদের রাস্পবেরি পাই পুনরায় বুট করা উচিত।

sudo রিবুট

রাস্পবেরি পাই পুনরায় বুট করার পরে, আপনার একটি সম্পূর্ণরূপে কার্যকরী এমকিউটিটি ব্রোকার থাকা উচিত! পরবর্তী, আমরা বিভিন্ন ডিভাইস/পদ্ধতি ব্যবহার করে এর সাথে যোগাযোগ করার চেষ্টা করতে যাচ্ছি!

ধাপ 3: দালালের পরীক্ষা করা

দালালের পরীক্ষা
দালালের পরীক্ষা

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

ব্রোকার পরীক্ষা করার জন্য, আপনাকে দুটি কমান্ড লাইন উইন্ডো খুলতে হবে। আপনি যদি পুটি বা অন্য এসএসএইচ ক্লায়েন্ট ব্যবহার করেন, এটি অন্য এসএসএইচ উইন্ডো খোলার এবং যথারীতি লগ ইন করার মতো সহজ। আপনি যদি UNIX টার্মিনাল থেকে আপনার Pi অ্যাক্সেস করে থাকেন তবে এটি ঠিক একই রকম। আপনি যদি সরাসরি রাস্পবেরি পাই ব্যবহার করেন, তাহলে আপনাকে GUI মোডে দুটি টার্মিনাল উইন্ডো খুলতে হবে (GUI শুরু করার জন্য startxcan কমান্ড ব্যবহার করা যেতে পারে)।

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

মস্কিটো_সাব -ডি -ইউ ব্যবহারকারীর নাম -পি পাসওয়ার্ড -টি পরীক্ষা

যদি আপনি পূর্ববর্তী ধাপে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড সেট না করার সিদ্ধান্ত নেন, তাহলে এখন থেকে, কমান্ডগুলিতে -u এবং -P পতাকা উপেক্ষা করুন। সুতরাং, একটি উদাহরণ হিসাবে, এখন mositto_sub কমান্ড হবে:

মশার_সাব -ডি -টি পরীক্ষা

The Mositto_sub কমান্ডটি একটি সাবস্ক্রাইব সাবস্ক্রাইব করবে, এবং টার্মিনাল উইন্ডোতে নির্দিষ্ট বিষয়ে পাঠানো যে কোন বার্তা প্রদর্শন করবে। এখানে, -d মানে ডিবাগ মোড, তাই সমস্ত বার্তা এবং কার্যকলাপ পর্দায় আউটপুট হবে। -u এবং -P স্ব -ব্যাখ্যামূলক হওয়া উচিত। পরিশেষে, -t হল সেই বিষয়ের নাম যা আমরা সাবস্ক্রাইব করতে চাই - এই ক্ষেত্রে, "পরীক্ষা"।

পরবর্তী, অন্য টার্মিনাল উইন্ডোতে, আমরা "পরীক্ষা" বিষয়ে একটি বার্তা চেষ্টা করে প্রকাশ করতে যাচ্ছি। ব্যবহারকারীর নাম এবং পাসওয়ার্ড পরিবর্তন করতে আবার মনে রেখে নিম্নলিখিতটি টাইপ করুন:

Moscitto_pub -d -u ব্যবহারকারীর নাম -P পাসওয়ার্ড -টি পরীক্ষা -মি "হ্যালো, ওয়ার্ল্ড!"

যখন আপনি এন্টার চাপবেন, তখন আপনার বার্তা "হ্যালো, ওয়ার্ল্ড!" আমাদের ব্যবহৃত প্রথম টার্মিনাল উইন্ডোতে (সাবস্ক্রাইব করতে) উপস্থিত হবে। যদি এমন হয়, তাহলে আপনি ESP8266 এ কাজ শুরু করার জন্য সম্পূর্ণ প্রস্তুত!

ধাপ 4: ESP8266 (Adafruit HUZZAH) সেট আপ করা

ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে
ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে
ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে
ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে
ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে
ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে
ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে
ESP8266 (Adafruit HUZZAH) সেট আপ করা হচ্ছে

এই পদক্ষেপটি যদি Adafruit HUZZAH এর জন্য নির্দিষ্ট হয় (যেমনটি আমি এই প্রকল্পটি সম্পন্ন করার জন্য ব্যবহার করছি)। আপনি যদি আলাদা Arduino / ESP8266 ডিভাইস ব্যবহার করেন, তাহলে আপনি এই ধাপটি এড়িয়ে যেতে পারেন। যাইহোক, আমি আপনাকে এটি পড়ার পরামর্শ দেব, যদি এখানে কোন তথ্য থাকে যা আপনার জন্য প্রাসঙ্গিক হতে পারে।

এই প্রকল্পের জন্য, আমি আরডুইনো সফটওয়্যার দিয়ে হুজ্জা প্রোগ্রামিং করতে যাচ্ছি। সুতরাং, যদি আপনি ইতিমধ্যে না করেন তবে Arduino সফ্টওয়্যারটি ইনস্টল করতে ভুলবেন না (1.6.4 এর চেয়ে নতুন)। আপনি এখানে এটা ডাউনলোড করতে পারেন।

একবার আপনি Arduino সফ্টওয়্যার ইনস্টল করার পরে, এটি খুলুন এবং ফাইল-> পছন্দগুলিতে নেভিগেট করুন। এখানে আপনাকে (উইন্ডোর নীচে) লেবেল সহ একটি টেক্সট বক্স দেখতে হবে: "অতিরিক্ত বোর্ড ম্যানেজার ইউআরএল"। এই পাঠ্য বাক্সে, নিম্নলিখিত লিঙ্কটি অনুলিপি করুন এবং আটকান:

arduino.esp8266.com/stable/package_esp8266com_index.json

আপনার পরিবর্তনগুলি সংরক্ষণ করতে ঠিক আছে ক্লিক করুন। এখন বোর্ড ম্যানেজার (সরঞ্জাম-> বোর্ড-> বোর্ড ম্যানেজার) খুলুন এবং ESP8266 অনুসন্ধান করুন। ESP8266 ESP8266 কমিউনিটি প্যাকেজ দ্বারা ইনস্টল করুন। আরডুইনো সফটওয়্যারটি পুনরায় চালু করুন।

এখন, আমরা বোর্ড প্রোগ্রাম করার আগে, আমাদের কয়েকটি ভিন্ন বিকল্প নির্বাচন করতে হবে। টুলস মেনু অপশনে, বোর্ডের জন্য Adafruit HUZZAH ESP8266 নির্বাচন করুন, CPU ফ্রিকোয়েন্সি এর জন্য 80 MHz (যদি আপনি ওভারক্লক করতে চান তাহলে 160 MHz ব্যবহার করতে পারেন, কিন্তু এখন আমি 80 MHz ব্যবহার করতে যাচ্ছি), 4M (3M SPIFFS) ফ্ল্যাশ সাইজের জন্য, এবং আপলোড গতির জন্য 115200। এছাড়াও, আপনি যে COM পোর্টটি ব্যবহার করছেন তা নির্বাচন করতে ভুলবেন না (এটি আপনার সেটআপের উপর নির্ভর করবে)।

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

মাইক্রোকন্ট্রোলারে কোড আপলোড করার জন্য, প্রথমে নিশ্চিত করুন যে HUZZAH বুটলোডার মোডে আছে, তারপরে কেবল Arduino IDE তে আপলোড বোতামে ক্লিক করুন।

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

ধাপ 5: ESP8266 প্রোগ্রামিং

ESP8266 প্রোগ্রামিং
ESP8266 প্রোগ্রামিং

এখন আমরা ESP8266 প্রোগ্রাম শুরু করব, কিন্তু আমরা শুরু করার আগে, আপনাকে Arduino লাইব্রেরি ম্যানেজারে নিম্নলিখিত লাইব্রেরিগুলি ইনস্টল করতে হবে (স্কেচ-> লাইব্রেরি অন্তর্ভুক্ত করুন-> লাইব্রেরিগুলি পরিচালনা করুন)

  • বাউন্স 2
  • PubSubClient

একবার আপনি সেই লাইব্রেরিগুলি ইনস্টল করার পরে, আপনি এই নির্দেশযোগ্য (MQTT_Publish.zip) এ আমি যে কোডটি অন্তর্ভুক্ত করেছি তা চালাতে সক্ষম হবে। আমি এটি মন্তব্য করার জন্য নিশ্চিত করেছি যাতে আপনি বুঝতে পারেন যে প্রতিটি বিভাগ কী করছে এবং এটি আশা করা যায় যে এটি আপনাকে আপনার প্রয়োজনের সাথে মানিয়ে নিতে সক্ষম করবে।

কোডের শীর্ষে ধ্রুবকগুলি পরিবর্তন করতে ভুলবেন না যাতে আপনার ESP8266 আপনার ওয়াইফাই নেটওয়ার্ক এবং আপনার MQTT ব্রোকার (রাস্পবেরি পাই) এর সাথে সংযুক্ত হতে পারে।

যদি আপনি MQTT ব্রোকারের জন্য একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড সেট না করার সিদ্ধান্ত নেন, তাহলে MQTT_PublishNoPassword.zip ফাইলটি ডাউনলোড করুন।

ধাপ 6: পাইথন ক্লায়েন্ট ইনস্টল করা (paho-mqtt)

পাইথন ক্লায়েন্ট ইনস্টল করা (পাহো-এমকিউটিটি)
পাইথন ক্লায়েন্ট ইনস্টল করা (পাহো-এমকিউটিটি)

সৌভাগ্যক্রমে, এই পদক্ষেপটি খুব সহজ! মশার পাইথন ক্লায়েন্ট ইনস্টল করতে, আপনাকে কেবল কমান্ড লাইন (লিনাক্স/ম্যাক) বা এমনকি কমান্ড প্রম্পট (উইন্ডোজ) এ নিম্নলিখিতগুলি টাইপ করতে হবে।

পাইপ ইনস্টল paho-mqtt

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

ধাপ 7: পাইথন ক্লায়েন্ট - সাবস্ক্রাইব করা

পাইথন ক্লায়েন্ট - সাবস্ক্রাইব করা
পাইথন ক্লায়েন্ট - সাবস্ক্রাইব করা

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

আমি নীচের পাইথন কোডটি অন্তর্ভুক্ত করেছি (PythonMQTT_Subscribe.py), যা আপনাকে কী ঘটছে তা বুঝতে সাহায্য করার জন্য মন্তব্য করা হয়েছে, তবে আমি এখানে কিছু প্রধান বৈশিষ্ট্যও ব্যাখ্যা করব।

যদি আপনি আগে MQTT সংযোগের জন্য একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড সেট না করে থাকেন, তাহলে এর পরিবর্তে PythonMQTT_SubscribeNoPassword.py ফাইলটি ডাউনলোড করুন।

ধাপ 8: ESP8266 ডিভাইসের মধ্যে যোগাযোগ

ESP8266 ডিভাইসের মধ্যে যোগাযোগ
ESP8266 ডিভাইসের মধ্যে যোগাযোগ

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

একটি ইএসপি অন্যের কাছে ডেটা পাঠানোর জন্য, প্রথম ইএসপি -কে বিষয় প্রকাশ করতে হবে এবং দ্বিতীয় ইএসপি -কে সেই বিষয়ে সাবস্ক্রাইব করতে হবে। এই সেটআপ একমুখী কথোপকথনের অনুমতি দেবে - ESP (1) থেকে ESP (2)। যদি আমরা ইএসপি (2) ইএসপি (1) এর সাথে কথা বলতে চাই, আমরা একটি নতুন বিষয় তৈরি করতে পারি, যেখানে ইএসপি (2) প্রকাশ করবে এবং ইএসপি (1) সাবস্ক্রাইব করবে। সৌভাগ্যক্রমে, আমাদের একই বিষয়ে একাধিক গ্রাহক থাকতে পারে, তাই যদি আপনি বেশ কয়েকটি সিস্টেমে ডেটা পাঠাতে চান, তাহলে আপনার কেবল একটি বিষয় প্রয়োজন হবে (যার জন্য তারা সবাই সাবস্ক্রাইব করে প্রকাশ করা)।

আপনার যদি প্রতিটি ডিভাইসের কী প্রয়োজন তা খুঁজে বের করতে সাহায্যের প্রয়োজন হয়, তাহলে মানুষের ঘর হিসাবে সিস্টেমটি সম্পর্কে চিন্তা করুন। যদি ESP (1) প্রকাশ করা হয়, তাহলে আপনি এই ডিভাইসটিকে "স্পিকার" হিসেবে কল্পনা করতে পারেন, এবং যে কোন ডিভাইস যে বিষয়টিতে সাবস্ক্রাইব করছে তারা এই উদাহরণে "শ্রোতা"।

আমি নীচে কিছু উদাহরণ কোড অন্তর্ভুক্ত করেছি, যা দেখায় কিভাবে একটি ESP8266 একটি বিষয় সাবস্ক্রাইব করতে পারে, এবং কিছু বার্তা শুনতে পারে - 1 এবং 0। । যদি 0 পাওয়া যায়, এই LED বন্ধ করা হয়।

আপনি যদি আরও জটিল ডেটা প্রক্রিয়া করতে চান তবে এটি রিসিভড মেসেজ ফাংশনে করা উচিত (কোড দেখুন)।

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

আপনার নেটওয়ার্ক অনুসারে কোডের উপরের ভেরিয়েবল পরিবর্তন করতে ভুলবেন না!

প্রস্তাবিত: