সুচিপত্র:
- ধাপ 1: এমকিউটিটি কী এবং এটি কীভাবে কাজ করে
- ধাপ 2: রাস্পবেরি পাই
- ধাপ 3: স্ট্যাটিক আইপি ঠিকানা কিভাবে সেটআপ করবেন
- ধাপ 4: NodeMCU
- ধাপ 5: পাইথন স্ক্রিপ্ট
- ধাপ 6: সংযোগ এবং সার্কিট ডায়াগ্রাম
- ধাপ 7: ফলাফল
ভিডিও: রাস্পবেরী পাই MQTT ব্যবহার করে ESP8266 এর সাথে কথা বলছে: 8 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
এই প্রজেক্টে, আমি MQTT প্রোটোকল কি এবং এটি কিভাবে ডিভাইসের মধ্যে যোগাযোগের জন্য ব্যবহার করা হয় তা ব্যাখ্যা করবো তারপর, একটি ব্যবহারিক প্রদর্শনী হিসাবে, আমি কিভাবে একটি ক্লায়েন্ট এবং ব্রোকার সিস্টেম সেটআপ করব, যেখানে একটি ESP8266 মডিউল এবং RPi টক একে অপরের কাছে বা একটি বোতাম চাপলে বার্তা পাঠান।
প্রয়োজনীয় উপাদান
1. রাস্পবেরি পাই 3
2. NodeMCU
3. LED
4. বোতাম
5. প্রতিরোধক (10k, 475 ohm)
ধাপ 1: এমকিউটিটি কী এবং এটি কীভাবে কাজ করে
এমকিউটিটি
MQTT একটি মেশিন-টু-মেশিন (M2M) ডেটা ট্রান্সফার প্রোটোকল। MQTT তৈরি করা হয়েছিল অনেক ডিভাইস থেকে ডেটা সংগ্রহ করা এবং তারপর সেই তথ্যটি আইটি অবকাঠামোতে পরিবহনের লক্ষ্যে। এটি লাইটওয়েট, এবং তাই দূরবর্তী পর্যবেক্ষণের জন্য আদর্শ, বিশেষ করে M2M সংযোগগুলির জন্য যেখানে একটি ছোট কোড পদচিহ্ন প্রয়োজন বা যেখানে নেটওয়ার্ক ব্যান্ডউইথ সীমিত।
কিভাবে MQTT কাজ করে
এমকিউটিটি একটি প্রকাশ/সাবস্ক্রাইব প্রোটোকল যা এজ-অফ-নেটওয়ার্ক ডিভাইসগুলিকে একটি ব্রোকারের কাছে প্রকাশ করতে দেয়। ক্লায়েন্টরা এই ব্রোকারের সাথে সংযোগ স্থাপন করে, যা তারপর দুটি ডিভাইসের মধ্যে যোগাযোগের মধ্যস্থতা করে। প্রতিটি ডিভাইস নির্দিষ্ট বিষয়গুলিতে সাবস্ক্রাইব করতে বা নিবন্ধন করতে পারে। যখন অন্য ক্লায়েন্ট সাবস্ক্রাইব করা বিষয়ে একটি বার্তা প্রকাশ করে, তখন দালাল সাবস্ক্রাইব করা যেকোনো ক্লায়েন্টকে মেসেজ ফরওয়ার্ড করে।
MQTT দ্বিমুখী, এবং রাষ্ট্রীয় অধিবেশন সচেতনতা বজায় রাখে। যদি একটি এজ-অফ-নেটওয়ার্ক ডিভাইস কানেক্টিভিটি হারিয়ে ফেলে, সব সাবস্ক্রাইব করা ক্লায়েন্টকে MQTT সার্ভারের "লাস্ট উইল অ্যান্ড টেস্টামেন্ট" ফিচারের মাধ্যমে জানানো হবে যাতে সিস্টেমের যেকোনো অনুমোদিত ক্লায়েন্ট নতুন মূল্য প্রকাশ করতে পারে। নেটওয়ার্ক ডিভাইস, দ্বিমুখী সংযোগ বজায় রাখা।
প্রকল্পটি 3 ভাগে বিভক্ত
প্রথমত, আমরা RPi এ MQTT সার্ভার তৈরি করি এবং কিছু লাইব্রেরি ইনস্টল করি।
দ্বিতীয়ত, আমরা MQTT- এর সাথে কাজ করার জন্য NodeMCU- এর জন্য Arduino IDE তে লাইব্রেরি ইনস্টল করব, কোড আপলোড করব এবং সার্ভার কাজ করছে কিনা তা পরীক্ষা করে দেখব।
অবশেষে, আমরা Rpi তে একটি স্ক্রিপ্ট তৈরি করি, NodeMCU- এ প্রয়োজনীয় কোড আপলোড করি এবং সার্ভার এবং ক্লায়েন্ট উভয় দিক থেকে এলইডি নিয়ন্ত্রণ করতে পাইথন স্ক্রিপ্ট চালাই। এখানে, সার্ভার হল RPi এবং ক্লায়েন্ট হল NodeMCU।
ধাপ 2: রাস্পবেরি পাই
1. RPi এ সর্বশেষ MQTT সার্ভার এবং ক্লায়েন্ট ইনস্টল করার জন্য, নতুন সংগ্রহস্থল ব্যবহার করার জন্য আপনাকে প্রথমে রিপোজিটরি প্যাকেজ সাইনিং কী আমদানি করতে হবে।
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key যোগ করুন মশা-repo.gpg.key
2. সংগ্রহস্থল apt জন্য উপলব্ধ করুন।
cd /etc/apt/sources.list.d/
3. আপনি ডেবিয়ানের কোন সংস্করণ ব্যবহার করছেন তার উপর নির্ভর করে।
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
sudo apt- আপডেট পান
4. কমান্ড ব্যবহার করে Mosquitto সার্ভার ইনস্টল করুন।
sudo apt-get install মশা
আপনি যদি এইভাবে মশার ইনস্টল করতে ত্রুটি পেয়ে থাকেন।
#################################################################
নিম্নোক্ত প্যাকেজগুলির উপর নির্ভরশীলতা নেই: মশা: নির্ভর করে: libssl1.0.0 (> = 1.0.1) কিন্তু এটি ইনস্টলযোগ্য নয় নির্ভর করে: libwebsockets3 (> = 1.2) কিন্তু এটি ইনস্টলযোগ্য নয় E: সমস্যাগুলি সংশোধন করতে অক্ষম, আপনি ভেঙে পড়েছেন প্যাকেজ
#################################################################
তারপরে সমস্যাগুলি সমাধান করতে এই কমান্ডটি ব্যবহার করুন।
sudo apt-ফিক্স-ভাঙা ইনস্টল
5. MQTT সার্ভার ইনস্টল করার পর, কমান্ড ব্যবহার করে ক্লায়েন্ট ইনস্টল করুন
sudo apt-get install মশা-ক্লায়েন্ট
আপনি কমান্ড ব্যবহার করে পরিষেবাগুলি পরীক্ষা করতে পারেন।
systemctl স্ট্যাটাস মশারি। সেবা
যেহেতু আমাদের MQTT সার্ভার এবং ক্লায়েন্ট ইনস্টল করা আছে। এখন, আমরা সাবস্ক্রাইব এবং প্রকাশের মাধ্যমে এটি পরীক্ষা করতে পারি। সাবস্ক্রাইব এবং পাবলিশ করার জন্য আপনি কমান্ড চেক করতে পারেন অথবা নিচে দেওয়া ওয়েবসাইট ভিজিট করতে পারেন।
মশা সাব
মশা পাব
পাহো-এমকিউটিটি লাইব্রেরি ইনস্টল করতে নিচের কমান্ডটি ব্যবহার করুন।
sudo pip ইনস্টল paho-mqtt
পাহো
ধাপ 3: স্ট্যাটিক আইপি ঠিকানা কিভাবে সেটআপ করবেন
ডিরেক্টরিতে যান cd /etc এবং যেকোনো এডিটর ব্যবহার করে dhcpcd.conf ফাইল খুলুন। শেষে এই চার লাইন লিখুন।
ইন্টারফেস eth0 স্ট্যাটিক ip_address = 192.168.1.100 // ip আপনি ব্যবহার করতে চান
ইন্টারফেস wlan0
স্ট্যাটিক ip_address = 192.168.1.68
স্ট্যাটিক রাউটার = 192.168.1.1 // আপনার ডিফল্ট গেটওয়ে
স্ট্যাটিক domain_name_servers = 192.168.1.1
এর পরে এটি সংরক্ষণ করুন এবং আপনার পাই পুনরায় বুট করুন।
ধাপ 4: NodeMCU
NodeMCU এর জন্য Arduino IDE তে প্রয়োজনীয় লাইব্রেরি ইনস্টল করুন
1. স্কেচে যান ==> লাইব্রেরি অন্তর্ভুক্ত করুন ==> লাইব্রেরি পরিচালনা করুন।
2. mqtt অনুসন্ধান করুন এবং Adafruit দ্বারা লাইব্রেরি ইনস্টল করুন অথবা আপনি যে কোন লাইব্রেরি ইনস্টল করতে পারেন।
3. এটি স্লিপডগ লাইব্রেরির উপর নির্ভর করে তাই আমাদেরও এই লাইব্রেরির প্রয়োজন।
প্রোগ্রামটি উপরে দেওয়া হয়েছে, শুধু এটি কাজ করে কি না তা যাচাই করার জন্য। এখানে আমি আরপিআই তে কোন স্ক্রিপ্ট তৈরি করিনি। আমরা শুধু সাবস্ক্রাইব এবং প্রকাশ করার জন্য কমান্ড ব্যবহার করছি। আমরা পরে নিয়ন্ত্রণের জন্য স্ক্রিপ্ট তৈরি করব।
Mosquitto_pub -h raspberrypi -t "/leds/pi" -m "ON"
Mosquitto_pub -h raspberrypi -t "/leds/pi" -m "OFF"
Mosquitto_pub -h raspberrypi -t "/leds/pi" -m "TOGGLE"
Mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
Mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
Mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "TOGGLE"
-h ==> হোস্টের নাম- t ==> বিষয়
-এম ==> বার্তা
Mqtt_check প্রোগ্রাম চেক করার পর NodeMCU তে সম্পূর্ণ প্রোগ্রাম আপলোড করুন
ধাপ 5: পাইথন স্ক্রিপ্ট
আমি উপরে আলোচনা করেছি আমরা বোতাম ব্যবহার করে এলইডি নিয়ন্ত্রণের জন্য পাইথন স্ক্রিপ্ট প্রয়োজন। সুতরাং, আমরা স্ক্রিপ্ট তৈরি করতে যাচ্ছি। স্ক্রিপ্ট উপরে দেওয়া আছে।
যখন আপনি স্ক্রিপ্টটি চালাবেন তখন আপনার স্ক্রিপ্টটি ছবিতে দেখানো মতো হওয়া উচিত, যদি ফলাফল কোড শূন্য না হয় তবে সেগুলি একটি ত্রুটি যা আপনি পাহো ওয়েবসাইটে ত্রুটি পরীক্ষা করতে পারেন।
ধাপ 6: সংযোগ এবং সার্কিট ডায়াগ্রাম
বোতাম ইন্টারফেসিং, NodeMCU সঙ্গে LED
NodeMCU ===> ButtonGnd ===> Gnd
3.3V ===> পিন 1
GPIO4 (D2) ===> PIN2
NodeMCU ===> LED
Gnd ===> ক্যাথোড (-ve)
GPIO5 (D1) ===> Anode (+ve)
বাটনের ইন্টারফেসিং, আরপিআই সহ এলইডি
RPi ===> ButtonGnd ===> PIN1
GPIO 23 ===> PIN2
RPi ===> LED
Gnd ==> ক্যাথোড (-ve)
GPIO 24 ===> Anode (+ve)
ধাপ 7: ফলাফল
নিশ্চিত করুন যে আপনার স্ক্রিপ্ট চলছে অন্যথায় এটি বোতাম ব্যবহার করে নেতৃত্ব নিয়ন্ত্রণ করতে সক্ষম হবে না।
প্রস্তাবিত:
কিভাবে একটি রাস্পবেরী পাই এর জিপিআইও পিন এবং এভারডুডকে বিট-ব্যাং-প্রোগ্রাম ডিআইএমপি 2 বা ডিএ পিআইএমপি 2: 9 ধাপে ব্যবহার করবেন
কিভাবে একটি রাস্পবেরি পাই এর জিপিআইও পিন এবং বিট-ব্যাং-প্রোগ্রাম DIMP 2 বা DA PIMP 2 এ Avrdude ব্যবহার করবেন: রাস্পবেরি পাই এবং বিট-ব্যাং-এর বিনামূল্যে ওপেন-সোর্স কমান্ড অ্যাভ্রুডে কিভাবে ব্যবহার করবেন সে সম্পর্কে ধাপে ধাপে নির্দেশাবলী -একটি DIMP 2 বা DA PIMP প্রোগ্রাম করুন। আমি ধরে নিচ্ছি যে আপনি আপনার রাস্পবেরি পাই এবং LINUX কমান্ড লাইনের সাথে পরিচিত। আপনাকে করতে হবে না
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ: 6 টি ধাপ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ করা: অ্যাক্সিলারেশন সীমিত, আমি মনে করি পদার্থবিজ্ঞানের কিছু আইন অনুসারে।- টেরি রিলি একটি চিতা তাড়া করার সময় আশ্চর্যজনক ত্বরণ এবং গতিতে দ্রুত পরিবর্তন ব্যবহার করে। দ্রুততম প্রাণীটি একবারে উপকূলে শিকারের জন্য তার সর্বোচ্চ গতি ব্যবহার করে। দ্য
ওয়াসফাই নিয়ন্ত্রিত 12v LED স্ট্রিপ ব্যবহার করে রাস্পবেরি পাই ব্যবহার করে টাস্কার, ইফটি ইন্টিগ্রেশন।: 15 টি ধাপ (ছবি সহ)
ওয়াসফাই নিয়ন্ত্রিত 12v LED স্ট্রিপ টাস্কার, ইফটিটি ইন্টিগ্রেশন সহ রাস্পবেরি পাই ব্যবহার করে ।: এই প্রকল্পে আমি আপনাকে দেখাব কিভাবে একটি রাস্পবেরি পাই ব্যবহার করে ওয়াইফাইয়ের উপর একটি সাধারণ 12v এনালগ নেতৃত্বাধীন স্ট্রিপ নিয়ন্ত্রণ করতে হয়। এই প্রকল্পের জন্য আপনার প্রয়োজন হবে: 1x রাস্পবেরি পাই (I আমি রাস্পবেরি পাই 1 মডেল বি+) 1x আরজিবি 12 ভি লে ব্যবহার করছি
Arduino এর সাথে 2.4Ghz NRF24L01 মডিউল ব্যবহার করে ওয়্যারলেস রিমোট - Nrf24l01 4 চ্যানেল / 6 চ্যানেল ট্রান্সমিটার রিসিভার কোয়াডকপ্টার - আরসি হেলিকপ্টার - আরডুইনো ব্যবহার করে আরসি প্লেন: 5 টি ধাপ (ছবি সহ)
Arduino এর সাথে 2.4Ghz NRF24L01 মডিউল ব্যবহার করে ওয়্যারলেস রিমোট | Nrf24l01 4 চ্যানেল / 6 চ্যানেল ট্রান্সমিটার রিসিভার কোয়াডকপ্টার | আরসি হেলিকপ্টার | আরডুইনো ব্যবহার করে আরসি প্লেন: একটি আরসি গাড়ি চালানোর জন্য | চতুর্ভুজ | ড্রোন | আরসি প্লেন | RC নৌকা, আমাদের সবসময় একটি রিসিভার এবং ট্রান্সমিটার দরকার, ধরুন RC QUADCOPTER এর জন্য আমাদের একটি 6 টি চ্যানেল ট্রান্সমিটার এবং রিসিভার দরকার এবং সেই ধরনের TX এবং RX খুব ব্যয়বহুল, তাই আমরা আমাদের একটি তৈরি করতে যাচ্ছি
নোটপ্যাড ব্যবহার করে আপনার কম্পিউটার যা বলছে তা বলুন: 3 টি ধাপ
আপনার কম্পিউটারে নোটপ্যাড ব্যবহার করে আপনি যা লিখছেন তা বলুন: আপনার কম্পিউটারকে আপনি যা টাইপ করেন তা বলার জন্য এখানে আমাদের তৈরি করা একটি আকর্ষণীয় কোড রয়েছে। আমরা এটি তৈরি করতে নোটপ্যাড ব্যবহার করব। চল শুরু করি