Search Code

১৩ মাইল ২১ কিলোমিটার দূর থেকে একটি ডিভাইস চালু করুন – WiFi LoRa 32 সহ আলটিমেট অফ-গ্রিড LoRa প্রজেক্ট!

১৩ মাইল ২১ কিলোমিটার দূর থেকে একটি ডিভাইস চালু করুন – WiFi LoRa 32 সহ আলটিমেট অফ-গ্রিড LoRa প্রজেক্ট!

কল্পনা করুন আপনার দূরবর্তী কেবিনে একটি জলের পাম্প চালু করতে পারছেন, মাইল দূর থেকে একটি গেট খুলতে পারছেন, বা আপনার ওয়ার্কশপে একটি হিটার সক্রিয় করতে পারছেন—এসবই Wi-Fi সংযোগ, সেলুলার প্ল্যান বা কোনো মাসিক ফি ছাড়াই। এটি হলো LoRa (লং রেঞ্জ) প্রযুক্তির শক্তি। এই প্রকল্পে, আমরা Heltec Wi-Fi LoRa 32 মডিউল ব্যবহার করে একটি নিরাপদ, অফ-গ্রিড রিমোট কন্ট্রোল সিস্টেম তৈরি করব। আমরা একটি ট্রান্সমিটার তৈরি করব যা একটি রিসিভারে ১৩ মাইল (২১ কিমি) দূরত্বে একটি নিরাপদ সংকেত পাঠাবে, যা আপনার পছন্দের যেকোনো ডিভাইস নিয়ন্ত্রণ করতে একটি রিলে সক্রিয় করবে।

 

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

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

এই প্রকল্পের মূল হলো Heltec Wi-Fi LoRa 32 V3 মডিউল, যা আমরা একটি পেশাদার Meshnology N32 কেসে 3000mAh ব্যাটারি সহ রাখব যাতে এটি সত্যিই বহনযোগ্য হয়। আমরা একটি রিলে এবং একটি বাজারের জন্য ওয়্যারিং অন্বেষণ করব, প্রয়োজনীয় কোড কনফিগারেশন ব্যাখ্যা করব, এবং দেখাব কীভাবে একটি নিরাপদ লিংক সেট আপ করতে হয় যা অন্যান্য LoRa ডিভাইসের সাথে হস্তক্ষেপ করবে না। ফলাফল হলো একটি স্বয়ংসম্পূর্ণ, শক্তিশালী রিমোট সুইচ যা সম্পূর্ণ বিনামূল্যে কাজ করে, এমন দূরত্বে যা ঐতিহ্যবাহী Wi-Fi বা ব্লুটুথ সমাধান অসম্ভব করে তুলবে।

হার্ডওয়্যার ও উপাদানসমূহ

এই প্রকল্পটি তৈরি করতে, আপনার নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে। মূল আইটেমগুলি প্রায়শই Meshnology থেকে একটি কিট হিসাবে পাওয়া যায়, যা সমাবেশ প্রক্রিয়া সহজ করে।

  • ২টি Heltec Wi-Fi LoRa 32 V3 মডিউল: সমন্বিত LoRa, Wi-Fi এবং ব্লুটুথ সহ প্রধান মাইক্রোকন্ট্রোলার। (ভিডিওতে 00:23 এ)
  • ২টি Meshnology N32 কেস: Heltec মডিউল এবং একটি বড় ব্যাটারির জন্য ডিজাইন করা একটি শক্ত, পেশাদার আবরণ। (ভিডিওতে 02:00 এ)
  • ২টি 3000mAh 3.7V LiPo ব্যাটারি: অফ-গ্রিড অপারেশনের জন্য দীর্ঘস্থায়ী, বহনযোগ্য শক্তি সরবরাহ করে। (ভিডিওতে 02:14 এ)
  • ১টি রিলে মডিউল: আপনার উচ্চ-শক্তি লোড (যেমন, মোটর, আলো বা পাম্প) সুইচ করার জন্য একটি 5V রিলে মডিউল।
  • ১টি বাজার (ঐচ্ছিক): অডিও ফিডব্যাকের জন্য একটি 5V অ্যাক্টিভ বাজার, যা একটি 2N2222 ট্রানজিস্টর দ্বারা চালিত।
  • ১টি 2N2222 ট্রানজিস্টর (ঐচ্ছিক): বাজারটি নিরাপদে চালানোর জন্য ব্যবহৃত একটি NPN ট্রানজিস্টর।
  • ১টি 1kΩ রোধক (ঐচ্ছিক): ট্রানজিস্টরের বেসের জন্য একটি কারেন্ট-সীমাবদ্ধ রোধক।
  • ২টি উচ্চ-লাভ অ্যান্টেনা: ট্রান্সমিশন রেঞ্জ এবং রিসিভার সংবেদনশীলতা সর্বাধিক করতে। (ভিডিওতে 04:35 এ)
  • বিভিন্ন তার ও সংযোগকারী: প্রয়োজনীয় সংযোগ তৈরি করতে।

