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

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

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

ساخت رله هوشمند LoRa با ESP32: کنترل دستگاه از فاصله ۵ کیلومتر (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
رله هوشمند LoRa ESP32 کنترل از راه دور

رله هوشمند LoRa یعنی چه؟ (برای مبتدی)

یک رله یک کلید الکترومغناطیسی است که می‌تواند مدار برق AC یا DC را باز و بسته کند — مثل کلید برق، اما با سیگنال کنترلی کوچک (۳.۳-۵V). با استفاده از LoRa برای ارسال فرمان، می‌توان یک دستگاه برقی را از فاصله ۵ کیلومتر و بدون اینترنت روشن یا خاموش کرد.

سیستم از دو Node تشکیل می‌شود: Node TX (دستگاه فرمان‌دهنده با دکمه فیزیکی یا از طریق Serial) و Node RX (دستگاه رله که فرمان را دریافت و اجرا می‌کند و تأیید می‌فرستد). پروتکل ساده فرمان-پاسخ (ACK) تضمین می‌کند که فرمان واقعاً رسیده است.

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

یک سیستم کنترل رله دو-Node با LoRa که فرمان و تأیید را با تأخیر کمتر از ۵۰۰ms رد و بدل می‌کند.

  • زمان ساخت: ۳ تا ۴ ساعت
  • هزینه: ۶۰۰ تا ۱ میلیون تومان
  • برد: تا ۵ کیلومتر در فضای باز

→ ON/OFF فرمان ← ACK تأیید Node TX ESP32 + دکمه LCD وضعیت Node RX ESP32 + رله LED وضعیت LoRa Relay — TX فرمان می‌فرستد → RX اجرا می‌کند → ACK برمی‌گرداند

قطعات لازم (BOM)

قطعه تعداد
TTGO LoRa32 یا Heltec WiFi LoRa 32 × ۲
ماژول رله ۵V تک‌کانال × ۱
دکمه فشاری × ۱
LCD 16×2 I2C (اختیاری) × ۱

کد Node TX (فرستنده فرمان)


#include <LoRa.h>
#define SCK 5; #define MISO 19; #define MOSI 27; #define SS 18; #define RST 14; #define DIO0 26

const int BTN = 0;
bool relayState = false;

void setup() {
  Serial.begin(115200);
  SPI.begin(SCK,MISO,MOSI,SS);
  LoRa.begin(433E6);
  LoRa.setSpreadingFactor(10);
  pinMode(BTN, INPUT_PULLUP);
}

void loop() {
  if(digitalRead(BTN) == LOW) {
    delay(50);  // debounce
    if(digitalRead(BTN) == LOW) {
      relayState = !relayState;
      LoRa.beginPacket();
      LoRa.print(relayState ? "ON" : "OFF");
      LoRa.endPacket();
      Serial.println("Sent: " + String(relayState ? "ON" : "OFF"));
      // منتظر ACK
      unsigned long t = millis();
      while(millis()-t < 2000) {
        int sz = LoRa.parsePacket();
        if(sz > 0) { String r=""; while(LoRa.available()) r+=char(LoRa.read()); Serial.println("ACK: "+r); break; }
      }
      while(digitalRead(BTN)==LOW) delay(10);
    }
  }
}

کد Node RX (رله گیرنده)


#include <LoRa.h>
const int RELAY_PIN = 12;
const int LED_PIN   = 25;

void setup() {
  SPI.begin(SCK,MISO,MOSI,SS);
  LoRa.begin(433E6);
  LoRa.setSpreadingFactor(10);
  pinMode(RELAY_PIN, OUTPUT);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  int sz = LoRa.parsePacket();
  if(sz > 0) {
    String cmd = "";
    while(LoRa.available()) cmd += char(LoRa.read());
    if(cmd == "ON")  { digitalWrite(RELAY_PIN, HIGH); digitalWrite(LED_PIN, HIGH); }
    if(cmd == "OFF") { digitalWrite(RELAY_PIN, LOW);  digitalWrite(LED_PIN, LOW);  }
    delay(10);
    LoRa.beginPacket(); LoRa.print("ACK:" + cmd); LoRa.endPacket();
  }
}

چک‌لیست تست

تست نتیجه
دکمه در TX → رله در RX وصل می‌شود؟ بله
ACK در Serial Monitor TX دیده می‌شود؟ بله
در فاصله ۱۰۰ متر کار می‌کند؟ بله
برق AC از طریق رله کنترل می‌شود؟ با احتیاط — ایزولاسیون برق AC

دکمه + ESP32 TX LoRa LoRa 433MHz 5km برد ESP32 + رله RX LoRa دستگاه برقی ON / OFF رله LoRa — دکمه → LoRa → رله → دستگاه + ACK تأیید

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


منابع بیشتر

  • آپارات: رله LoRa کنترل از راه دور فارسی
  • Random Nerd: TTGO LoRa32 Tutorial
برچسب‌ها: ESP32 LoRa SX1278 آموزش گام‌به‌گام رله مبتدی هوشمند کنترل از راه دور
​
مطلب بعدی ساخت RC Boat FPV با ESP32-CAM و موتور آبکار: کنترل از گوشی (فارسی) مطلب قبلی راهنمای آنتن پچ برای 2.4GHz: ساخت PCB Patch آنتن برای ELRS و WiFi FPV (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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