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

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

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

ربات تحویل با مسیریابی GPS — از انبار تا درب خانه (فارسی)

​ ژوئن 12, 2026 2 دقیقه مطالعه
ربات تحویل GPS مسیریابی انبار درب خانه

فلوی کامل سیستم تحویل

یک سیستم تحویل کامل چند لایه دارد: ۱) سفارش: کاربر از اپ موبایل یا وب‌سایت آدرس تحویل را وارد می‌کند. ۲) ارسال Waypoint: سرور مختصات GPS را از طریق LoRa به ربات می‌فرستد. ۳) حرکت: ربات با GPS waypoint به مقصد می‌رود. ۴) تأییدیه: وقتی رسید، یک کد یک‌بار مصرف از طریق SMS به گیرنده می‌فرستد. گیرنده کد را وارد می‌کند و کمپارتمان باز می‌شود.

🛠️ کارت پروژه

پشته Arduino + GPS + LoRa (ربات) + Python Server + اپ وب
اعلان SMS با ماژول SIM800L یا ایمیل

اسکریپت Python — سرور مسیریابی

import serial, time, json

# دریافت Waypoint از وب‌سرویس
def get_next_delivery():
    return {"lat": 35.7125, "lng": 51.4055, "code": "7842"}

# ارسال به ربات از طریق LoRa Gateway
lora_serial = serial.Serial('/dev/ttyUSB0', 9600)

def send_waypoint(delivery):
    cmd = f"WP:{delivery['lat']:.6f},{delivery['lng']:.6f}\n"
    lora_serial.write(cmd.encode())
    print(f"Sent waypoint: {delivery['lat']}, {delivery['lng']}")

def wait_arrival():
    while True:
        if lora_serial.in_waiting:
            msg = lora_serial.readline().decode().strip()
            if "ARRIVED" in msg:
                return True
        time.sleep(0.5)

delivery = get_next_delivery()
send_waypoint(delivery)
if wait_arrival():
    # ارسال SMS با کد تأیید
    print(f"Delivery arrived. Code: {delivery['code']}")
    # send_sms(customer_phone, f"کد تحویل: {delivery['code']}")

کد Arduino — دریافت Waypoint از سرور

double targetLat, targetLng;
bool hasTarget = false;

void loop(){
  // دریافت Waypoint از LoRa
  int pkt = LoRa.parsePacket();
  if(pkt > 0){
    String cmd = "";
    while(LoRa.available()) cmd += (char)LoRa.read();
    if(cmd.startsWith("WP:")){
      String coords = cmd.substring(3);
      int comma = coords.indexOf(',');
      targetLat = coords.substring(0,comma).toDouble();
      targetLng = coords.substring(comma+1).toDouble();
      hasTarget = true;
    }
  }

  if(hasTarget && gps.location.isValid()){
    float dist = gpsDist(gps.location.lat(), gps.location.lng(), targetLat, targetLng);
    if(dist < 3.0){
      stopMotors();
      hasTarget = false;
      // اعلان رسیدن
      LoRa.beginPacket(); LoRa.print("ARRIVED"); LoRa.endPacket();
    } else {
      navigateTo(targetLat, targetLng);
    }
  }
}

  • Starship Technologies — الهام از ربات تحویل واقعی
  • آپارات: سیستم تحویل ربات
برچسب‌ها: GPS Routing LoRa Python UGV Waypoint تأییدیه تحویل ربات تحویل موبایل
​
مطلب بعدی ساخت ربات تحویل از چوب — ۲ چرخ + کستر، بدون هیچ قطعه گران‌قیمت (فارسی) مطلب قبلی موتور DC با Encoder: کنترل دقیق سرعت و موقعیت با PID (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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