</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›آموزش›دریافت و رمزگشایی سیگنال LoRa با GNU Radio و RTL-SDR: آنالیز پکت واقعی (فارسی)
آموزش

دریافت و رمزگشایی سیگنال LoRa با GNU Radio و RTL-SDR: آنالیز پکت واقعی (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
GNU Radio LoRa RTL-SDR رمزگشایی سیگنال

GNU Radio و رمزگشایی LoRa چیست؟ (مبتدی)

GNU Radio یک محیط پردازش سیگنال متن‌باز است که با بلوک‌های گرافیکی (مشابه Blockly) کار می‌کند. به جای کدنویسی، بلوک‌هایی مثل “RTL-SDR Source”، “FFT”، “LoRa Decoder” را با خطوط به هم وصل می‌کنید و یک گیرنده کامل LoRa می‌سازید.

LoRa از مدولاسیون CSS (Chirp Spread Spectrum) استفاده می‌کند — فرکانس سیگنال به آرامی از پایین به بالا (یا بالا به پایین) تغییر می‌کند. این Chirpها در Waterfall شکل اریب دارند و با پلاگین gr-lora می‌توان payload واقعی را استخراج کرد.

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

شنود و رمزگشایی پکت‌های LoRa واقعی ارسال‌شده از یک Arduino+SX1278 با GNU Radio و RTL-SDR.

  • هزینه: RTL-SDR ۱۵-۳۰ دلار + نرم‌افزار رایگان
  • سیستم‌عامل: Linux (Ubuntu) پیشنهادی
  • پیش‌نیاز: یک ماژول LoRa ارسال‌کننده

LoRa Chirp در Waterfall — SF=7, BW=125kHz Upchirp پریامبل Downchirp (SFD)

نصب GNU Radio و gr-lora در Ubuntu


# نصب GNU Radio:
sudo apt install -y gnuradio gnuradio-dev

# نصب پلاگین RTL-SDR:
sudo apt install -y gr-osmosdr

# نصب gr-lora (رمزگشای LoRa):
sudo apt install -y cmake libboost-all-dev libspdlog-dev
git clone https://github.com/rpp0/gr-lora.git
cd gr-lora && mkdir build && cd build
cmake .. && make -j4
sudo make install && sudo ldconfig

# تأیید نصب:
python3 -c "import lora; print('gr-lora OK')"

ساخت Flowgraph در GNU Radio Companion


// بلوک‌های لازم در GNU Radio Companion:

// ۱. RTL-SDR Source
//    Device: rtl=0
//    Sample Rate: 1M
//    Center Freq: 433.175M  (فرکانس LoRa شما)

// ۲. Low Pass Filter
//    Cutoff: 125000 Hz (BW=125kHz)
//    Transition: 10000 Hz

// ۳. lora_receiver (از gr-lora)
//    SF: 7 (Spreading Factor)
//    BW: 125000
//    CR: 4/8 (Code Rate)
//    Implicit: False

// ۴. Message Debug
//    نمایش payload در Console

// اتصال: RTL-SDR → LPF → lora_receiver → Message Debug

// payload در console:
// pkt_len=13 payload=[0x48 0x65 0x6C 0x6C 0x6F] = "Hello"

برنامه TX LoRa برای تست (Arduino)


#include <LoRa.h>

void setup() {
  LoRa.begin(433.175E6);
  LoRa.setSpreadingFactor(7);   // SF7
  LoRa.setSignalBandwidth(125E3); // BW 125kHz
  LoRa.setCodingRate4(8);       // CR 4/8
  LoRa.setTxPower(14);
}

void loop() {
  LoRa.beginPacket();
  LoRa.print("Hello from UGV");
  LoRa.endPacket();
  delay(5000);
}

چک‌لیست رمزگشایی

بررسی نتیجه
Chirp در Waterfall دیده می‌شود؟ خطوط اریب زرد
SF و BW مطابقت دارد؟ همان تنظیم TX
payload در console ظاهر می‌شود؟ Message Debug
CRC Error ندارد؟ RSSI بالای -۱۲۰dBm باشد

Arduino TX SF7 BW125 RTL-SDR دریافت 433MHz gr-lora رمزگشایی payload نمایش GNU Radio Console GNU Radio + gr-lora — شنود و رمزگشایی LoRa واقعی

ویدئوهای آموزشی


منابع بیشتر

  • آپارات: GNU Radio LoRa رمزگشایی فارسی
  • GitHub: gr-lora LoRa PHY layer implementation
برچسب‌ها: Chirp GNU Radio gr-lora LoRa RTL-SDR Waterfall آنالیز سیگنال رمزگشایی
​
مطلب بعدی ساخت FPV Racer 5 اینچ از صفر: انتخاب قطعه، لحیم‌کاری، تنظیم Betaflight (فارسی) مطلب قبلی ساخت دستگاه ردیابی پهپاد Rogue با RSSI و جهت‌یابی LoRa (فارسی)
</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

یاد بگیر، بساز، به اشتراک بگذار. جامعه‌ای برای سازندگان، مهندسان و علاقه‌مندان به فناوری در ایران.

دسته‌بندی‌ها

  • پروژه‌ها
  • ربات‌های پرنده (UAV)
  • آموزش
  • ربات‌های زمینی (UGV)
  • الکترونیک
  • پهپاد و مولتی‌روتور

پیوندها

  • خانه
  • درباره ما
  • تماس
  • فید RSS

آخرین مطالب

  • خلاصه دوره ArduPilot/iNAV و گام‌های بعدی (فارسی)
  • رادیو تله‌متری در مقابل LTE/4G برای کنترل از راه دور (فارسی)
  • Ground Station روی موبایل و تبلت — QGroundControl و Solex (فارسی)
  • راه‌اندازی Ground Station با Mission Planner (فارسی)
© 2026 Make for Iran – بسازیم برای ایران. تمامی حقوق محفوظ است.
ساخته شده با ❤️ برای سازندگان ایران  |  ورود