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

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

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›آموزش›ساخت دستگاه ردیابی پهپاد Rogue با RSSI و جهت‌یابی LoRa (فارسی)
آموزش ربات‌های پرنده (UAV)

ساخت دستگاه ردیابی پهپاد Rogue با RSSI و جهت‌یابی LoRa (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
ردیابی پهپاد RSSI LoRa Triangulation

ردیابی RSSI و Triangulation چیست؟ (مبتدی)

هر دستگاه RF (LoRa، WiFi، BLE) در هنگام ارسال، RSSI (Received Signal Strength Indicator) را ایجاد می‌کند. هرچه دستگاه دورتر باشد، RSSI منفی‌تر (ضعیف‌تر) است. با سه گیرنده در مکان‌های مختلف، می‌توان موقعیت فرستنده را با Triangulation (مثلث‌سازی) تخمین زد.

این سیستم می‌تواند پهپادهایی که سیگنال LoRa ارسال می‌کنند (مثل ردیاب‌های پرواز) را ردیابی کند. دقت معمولاً ±۱۰-۵۰ متر در شرایط باز است. سه نود ESP32+LoRa در مکان‌های مختلف قرار می‌گیرند و RSSI را به یک سرور مرکزی ارسال می‌کنند.

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

سه نود LoRa + سرور مرکزی برای تخمین موقعیت دستگاه RF در محوطه.

  • هزینه: ۳ × ۱۵ دلار = ۴۵ دلار
  • دقت: ±۱۰-۵۰ متر (RSSI)
  • محدوده: تا ۵۰۰ متر شعاع

N1 N2 N3 پهپاد Triangulation — ۳ نود RSSI → موقعیت پهپاد RSSI=-85 RSSI=-78 RSSI=-92

کد گیرنده نود (ESP32+LoRa)


#include <LoRa.h>
#include <WiFi.h>
#include <HTTPClient.h>

const int NODE_ID = 1;   // شناسه نود (1, 2, 3)
const char* SERVER = "http://192.168.1.100:8080/rssi";

void setup() {
  WiFi.begin("SSID", "pass");
  while(WiFi.status()!=WL_CONNECTED) delay(500);
  LoRa.begin(433.175E6);
  LoRa.setSpreadingFactor(7);
}

void loop() {
  int sz = LoRa.parsePacket();
  if(sz > 0) {
    String data = "";
    while(LoRa.available()) data += char(LoRa.read());
    int rssi = LoRa.packetRssi();
    float snr  = LoRa.packetSnr();

    // ارسال به سرور
    HTTPClient http;
    http.begin(SERVER);
    http.addHeader("Content-Type","application/json");
    String body = "{\"node\":"+String(NODE_ID)+
                  ",\"rssi\":"+String(rssi)+
                  ",\"snr\":"+String(snr,1)+
                  ",\"data\":\""+data+"\"}";
    http.POST(body);
    http.end();
  }
}

الگوریتم Triangulation (Python)


import numpy as np

# مختصات نودها (متر از مبدأ)
nodes = {1: (0, 0), 2: (460, 0), 3: (230, 350)}

def rssi_to_distance(rssi, tx_power=-20, path_loss=2.7):
    return 10 ** ((tx_power - rssi) / (10 * path_loss))

def triangulate(rssi_data):
    # rssi_data = {1: -85, 2: -78, 3: -92}
    dists = {n: rssi_to_distance(r) for n, r in rssi_data.items()}
    # حل سیستم معادلات دایره‌ای (Least Squares)
    A, b = [], []
    n_list = list(nodes.keys())
    x0,y0 = nodes[n_list[0]]
    d0 = dists[n_list[0]]
    for n in n_list[1:]:
        xi,yi = nodes[n]; di = dists[n]
        A.append([2*(xi-x0), 2*(yi-y0)])
        b.append(di**2 - xi**2 - yi**2 - d0**2 + x0**2 + y0**2)
    pos = np.linalg.lstsq(A, b, rcond=None)[0]
    return pos[0], pos[1]

print(triangulate({1:-85, 2:-78, 3:-92}))

چک‌لیست

بررسی نتیجه
هر ۳ نود RSSI را به سرور می‌فرستند؟ ☐
مختصات نودها دقیق است؟ ☐ GPS یا متر
خطا در میدان باز زیر ۵۰ متر؟ ☐
RSSI calibration با فاصله معلوم؟ ☐

LoRa TX پهپاد ۳ نود RSSI ESP32+LoRa Python Server Triangulation نقشه موقعیت Leaflet.js RSSI Triangulation — ۳ نود → موقعیت پهپاد روی نقشه

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


منابع بیشتر

  • آپارات: RSSI مکان‌یابی پهپاد فارسی
  • GitHub: LoRa RSSI Triangulation Examples
برچسب‌ها: ESP32 LoRa RSSI Triangulation آموزش گام‌به‌گام جهت‌یابی ردیابی پهپاد نقشه
​
مطلب بعدی دریافت و رمزگشایی سیگنال LoRa با GNU Radio و RTL-SDR: آنالیز پکت واقعی (فارسی) مطلب قبلی ساخت Walkie-Talkie دیجیتال با SA818 و ESP32: صدای FM باند VHF/UHF (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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