آموزش راه اندازی ماژول LORA SX1278 با ESP32

فهرست مطالب

ویژگی های ماژول فرستنده گیرنده LORA RA-02

در بسیاری از مواقع نیاز است که تجهیزات الکترونیکی به صورت بی سیم به یکدیگر متصل شوند. در این مواقع از تجهیزات Radio Frequency یا به اختصار RF استفاده می‌شود. RF ها شامل تمامی امواج رادیویی هستند که با توجه به فرکانس و دامنه می‌توانند فاصله‌های مختلفی را طی کنند و به گیرنده برسند.

LoRa، یک فناوری محبوب است که هم برای پروژه‌های IOT که دارای ارتباطات برد بلند و گسترده هستند، مناسب است و هم یک ماژول توسعه یافته تکنولوژی Ai-Thinker است که تولیدکننده سری‌های محبوب ESP32 می‌باشد. این ماژول کاربردی بر پایه تراشه SX1278 است و دارای فرکانس کاری 433 مگاهرتز می‌باشد.

 

این ماژول شامل UART ،GPIO ،LoRA Radio layer، رابط‌های SPI و I2C و … است. میکروکنترلر با استفاده از UART با فرستنده LoRa برای کنترل و مانیتور کردن برنامه‌ها با هم در ارتباط هستند. ماژول لورا از طریق پروتکل SPI قابل اتصال به بردهایی نظیر ESP32 و رزبری پای می‌باشد.

جهت دریافت دیتاشیت LORA اینجا کلیک کنید.

معرفی پایه ها (Pinout) ماژول LORA

ماژول LORA دارای 16 پایه به شرح زیر است:

  • 3V: تغذیه ماژول
  • GND: زمین
  • MOSI: خط دریافتی اطلاعات برای پروتکل SPI
  • MISO: خط ارسالی اطلاعات برای پروتکل SPI
  • SCK: همزمان سازی برای پروتکل SPI
  • NSS: انتخاب ماژول برای پروتکل SPI
  • RESET: ریست ماژول
  • DIO0: خط دیتا 0 ماژول
  • DIO1: خط دیتا 1 ماژول
  • DIO2: خط دیتا 2 ماژول
  • DIO3: خط دیتا 3 ماژول
  • DIO4: خط دیتا 4 ماژول
  • DIO5: خط دیتا 5 ماژول

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

ماژول وای فای و بلوتوث ESP32S × 1
ماژول ترنسیور وایرلس LORA-RA02 × 1
سیم جامپر نری به مادگی × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول LORA با ESP32

گام اول: سیم بندی

هر یک از دو ماژول LORA را مطابق مدار زیر، به یک ESP32 وصل کنید.

گام دوم: نصب کتابخانه

کتابخانه زیر را بر روی آردوینوی خود نصب کنید.

https://github.com/sandeepmistry/arduino-LoRa

توجه

اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.

گام سوم: کد

کد زیر را بر روی ESP32 خود در سمت گیرنده آپلود کنید.

/*
  Create on March 17, 2021
  Create by MohammedDamirchi base of https://github.com/sandeepmistry/arduino-LoRa
  
Home
*/ #include <SPI.h> #include <LoRa.h> #define ss 15 #define rst 4 #define dio0 2 void setup() { Serial.begin(9600); while (!Serial); delay(500); Serial.println("LoRa Receiver"); LoRa.setPins(ss, rst, dio0); if (!LoRa.begin(433E6)) { Serial.println("Starting LoRa failed!"); while (1); } Serial.println("Starting LoRa failed!"); } void loop() { // try to parse packet int packetSize = LoRa.parsePacket(); if (packetSize) { // received a packet Serial.print("Received packet '"); // read packet while (LoRa.available()) { Serial.print((char)LoRa.read()); } // print RSSI of packet Serial.print("' with RSSI "); Serial.println(LoRa.packetRssi()); } }

کد زیر را بر روی ESP32 خود در سمت فرستنده آپلود کنید.


#include <SPI.h>
#include <LoRa.h>

int counter = 0;

#define ss 15
#define rst 4
#define dio0 2

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Sender");
  LoRa.setPins(ss, rst, dio0);
  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  Serial.print("Sending packet: ");
  Serial.println(counter);

  // send packet
  LoRa.beginPacket();
  LoRa.print("hello ");
  LoRa.print(counter);
  LoRa.endPacket();

  counter++;

  delay(1000);
}

این کد جهت تست ارتباط مابین لورا ها می‌باشد.

سریال مانیتور ESP32 سمت گیرنده را باز کنید. اطلاعات زیر را مشاهده می‌کنید.

آموزش های مشابه

