Toggle Nav

آموزش راه اندازی ماژول 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
  https://electropeak.com/learn/
*/



#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 
#include 

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 سمت گیرنده را باز کنید. اطلاعات زیر را مشاهده می‌کنید.

از این مطلب خوشتان آمد؟

آخرین مطالب و جدیدترین آموزش ها را در ایمیل خود دریافت کنید

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *