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

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

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

ساخت رادیو مش SDR با GNU Radio و USRP B200: شبکه رادیو دیجیتال (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
GNU Radio USRP B200 SDR Mesh شبکه رادیو دیجیتال

شبکه مش رادیو SDR چیست؟ (مبتدی)

در یک شبکه مش رادیو دیجیتال، هر نود یک SDR (USRP B200 یا RTL-SDR با TX مثل HackRF) دارد که می‌تواند هم ارسال و هم دریافت کند. GNU Radio لایه فیزیکی (مدولاسیون OFDM یا GMSK) را پیاده‌سازی می‌کند. یک MAC Layer ساده روی Python پیام‌ها را بسته‌بندی کرده و مسیریابی می‌کند.

این رویکرد برای تحقیقات شبکه‌های رادیویی ارتش، هواپیماهای بدون سرنشین مدنی، و شبکه‌های اضطراری جالب است. USRP B200 حدود ۶۰۰ دلار است اما می‌توان با HackRF (۲۰۰ دلار) هم شروع کرد.

محصولی که می‌سازید

یک شبکه رادیو دیجیتال ۲ نودی با GNU Radio و USRP/HackRF.

  • هزینه: HackRF One ≈ ۲۵۰ دلار (جایگزین ارزان‌تر)
  • مدولاسیون: GMSK یا BPSK
  • نرخ داده: ۱۰-۱۰۰kbps

GNU Radio Flowgraph — SDR Mesh Node Message Source GMSK Modulator BT=0.3 1200bps USRP/HackRF TX ≈ USRP/HackRF RX GMSK Demodulator Clock Recovery MAC Layer (Python) — Framing, ARQ, Addressing | Preamble | Sync | DST | SRC | LEN | Payload | CRC | GNU Radio Mesh — لایه فیزیکی GMSK + MAC ساده

MAC Layer ساده با Python


import struct, time
from gnuradio import gr, blocks, digital

class SimpleMACLayer:
    """MAC Layer ساده برای شبکه رادیو SDR"""
    PREAMBLE = bytes([0xAA]*4)
    SYNC = bytes([0x2D,0xD4])

    def __init__(self, my_addr):
        self.addr = my_addr

    def frame(self, dst, payload: bytes) -> bytes:
        """ساخت فریم MAC"""
        header = struct.pack("BBB", dst, self.addr, len(payload))
        data = self.PREAMBLE + self.SYNC + header + payload
        crc = sum(data) & 0xFF
        return data + bytes([crc])

    def deframe(self, raw: bytes):
        """باز کردن فریم"""
        idx = raw.find(self.SYNC)
        if idx < 0: return None
        body = raw[idx+2:]
        dst, src, ln = struct.unpack("BBB", body[:3])
        if len(body) < 3+ln+1: return None
        payload = body[3:3+ln]
        crc_calc = sum(body[:-1]) & 0xFF
        crc_recv = body[-1]
        if crc_calc != crc_recv: return None
        return {"dst":dst, "src":src, "payload":payload}

# استفاده:
mac = SimpleMACLayer(my_addr=1)
frame = mac.frame(dst=2, payload=b"Hello Node 2!")
print(f"Frame: {frame.hex()}")
decoded = mac.deframe(frame)
print(f"Decoded: {decoded}")

چک‌لیست راه‌اندازی

بررسی توضیح
GNU Radio نصب است؟ sudo apt install gnuradio
HackRF/USRP شناسایی می‌شود؟ hackrf_info یا uhd_find_devices
GMSK TX/RX Loop-back کار می‌کند؟ آنتن کوتاه loop-back
پیام بین ۲ نود ارسال شد؟ ۱ متر فاصله با آنتن کوچک

HackRF TX GMSK GNU Radio MAC Layer GNU Radio GMSK Demod HackRF RX نود ۲ SDR Mesh — HackRF + GNU Radio GMSK + MAC Python

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


منابع بیشتر

  • آپارات: GNU Radio SDR شبکه رادیو فارسی
  • GNU Radio: Official Tutorials
برچسب‌ها: GNU Radio MAC Layer OFDM SDR Mesh USRP B200 آموزش گام‌به‌گام دیجیتال شبکه رادیو
​
مطلب بعدی ماژول CMT2300A Sub-GHz OOK/GFSK ارزان: کنترل RC زیر ۸ دلار با برد ۱km (فارسی) مطلب قبلی ساخت پهپاد تله‌متری با ArduPilot و لاگ ابری: ارسال داده به ThingSpeak (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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