Heltec ESP32 বোর্ড ইনস্টল করা

ভিডিওতে দেখানো হিসাবে আপনার Arduino IDE-এর পছন্দসমূহে এই পথটি যোগ করুন:https://resource.heltec.cn/download/package_heltec_esp32_index.json

প্রয়োজনীয় লাইব্রেরি

আপনাকে অবশ্যই Robojax_HeltecLoRa32 লাইব্রেরিটি ইনস্টল করতে হবে। এই নিবন্ধের নিচের লিংক থেকে এটি ডাউনলোড করুন।

কোনো কোড আপলোড করার আগে Arduino IDE-এর মাধ্যমে এই ZIP লাইব্রেরিটি ইনস্টল করুন।

ওয়্যারিং গাইড

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

ট্রান্সমিটার: ট্রান্সমিটারটি Heltec মডিউলের অন্তর্নির্মিত ইউজার বাটন ব্যবহার করে। কন্ট্রোল সিগন্যালের জন্য কোনো বাহ্যিক ওয়্যারিং প্রয়োজন নেই। ডিভাইসটি চালু করার আগে শুধু অ্যান্টেনা সংযুক্ত আছে তা নিশ্চিত করুন।

রিসিভার: রিসিভারের GPIO 4 পিনটি রিলে বা বাজার নিয়ন্ত্রণ করতে ব্যবহৃত হয়। ওয়্যারিং নিচে দেখানো হয়েছে। মনে রাখবেন যে রিলেটি ESP32 থেকে বিচ্ছিন্ন, তাই রিলের লোড সার্কিটের জন্য আপনার একটি পৃথক পাওয়ার সোর্স প্রয়োজন হবে।

রিলে সংযোগ:

  • Heltec মডিউলের 3.3V পিনটি রিলে মডিউলের VCC পিনের সাথে সংযুক্ত করুন (অথবা একটি বুস্ট কনভার্টারের পজিটিভ ইনপুটের সাথে যদি আপনার স্থিতিশীল 5V প্রয়োজন হয়)।
  • Heltec মডিউলের GND পিনটি রিলে মডিউলের GND পিনের সাথে সংযুক্ত করুন।
  • Heltec মডিউলের GPIO 4 পিনটি রিলে মডিউলের IN (সিগন্যাল) পিনের সাথে সংযুক্ত করুন। (ভিডিওতে 14:54 মিনিটে)

বাজার সংযোগ (ট্রানজিস্টর সহ): ESP32-এর GPIO পিনগুলি সরাসরি বাজার চালানোর জন্য পর্যাপ্ত কারেন্ট সরবরাহ করতে পারে না। একটি ট্রানজিস্টর মাইক্রোকন্ট্রোলারকে সুরক্ষিত করতে একটি সুইচ হিসাবে কাজ করে। (ভিডিওতে 16:47 মিনিটে)

  • 3.3V পিনটি বাজারের পজিটিভ (+) টার্মিনালের সাথে সংযুক্ত করুন।
  • বাজারের নেগেটিভ (-) টার্মিনালটি 2N2222 ট্রানজিস্টরের কালেক্টর-এর সাথে সংযুক্ত করুন।
  • ট্রানজিস্টরের ইমিটারটি GND পিনের সাথে সংযুক্ত করুন।
  • ট্রানজিস্টরের বেসটি 1kΩ রোধের এক প্রান্তের সাথে সংযুক্ত করুন।
  • রোধের অন্য প্রান্তটি GPIO 4 পিনের সাথে সংযুক্ত করুন।
Heltec_Wifi_LoRA_32_wiring_uzzer
Heltec_Wifi_LoRA_32_wiring_uzzer
641_Heltec_Wifi_LoRA_Rotary_Encoder_wiring
641_Heltec_Wifi_LoRA_Rotary_Encoder_wiring
617_WiFi_LoRa32_Relay_wiring_boost
617_WiFi_LoRa32_Relay_wiring_boost

