13 مایل 20 کیلومتر بدون WiFi؟ چگونه LoRa ولتاژ را در فواصل دیوانه وار ارسال کرد! (Heltec WiFi LoRa 32 V3)

13 مایل 20 کیلومتر بدون WiFi؟ چگونه LoRa ولتاژ را در فواصل دیوانه وار ارسال کرد! (Heltec WiFi LoRa 32 V3)

ساخت یک مانیتور ولتاژ بدون شبکه به مسافت ۱۳ مایل با LoRa و ESP32

آیا تا به حال نیاز داشته‌اید که یک منبع انرژی دور را نظارت کنید، مانند پنل خورشیدی در یک کلبه، بانک باتری در یک قایق یا تجهیزات در یک مزرعه بزرگ، از فاصله چند مایلی؟ این راهنمای پروژه شما را در ساخت یک مانیتور ولتاژ بلندبرد و مستقل که می‌تواند داده‌ها را تا فاصله‌ای شگفت‌انگیز منتقل کند، راهنمایی خواهد کرد.۱۳ مایل (یا ۲۱ کیلومتر)بدون هزینه‌های اشتراک و وابستگی به شبکه‌های Wi-Fi یا تلفن‌های همراه.

ما از دو استفاده خواهیم کردهلتک وای‌فای لورا ۳۲ماجیول‌ها، هرکدام در یک بدنه مقاوم جای گرفته‌اندقاب Meshnology N32با باتری 3000mAh، برای ایجاد یک فرستنده و یک گیرنده. فرستنده ولتاژ هدف (از چند ولت تا 100 ولت یا بیشتر) را با استفاده از یک مدار تقسیم ولتاژ ساده اندازه‌گیری می‌کند و اطلاعات را به صورت بی‌سیم با استفاده از LoRa ارسال می‌کند. سپس گیرنده این ولتاژ را به‌صورت بلادرنگ نمایش می‌دهد و به شما امکان می‌دهد سیستم‌های خود را از چند مایل دورتر نظارت کنید.


نحوه عملکرد: تقسیم کننده ولتاژ

هسته این پروژه توانایی اندازه‌گیری دامنه وسیعی از ولتاژها است. از آنجا که پایه‌های ورودی ESP32 تنها می‌توانند به‌طور ایمن ولتاژهایی تا 3.3V را اندازه‌گیری کنند، نمی‌توانیم منبع 12V یا 100V را به‌طور مستقیم متصل کنیم. برای حل این مشکل، از یک مدار ساده به‌نام یک استفاده می‌کنیمتقسیم کننده ولتاژ، که ولتاژ را به سطح ایمن برای میکروکنترلر کاهش می‌دهد تا خوانده شود. این موضوع در ویدیو توضیح داده شده است در۱۲:۲۶.

