সুচিপত্র:

ESP-NOW হোম অটোমেশন Esp8266 রাস্পবেরি পাই MQTT: 4 টি ধাপ
ESP-NOW হোম অটোমেশন Esp8266 রাস্পবেরি পাই MQTT: 4 টি ধাপ

ভিডিও: ESP-NOW হোম অটোমেশন Esp8266 রাস্পবেরি পাই MQTT: 4 টি ধাপ

ভিডিও: ESP-NOW হোম অটোমেশন Esp8266 রাস্পবেরি পাই MQTT: 4 টি ধাপ
ভিডিও: ESP8266 Smart Light Switch with Servo Motor 2024, ডিসেম্বর
Anonim
ESP-NOW হোম অটোমেশন Esp8266 রাস্পবেরি পাই MQTT
ESP-NOW হোম অটোমেশন Esp8266 রাস্পবেরি পাই MQTT

এই নির্দেশনায় আমি আপনাকে দেখাব কিভাবে আমি আমার বাড়ির অটোমেশনে ESP-NOW ব্যবহার করেছি। পরিকল্পিত আপনি যোগাযোগ প্রবাহ দেখতে পারেন

আমি তোমাকে দেখাবো:

  • প্রেরক কিভাবে কাজ করে
  • রিসিভার কিভাবে কাজ করে
  • রাস্পবেরি পাইয়ের সাথে সিরিয়াল যোগাযোগ কীভাবে কাজ করে

এমকিউটিটি এবং আমার হোম অটোমেশন কীভাবে কাজ করে তা আমি দেখাই না, আপনি এর জন্য অন্যান্য ভাল নির্দেশনা পেতে পারেন।

ক্রেডিট: এই নির্দেশযোগ্য দ্বারা অনুপ্রাণিত হয়েছিল:

Andreas Spiess এর ভিডিও #172

www.esploradores.com/practica-6-conexion-es…

ধাপ 1: ওয়াইফাই এবং MQTT এর মাধ্যমে ব্যাক-আপ করুন

ওয়াইফাই এবং MQTT এর মাধ্যমে ব্যাক-আপ
ওয়াইফাই এবং MQTT এর মাধ্যমে ব্যাক-আপ

আমি খুঁজে পেয়েছি যে ESP-NOW অত্যন্ত দ্রুত এবং বেশ নির্ভরযোগ্য, কিন্তু কখনও কখনও ব্যর্থ হয়। আমার প্রোগ্রামে আমি স্বাভাবিক ওয়াইফাই এবং এমকিউটিটি সংযোগের মাধ্যমে একটি ব্যাক-আপ যুক্ত করেছি।

ধাপ 2: দূরবর্তী/প্রেরক

দূরবর্তী/প্রেরক
দূরবর্তী/প্রেরক
দূরবর্তী/প্রেরক
দূরবর্তী/প্রেরক
দূরবর্তী/প্রেরক
দূরবর্তী/প্রেরক
দূরবর্তী/প্রেরক
দূরবর্তী/প্রেরক

প্রথম স্কিমে আপনি দেখতে পাবেন কিভাবে প্রেরকের প্রোগ্রাম কাজ করে:

  1. Esp8266 পাওয়ার আপ বা রিসেট থেকে শুরু হয়
  2. ইএসপি-এখন শুরু হয়েছে
  3. মডিউল একটি নির্ধারিত সময়ের জন্য ESP- এখন পাঠায়
  4. মডিউল চেক করে যে ESP-NOW বার্তাটি রিসিভার কল-ব্যাক ফাংশনে পেয়েছে কিনা।

    1. যদি ইএসপি-নাউ মেসেজ পাওয়া যায়, মডিউলটি কম পাওয়ারের গভীর ঘুমে চলে যায়
    2. যদি ESP-NOW বার্তাটি না পাওয়া যায়, তাহলে মডিউলটি একটি ওয়াইফাই সংযোগ এবং একটি MQTT সংযোগ একটি ব্যাক-আপ সংযোগ হিসাবে শুরু করে।

প্রেরকের জন্য প্রোগ্রাম আমার Github (Master_sender.ino) এ আছে। প্রোগ্রামগুলি এমকিউটিটি হোম অটোমেশনের জন্য বিষয় এবং বার্তা উভয়ই একত্রিত ESP-NOW বার্তায় পাঠায়, যা রিসিভারে সহজ বিভাজনের জন্য 'এবং' চিহ্নের সাথে মিলিত হয়।

আমি দুটি ভিন্ন রিমোট/প্রেরক তৈরি করেছি:

প্রেরক 1: esp8266 গভীর ঘুমে এবং একটি রিসেট দ্বারা সক্রিয় করা হয়। মডিউলটি সম্পন্ন হলে বাটনের নেতৃত্ব জ্বলে ওঠে এবং নিস্তেজ হয়ে যায়। যদি ব্যাটারির ভোল্টেজ কম হয়, তবে নেতৃত্বের ঝলকানি। যদি ESP-NOW ব্যর্থ হয়, তাহলে ওয়াইফাই/MQTT সংযোগে পরিবর্তনের আগে LED ঝলক দেয়। Esp8266 একটি LiPo ব্যাটারি থেকে HT7333 ভোল্টেজ রেগুলেটর দিয়ে 3.3V তে চালিত