কোড ব্যাখ্যা

এই প্রকল্পের কোডটি Robojax Heltec LoRa 32 লাইব্রেরিতে প্রদান করা হয়েছে। আপনার Arduino IDE-তে এই লাইব্রেরি এবং প্রয়োজনীয় বোর্ড সাপোর্ট প্যাকেজ ইনস্টল করতে হবে। সেটআপ প্রক্রিয়াটি ভিডিওতে বিস্তারিতভাবে দেখানো হয়েছে। লাইব্রেরিগুলি ইনস্টল হয়ে গেলে, আপনি উদাহরণ স্কেচগুলি খুলতে পারেন: ট্রান্সমিটারের জন্য Relay_Secure_TX_Sample এবং রিসিভারের জন্য Relay_Secure_RX। (ভিডিওতে 26:12 মিনিটে)

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

// ব্যবহারকারী কনফিগারযোগ্য ভেরিয়েবল // ============================ bool debug = false; // সিরিয়াল মনিটর আউটপুট সক্ষম করতে true সেট করুন // ট্রান্সমিটার সেটিংস const int userPin = 0; // ব্যবহারকারী বোতামের জন্য GPIO পিন String relayOnText = "রিলে চালু"; // ডিসপ্লেতে দেখানো টেক্সট String relayOffText = "রিলে বন্ধ"; // ডিসপ্লেতে দেখানো টেক্সট // রিসিভার সেটিংস const int relayPin = 4; // রিলে বা ট্রানজিস্টরের সাথে সংযুক্ত GPIO পিন int relayOnDuration = 3000; // "স্যাম্পল" কোডের জন্য রিলে চালু থাকার সময় মিলিসেকেন্ডে // নিরাপত্তা সেটিংস (উভয় ডিভাইসে অবশ্যই অভিন্ন হতে হবে) String securityKey = "your_secret_key"; // নিরাপদ যোগাযোগের জন্য একটি শেয়ার্ড গোপন String secret = "your_secret"; // অতিরিক্ত নিরাপত্তার জন্য আরেকটি গোপন // LoRa সেটিংস (উভয় ডিভাইসে অবশ্যই অভিন্ন হতে হবে) #define LORA_FREQUENCY 915.0 // MHz-এ ফ্রিকোয়েন্সি (যেমন, ইউরোপের জন্য 868.0, মার্কিন যুক্তরাষ্ট্রের জন্য 915.0) int power = 20; // dBm-এ ট্রান্সমিশন পাওয়ার (2 থেকে 20) // ============================

এই প্রতিটি সেটিং কী করে তা নিচে দেওয়া হলো:

  • debug: true সেট করা হলে, কোডটি Arduino IDE-এর সিরিয়াল মনিটরে বিস্তারিত তথ্য প্রিন্ট করবে। এটি সমস্যা সমাধানের জন্য উপযোগী, তবে পাওয়ার বাঁচাতে সাধারণ অপারেশনের জন্য false সেট করা উচিত।
  • userPin (ট্রান্সমিটার): এটি সেই GPIO পিন নির্ধারণ করে যা সিগন্যাল পাঠাতে আপনি চাপবেন এমন বোতামের সাথে সংযুক্ত। ডিফল্ট হলো 0, যা Heltec মডিউলের বিল্ট-ইন ব্যবহারকারী বোতাম।
  • relayPin (রিসিভার): এটি সেই GPIO পিন যা আপনার রিলে বা ট্রানজিস্টর নিয়ন্ত্রণ করতে সিগন্যাল আউটপুট করবে। ডিফল্ট হলো 4। আপনি যদি আপনার রিলে ভিন্ন পিনে সংযুক্ত করেন, তবে এই মানটি পরিবর্তন করতে হবে।
  • relayOnDuration (রিসিভার): এটি "স্যাম্পল" কোডে ব্যবহৃত হয়। এটি নির্ধারণ করে সিগন্যাল পাওয়ার পর রিলে কতক্ষণ চালু থাকবে। উদাহরণস্বরূপ, 1000 সেট করলে রিলে ১ সেকেন্ড চালু থাকবে। এটি দরজা খোলার মতো "ক্ষণস্থায়ী" কাজের জন্য উপযোগী। "টগল" উদাহরণ কোডটি এটি উপেক্ষা করবে এবং প্রতিটি চাপে অবস্থা পরিবর্তন করবে।
  • securityKey এবং secret: এগুলো আপনার LoRa লিংকের পাসওয়ার্ড। ট্রান্সমিটার এবং রিসিভার উভয়েই এগুলো অবশ্যই হুবহু একই হতে হবে। এটি অননুমোদিত ব্যবহারকারীদের আপনার ডিভাইস নিয়ন্ত্রণ করতে বাধা দেয়। (ভিডিওতে ২৭:১৯ এ)
  • LORA_FREQUENCY: এটি রেডিও ফ্রিকোয়েন্সি ব্যান্ড নির্ধারণ করে। উভয় ডিভাইসে এটি অবশ্যই একই হতে হবে এবং আপনার দেশে আইনসম্মত হতে হবে (যেমন, ইউরোপে 868 MHz, উত্তর আমেরিকায় 915 MHz)। (ভিডিওতে ২৭:৩৬ এ)
  • power: এটি dBm-এ ট্রান্সমিশন পাওয়ার নির্ধারণ করে। 2 মান পরীক্ষার জন্য কম পাওয়ার, আর 20 হলো দীর্ঘতম পরিসরের জন্য সর্বোচ্চ। (ভিডিওতে ২৭:৪৩ এ)

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