مدار از دو مقاومت (R1 و R2) که به صورت سری متصل شده‌اند، استفاده می‌کند. منبع ولتاژ بالا (Vدربرای هر دو مقاومت اعمال می‌شود و ESP32 ولتاژ پایین‌تر و متناسب (V را می‌خواند.بیرون) فقط بر روی مقاومت R2. با مقادیر صحیح مقاومت‌ها، می‌توانید ولتاژهای بسیار بالا را با دقت اندازه‌گیری کنید.

نقشه مدار یک تقسیم کننده ولتاژ با مقاومت‌های R1 و R2.

هنگام انتخاب مقاومت‌ها، یک قاعده خوب این است که مقادیری را انتخاب کنید که ولتاژ خروجی را به خوبی زیر حد ۳.۳ ولت نگه دارند، حتی زمانی که حداکثر ولتاژ مورد انتظار را اندازه‌گیری می‌کنید. برای دقت بهتر، باید مقاومت واقعی مقاومت‌هایتان را با یک مولتی‌متر اندازه‌گیری کرده و از آن مقادیر دقیق در شِفر (کود) استفاده کنید.

فرمول‌های محاسبه ولتاژ خروجی و ولتاژهای ورودی تقسیم ولتاژ.

مونتاژ سخت‌افزار و سیم‌کشی

تجمیع شامل قرار دادن ماجیول Heltec LoRa 32 و باتری 3000mAh داخل کیس N32 است. کیس دارای بریدگی‌هایی برای صفحه‌نمایش و دکمه‌ها و همچنین یک سوراخ برای نصب آنتن خارجی است. یکی از مهم‌ترین نکات ایمنی این است کهقبل از روشن کردن دستگاه، همیشه آنتن را متصل داشته باشید.چون ارسال بدون آنتن می‌تواند به ماجیول LoRa آسیب برساند.

نقشه سیم کشی اصلی که تقسیم کننده ولتاژ متصل به ESP32 و باتری را نشان می‌دهد.
عکس از سیم‌کشی واقعی پروژه با مقاومت‌ها و سیم‌های متصل شده.
عکس از صفحه نمایش OLED فرستنده که اندازه‌گیری ۳۰ ولت را نمایش می‌دهد.

تنظیم IDE و کتابخانه آردوئینو

https://resource.heltec.cn/download/package_heltec_esp32_index.json

برای برنامه‌نویسی ماجیول‌های هلتک، ابتدا باید Arduino IDE خود را پیکربندی کنید. این راه‌اندازی یک‌باره بسیار مهم است و جزئیات آن در۲۰:۴۱در ویدئو.

  1. نصب بوردهای ESP32:آدرس رسمی بردهای Espressif ESP32 را در فایل > تنظیمات اضافه کنید و بسته "esp32" را از مدیر بردها نصب کنید.
  2. نصب پشتیبانی هلتک:آدرس JSON مخصوص هلتک را به تنظیمات خود اضافه کنید. سپس، در مدیریت بردها، به دنبال بسته "Heltec ESP32" بگردید و آن را نصب کنید.
  3. کتابخانه‌های مورد نیاز را نصب کنید:با استفاده از مدیر کتابخانه (Sketch > Include Library > Manage Libraries)، موارد زیر را نصب کنید:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library(و وابستگی‌های آن)
  4. کتابخانه روبوجکس را نصب کنید:شما نیاز دارید تا نسخه سفارشی را دانلود کنید.Robojax_HeltecLoRa32کتابخانه‌ای که به صورت فایل .zip ارائه شده است. آن را در IDE از طریق Sketch > Include Library > Add .ZIP Library نصب کنید.
  5. لوح را انتخاب کنید:سرانجام به ابزارها > تخته بروید و انتخاب کنیدهلتک وای‌فای لورا ۳۲ (V3)و پورت COM درست.

توضیح تنظیمات شِفر (کود)

پروژه از دو طرح جداگانه استفاده می‌کند: یکی برای فرستنده (TX)و یکی برای اولیگیرنده (RX). شما فقط باید چند تنظیم کلیدی را در شِفر (کود) فرستنده پیکربندی کنید تا این دستگاه کار کند، همان‌طور که در۲۵:۰۲شِفر (کود) دریافت‌کننده نیاز به تنظیمات متناسب با LoRa دارد.


#define VOLTAGE_READING_PIN 4  // The pin reading the voltage
const int R1 = 39120; // Your measured value for R1 in ohms
const int R2 = 3312; // Your measured value for R2 in ohms

const float CALIB_FACTOR = 1.007f; // Calibration factor to match a multimeter

const char *displayTexttitle = "Voltage:"; // Text for the OLED
const char *displayTexTX = "(TX)";

// This security key MUST be IDENTICAL on the TX and RX devices
const char *userKey = "YOUR_SECRE8888";

// These LoRa settings MUST be IDENTICAL on the TX and RX devices
#define RF_FREQUENCY      915000000 // LoRa Frequency in Hz
#define TX_OUTPUT_POWER   2         // TX Power in dBm (2-21)
  • VOLTAGE_READING_PINپایه GPIO روی ESP32 که به خروجی تقسیم کننده ولتاژ شما متصل شده است.
  • R1وR2ورود بهمقادیر دقیق مقاومتاز دو مقاومت شما که توسط یک مولتی‌متر اندازه‌گیری شده است. این برای دقت بسیار مهم است.
  • CALIB_FACTORاگر ولتاژ نمایش داده شده شما کمی از یک مولتی‌متر معتبر متفاوت است، می‌توانید این مقدار را به بالا یا پایین تنظیم کنید (به عنوان مثال، 1.008 یا 0.995) تا خوانش را دقیق‌تر کنید. آن را به تنظیم کنید1.0برای غیرفعال کردن.
  • userKeyاین کلید امنیتی خصوصی شماست. تنها دستگاه‌هایی که دقیقاً همان کلید را دارند می‌توانند ارتباط برقرار کنند.
  • RF_FREQUENCYفرکانس عملیاتی برای LoRa. این باید در هر دو دستگاه مطابقت داشته باشد و برای منطقه شما قانونی باشد (به عنوان مثال، 915MHz برای آمریکای شمالی).
  • TX_OUTPUT_POWERقدرت انتقال، از ۲ (قدرت کم، برد کوتاه) تا ۲۱ (قدرت بالا، برد بلند). قدرت بالاتر انرژی بیشتری مصرف می‌کند. برای آزمایش ۱۳ مایلی، از مقدار ۲۰ استفاده شد. برای امتحان روی میز شما، ۲ کافی است.

شِفر (کود) گیرنده تنظیمات مشابهی دارد برایuserKeyوRF_FREQUENCYکه باید با تنظیمات فرستنده مطابقت داشته باشد.


پروژه زنده در حال اجرا

پس از بارگذاری شِفر (کود)، واحد فرستنده شروع به اندازه‌گیری ولتاژ منبع متصل شما خواهد کرد، آن را روی صفحه ال‌سی‌دی OLED خود با نشان "(TX)" نمایش می‌دهد و داده‌ها را از طریق LoRa ارسال می‌کند. واحد گیرنده، هنگامی که با کلید امنیتی و فرکانس مطابق برنامه‌ریزی شده است، به سیگنال گوش می‌دهد. به محض دریافت یک انتقال معتبر، ولتاژ مشابه را روی صفحه نمایش خود با نشان "(RX)" نمایش خواهد داد.

همانطور که در امتحان بلندمدت نشان داده شده است در۳۱:۳۹این راه‌اندازی بسیار مؤثر است. با آنتن‌های با بهره بالا و دید واضح، سیستم با موفقیت مقادیر دقیق ولتاژ را از فاصله ۱۳ مایلی ارسال و دریافت کرد و ثابت کرد که این یک راه‌حل قوی و قابل اعتماد برای وظایف جدی نظارت از راه دور است.


فصل‌های ویدیو

  • ۰۰:۰۰- شروع
  • ۰۳:۳۳- مقدمه‌ای بر برد و LoRa
  • ۰۵:۴۷قاب N32 برای WiFi LoRa 32
  • ۱۲:۲۶تقسیم ولتاژ برای اندازه‌گیری تا ۱۵۰ ولت
  • ۱۹:۴۷- آماده‌سازی سیم برای اندازه‌گیری ولتاژ
  • ۲۰:۴۱نصب کتابخانه برای WiFi LoRa 32
  • ۲۵:۰۲- توضیح شِفر (کود) انتقال
  • 27:16- توضیحات شِفر (کود) دریافت کننده
  • ۲۸:۳۶- نمایش ولتاژ خوانده شده
  • ۳۱:۳۹آزمایش فاصله واقعی (۱۳ مایل)
بدون شِفر (کود) پیوست شده.

Common Course Files

فایل‌ها📁

سایر فایل‌ها