Comments (14)

  • mohsen Reply

    سلام. لطفا یک پروژه برای کنترل پایه های esp32 درست کنید!

    مارس 14, 2022 at 4:21 ب.ظ
  • mohsen Reply

    البته منظورم این بود که چطور میشه با Lora پایه های ماژول ESP رو از راه دور کنترل کرد؟ مثلا یه لامپی رو روشن و خاموش کرد!

    اکتبر 29, 2022 at 11:21 ب.ظ
    • مهران ملکی Reply

      سلام
      میتونید توسط این آموزش ارتباط بین دو ماژول ESP32 رو برقرار کنید. در ادامه هم یک مقدار خاص رو در کد گیرنده تعیین کنید که در صورتی که اون مقدار دریافت شد، پایه‌ای HIGH و یا LOW بشه. این کار رو میتونید به کمک یک if statement انجام بدید. در این صورت با ارسال اون مقدار خاص توسط ESP فرستنده میتونید پایه مورد نظر در ESP گیرنده رو کنترل کنید.

      نوامبر 11, 2022 at 2:46 ب.ظ
      • mohsen Reply

        خیلی ممنون.

        نوامبر 13, 2022 at 8:13 ب.ظ
  • متین Reply

    با سلام چگونه پس از نصب لورا رویی ESP32اردینو به ان متصل کنم و متور هارو کنترل کنم و بتونم سنسور هایی مختلف عدهاشو بخونم به گوشی متصلش کنم لطفا کمک کنید

    ژانویه 16, 2023 at 3:57 ب.ظ
    • علی عبدالملکی Reply

      سلام
      شما از طریق بلوتوث یا wifi خود esp32 دیتا رو از گوشی به برد میفرستید و سپس از برد فرستند لورا با تابع Lora.printمیتونید مقادیر مورد نظرتون رو ارسال کنید
      و در کد گیرنده هم از تابع LoRa.read() برای دریافت دیتا استفاده کنید
      حالا دیگه با دیتای مورد نظر هر کاری میتونید انجام بدید و مثلا همون موتور ها رو دورش رو کنترل کنید.

      فوریه 28, 2023 at 10:32 ق.ظ
  • سعید Reply

    سلام
    میشه برای کنترل پهپاد از این ماژول استفاده کرد؟؟

    فوریه 10, 2023 at 10:09 ب.ظ
    • علی عبدالملکی Reply

      سلام
      مهندس جان این ماژول بی سیم با فرکانس 433 مگاهرتزه برای کنترل از دور همه چی میشه استفاده کرد
      حالا فرق نمیکنه میخواد روشن و خاموش کردن یه لامپ باشه یا پرواز دادن یه ربات

      فوریه 21, 2023 at 3:59 ب.ظ
      • مجتبی Reply

        سلام
        چرا مهندس ! فرق بین روشن خاموش کردن چراغ و کنترل یه ربات پرنده!! احتمالا نتونید برای کنترل پهباد از این ماژول استفاده کنید بیت ریت پاینی داره

        مارس 7, 2023 at 10:07 ق.ظ
  • علی Reply

    سلام
    آیا امکان تغییر فرکانس هم وجود دارد؟
    مثلا اگر من فرکانس 150 مگا هرتز رو بخوام تنظیم کم علاوه بر نرم افزار نیاز هست سخت افزار هم تغییر کند؟

    نوامبر 29, 2023 at 9:50 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      در وحله اول بر روی ماژول نوشته شده است که چه بازه فرکانسی رو ساپورت میکند. هماهن طور که بر روی ماژول مشاهده میکنید نوشته شده است410-525 که نشانه این فرکانس می باشد.
      از سوی دیگر دستور فرکانس فقط این بازه را پشتیبانی میکند. frequency in Hz (433E6, 868E6, 915E6) که می توانید از کتابخانه مربوطه مشاهده کنید.
      برای اینکه فرکانس های غیر عرف رو داشته باشید باید دستگاه گیرنده خاط اون مورد را طراحی کنید مانند گیرنده/فرستنده های RF 433 و 315 که ساده ترین نوع گیرنده و فرستنده هستند.
      به این موضوع نیز باید توجه داشته باشید که بعضی از فرکانس ها مجاز هستند و بعضی غیر مجاز و درصورتی که بر روی آن ها قرار بگیرید پیگرد قانونی دارند. و این مورد برای هر کشور متفاوت می باشد.

      دسامبر 2, 2023 at 9:47 ق.ظ
      • علی Reply

        سلام مهندس
        فرمایش شما کاملا درسته…
        فرکانسی که میخوام استفاده کنم مجاز هست.
        چون هسته خود ماژول فرکانس 137 تا 1020 مگا هرتز پشتیانی میکنه پس سخت افزار هست که باید تغییر بدم. و یه تغییرات جزیی در نرم افزار…
        شما اطلاعاتی دارید که چطوری باید سلف و خازنهای بین ماژول تا آنتن رو طراحی کنم که مثلا فرکانس 150 مگا هرتز رو داشته باشم.
        ممنون

        دسامبر 29, 2023 at 9:39 ق.ظ
  • علی Reply

    سلام
    آیا میشه ماژول رو در مد مدولاسیون GFSK استفاده کرد؟
    داخل دیتاشیت چیزی ننوشته فقط در مورد دو مدولاسیون FSK و OOK صحبت شده؟؟ در صورتی که این GMSK هم پشتیبانی میکنه!!!!!

    دسامبر 29, 2023 at 10:42 ق.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.