লাইভ প্রজেক্ট ও প্রদর্শন

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

দ্বিতীয়, আরও впечатляющий পর্যায়টি হলো বাস্তব-বিশ্বের রেঞ্জ পরীক্ষা। ট্রান্সমিটারটি একটি হ্রদের পাশে ট্রাইপডে রাখা হয়েছিল, এবং রিসিভারটি ১৩.০৪ মাইল (২০.৯৮ কিমি) দূরে একটি স্পষ্ট দৃষ্টিরেখাযুক্ত স্থানে নেওয়া হয়েছিল। ভিডিওতে দেখা যায় রিসিভারটি দূরবর্তী স্থান থেকে প্রেরিত ভোল্টেজ মান প্রদর্শন করছে, যা ২১ কিমি পরিসরে সফলভাবে ডেটা গ্রহণ করছে। এটি প্রকল্পের ক্ষমতা নিশ্চিত করে যে কোনো বিদ্যমান অবকাঠামো ছাড়াই বিনামূল্যে বিশাল দূরত্বে ডিভাইস নিয়ন্ত্রণ করা যায়।

অধ্যায়সমূহ

  • [০০:০০] অফ-গ্রিড LoRa নিয়ন্ত্রণের ভূমিকা
  • [০১:০১] প্রকল্পের ওভারভিউ এবং সিরিজের ভূমিকা
  • [০১:৫৭] হার্ডওয়্যার আনবক্সিং এবং পরীক্ষা
  • [০৪:৫৬] Heltec মডিউল এবং অ্যান্টেনা বোঝা
  • [০৭:৫৭] Meshnology N32 কেস একত্রিত করা
  • [১৩:৫৬] রিলে এবং বাজার সার্কিট ওয়্যারিং
  • [১৯:৪১] চূড়ান্ত সমাবেশ এবং কেস পরিবর্তন
  • [২১:৫১] প্রয়োজনীয় সফটওয়্যার এবং লাইব্রেরি ইনস্টল করা
  • [২৬:১২] ট্রান্সমিটার কোড কনফিগার করা
  • [২৮:৪৬] রিসিভার কোড কনফিগার করা
  • [৩০:০২] লাইভ প্রদর্শন: একটি রিলে এবং বাজার নিয়ন্ত্রণ
  • [৩৩:০৬] বাস্তব-বিশ্বের ১৩-মাইল রেঞ্জ পরীক্ষা এবং উপসংহার

ছবি

617_WiFi_LoRa32_Relay_wiring_boost
617_WiFi_LoRa32_Relay_wiring_boost
641_Heltec_Wifi_LoRA_Rotary_Encoder_wiring
641_Heltec_Wifi_LoRA_Rotary_Encoder_wiring
Heltec_Wifi_LoRA_32_wiring_uzzer
Heltec_Wifi_LoRA_32_wiring_uzzer
Heltec_WiFi_LoRa_32_V3_N35-1-package
Heltec_WiFi_LoRa_32_V3_N35-1-package
কোন কোড সংযুক্ত নেই।

সম্পদ ও রেফারেন্সসমূহ

ফাইলসমূহ📁

অন্যান্য ফাইলগুলি