প্রেরক 2: esp8266 বন্ধ এবং বোতাম টিপে চালিত হয়। সাধারণত ESP-NOW সংযোগটি 'ক্লিক' বাটনের পরে সম্পন্ন করা হয়। Esp8266 সরাসরি LiPo ব্যাটারি থেকে চালিত হয়। আমি জানি না যে esp8266 সম্পূর্ণরূপে চার্জ করা ব্যাটারির উচ্চ ভোল্টেজ (4.2 V পর্যন্ত) দ্বারা ক্ষতিগ্রস্ত হয় যখন এটি মাত্র 100 ms তে চালিত হয়। এটি চশমা (3.0 - 3.6V) এর চেয়ে বেশি।

দ্রষ্টব্য: যদি ব্যাটারি শক্তি কম থাকে, তাহলে ESP-NOW ব্যর্থ হয়।

ধাপ 3: রিসিভার - হার্ডওয়্যার (esp8266 এবং রাস্পবেরি পাই)

রিসিভার - হার্ডওয়্যার (esp8266 এবং রাস্পবেরি পাই)
রিসিভার - হার্ডওয়্যার (esp8266 এবং রাস্পবেরি পাই)
রিসিভার - হার্ডওয়্যার (esp8266 এবং রাস্পবেরি পাই)
রিসিভার - হার্ডওয়্যার (esp8266 এবং রাস্পবেরি পাই)
রিসিভার - হার্ডওয়্যার (esp8266 এবং রাস্পবেরি পাই)
রিসিভার - হার্ডওয়্যার (esp8266 এবং রাস্পবেরি পাই)

রিসিভারের অবনতি দুটি ভাগে বিভক্ত:

  1. হার্ডওয়্যার
  2. সফটওয়্যার

হার্ডওয়্যার

প্রাপ্ত esp-01 আমার রাস্পবেরি পাই জিরোর সাথে সংযুক্ত যা আমার হোম অটোমেশন সিস্টেম (Openhab2) এবং নোড রেড চালায়।

পরিকল্পিত সহজ সংযোগগুলি দেখানো হয়:

  • Esp-01 এর RX থেকে RasPi এর TX
  • Esp-01 এর TX থেকে RasPi এর RX
  • GND থেকে GND
  • Esp-01 VCC রাস্পির 3.3V পিন দ্বারা চালিত
  • Esp-01 এ RST এবং CH_PD উভয়ই উঁচু টানা হয়।

আমি সহজেই এটি মাউন্ট করার জন্য একটি ইন্টারফেস সংযোগকারী তৈরি করেছি

একটি ছবিতে আপনি আমার রাস্পবেরি পাই 3 এর সাথে আমার তারের সংযোগ দেখতে পারেন (যার একই পিনআউট রয়েছে, কিন্তু আমি CH_PD- এ সংযোগের জন্য অন্য 3.3V পিন ব্যবহার করেছি)।

Esp-01 প্রোগ্রাম করা হয়েছিল যেমন আমার অন্যান্য নির্দেশাবলীতে দেখানো হয়েছে (ধাপ 3 দেখুন)।

ধাপ 4: রিসিভার - সফটওয়্যার (সিরিয়াল, নোড রেড, এমকিউটিটি)

রিসিভার - সফটওয়্যার (সিরিয়াল, নোড রেড, এমকিউটিটি)
রিসিভার - সফটওয়্যার (সিরিয়াল, নোড রেড, এমকিউটিটি)
রিসিভার - সফটওয়্যার (সিরিয়াল, নোড রেড, এমকিউটিটি)
রিসিভার - সফটওয়্যার (সিরিয়াল, নোড রেড, এমকিউটিটি)
রিসিভার - সফটওয়্যার (সিরিয়াল, নোড রেড, এমকিউটিটি)
রিসিভার - সফটওয়্যার (সিরিয়াল, নোড রেড, এমকিউটিটি)

Esp8266 এ প্রোগ্রাম

Esp-01 রিসিভারের জন্য প্রোগ্রামটি আমার Github (Master_sender.ino) এ আছে। প্রোগ্রামটি সত্যিই সহজ, এটি কেবলমাত্র সিরিয়াল পোর্টে প্রাপ্ত রাস্তাবেরি পাইতে প্রাপ্ত ESP-NOW বার্তা প্রিন্ট করে।

সিরিয়াল পোর্ট

রাস্পবেরি পাইতে, আপনাকে অবশ্যই সিরিয়াল পোর্ট সক্রিয় করতে হবে (রাস্পবিয়ানে, 'সুডো রাস্পি-কনফিগ' চালানো) স্বাভাবিক সিরিয়াল যোগাযোগের জন্য।

সিরিয়াল পোর্টের নাম হল:

  • রাস্পবেরি পাই জিরো: /dev /ttyAMA0
  • রাস্পবেরি পাই 3: /dev /ttyS0

আপনি 'dmesg | চালিয়ে সিরিয়াল পোর্ট চেক করতে পারেন grep tty 'বা' ls /dev '

নোড লাল

নোড রেডে, সিরিয়াল ইনপুট নোড নির্বাচন করুন এবং সিরিয়াল পোর্ট সেটআপ করুন (সংযুক্ত ছবি দেখুন)। সিরিয়াল কানেকশনের বাউড্রেট নোট করুন, এটি অবশ্যই esp8266 এ প্রোগ্রাম করা বাডরেটের সাথে মেলে।

সিরিয়াল নোডের আউটপুট একটি ফাংশন নোড দ্বারা রূপান্তরিত হয় যা '&' সাইন এ বার্তা বিভক্ত করে এবং msg.topic এবং msg.payload সেট করে। ফাংশনের আউটপুট mqtt আউটপুট নোডে নিয়ে যায় যা MQTT সার্ভারে বার্তা পাঠায়। লক্ষ্য করুন mqtt নোডের টপিক ফিল্ড ফাঁকা, কারণ টপিকটি মেসেজে সেট করা আছে।

প্রস্তাবিত: