کوڈ تلاش کریں

13 میل 20 کلومیٹر بغیر وائی فائی کے؟ LoRa نے اتنی دور وولٹیج کیسے بھیجی! (Heltec WiFi LoRa 32 V3)

یہ سبق کا حصہ ہے: وائی فائی LoRa کا تعارف

13 میل 20 کلومیٹر بغیر وائی فائی کے؟ LoRa نے اتنی دور وولٹیج کیسے بھیجی! (Heltec WiFi LoRa 32 V3)

13 میل کا آف گرڈ وولٹیج مانیٹر بنائیں LoRa اور ESP32 کے ساتھ

کیا آپ نے کبھی کسی دور دراز پاور سورس کی نگرانی کرنے کی ضرورت محسوس کی ہے، جیسے کہ کیبن میں سولر پینل، کشتی پر بیٹری بینک، یا بڑے فارم پر آلات، میلوں دور سے؟ یہ پروجیکٹ گائیڈ آپ کو ایک طویل فاصلے تک کام کرنے والا، آف گرڈ وولٹیج مانیٹر بنانے میں رہنمائی کرے گا جو حیرت انگیز طور پر 13 میل (یا 21 کلومیٹر) تک ڈیٹا منتقل کر سکتا ہے، بغیر کسی سبسکرپشن فیس یا وائی فائی یا سیلولر نیٹ ورکس پر انحصار کے۔

ہم دو Heltec WiFi LoRa 32 ماجیول استعمال کریں گے، ہر ایک مضبوط Meshnology N32 کیس میں 3000mAh بیٹری کے ساتھ، تاکہ ایک ٹرانسمیٹر اور ایک ریسیور بنایا جا سکے۔ ٹرانسمیٹر ایک سادہ وولٹیج ڈیوائیڈر سرکٹ کے ذریعے ہدف وولٹیج (چند وولٹ سے 100V یا اس سے زیادہ) کی پیمائش کرے گا اور LoRa کا استعمال کرتے ہوئے ریڈنگ وائرلیس طور پر بھیجے گا۔ ریسیور پھر اس وولٹیج کو ریئل ٹائم میں ڈسپلے کرے گا، جس سے آپ میلوں دور سے اپنے سسٹمز کی نگرانی کر سکیں گے۔


یہ کیسے کام کرتا ہے: وولٹیج ڈیوائیڈر

اس پروجیکٹ کا مرکز وولٹیجز کی وسیع رینج کی پیمائش کرنے کی صلاحیت ہے۔ چونکہ ESP32 کے ان پٹ پن صرف 3.3V تک کے وولٹیجز کو محفوظ طریقے سے ناپ سکتے ہیں، ہم 12V یا 100V سورس کو براہ راست نہیں جوڑ سکتے۔ اسے حل کرنے کے لیے، ہم ایک سادہ سرکٹ استعمال کرتے ہیں جسے وولٹیج ڈیوائیڈر کہتے ہیں، جو وولٹیج کو مائیکروکنٹرولر کے لیے محفوظ سطح تک کم کر دیتا ہے۔ یہ ویڈیو میں 12:26 پر وضاحت کی گئی ہے۔

سرکٹ دو ریزسٹرس (R1 اور R2) استعمال کرتا ہے جو سیریز میں جڑے ہوتے ہیں۔ ہائی وولٹیج سورس (Vin) دونوں ریزسٹرس پر لگایا جاتا ہے، اور ESP32 صرف R2 ریزسٹر کے پار کم، متناسب وولٹیج (Vout) پڑھتا ہے۔ صحیح ریزسٹر ویلیوز کے ساتھ، آپ بہت زیادہ وولٹیجز کو درست طریقے سے ناپ سکتے ہیں۔

R1 اور R2 ریزسٹرس کے ساتھ وولٹیج ڈیوائیڈر کا سرکٹ ڈایاگرام۔

اپنے ریزسٹرس کا انتخاب کرتے وقت، ایک اچھا اصول یہ ہے کہ ایسی ویلیوز منتخب کریں جو آؤٹ پٹ وولٹیج کو 3.3V کی حد سے کافی نیچے رکھیں، یہاں تک کہ جب آپ زیادہ سے زیادہ متوقع وولٹیج ناپ رہے ہوں۔ بہترین درستگی کے لیے، آپ کو اپنے ریزسٹرس کی اصل مزاحمت ملٹی میٹر سے ناپنی چاہیے اور کوڈ میں ان درست ویلیوز کو استعمال کرنا چاہیے۔

وولٹیج ڈیوائیڈر آؤٹ پٹ اور ان پٹ وولٹیجز کا حساب لگانے کے فارمولے۔

ہارڈویئر اسمبلی اور وائرنگ

اسمبلی میں Heltec LoRa 32 ماجیول اور 3000mAh بیٹری کو N32 کیس کے اندر رکھنا شامل ہے۔ کیس میں اسکرین اور بٹنوں کے لیے کٹ آؤٹ ہیں، اور بیرونی اینٹینا ماؤنٹ کے لیے ایک سوراخ ہے۔ سب سے اہم حفاظتی نوٹوں میں سے ایک یہ ہے کہ ڈیوائس کو آن کرنے سے پہلے ہمیشہ اینٹینا منسلک ہونا چاہیے، کیونکہ اینٹینا کے بغیر ٹرانسمٹ کرنے سے LoRa ماجیول کو نقصان پہنچ سکتا ہے۔

مرکزی وائرنگ ڈایاگرام جس میں وولٹیج ڈیوائیڈر ESP32 اور بیٹری سے جڑا ہوا ہے۔
ریزسٹرس اور تاروں کے ساتھ اصل پروجیکٹ وائرنگ کی تصویر۔
ٹرانسمیٹر کی OLED اسکرین کی تصویر جس میں 30V کی پیمائش ڈسپلے ہو رہی ہے۔

Arduino IDE اور لائبریری سیٹ اپ

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

Heltec ماڈیولز کو پروگرام کرنے کے لیے، آپ کو پہلے اپنا Arduino IDE کنفیگر کرنا ہوگا۔ یہ ایک بار کا سیٹ اپ ضروری ہے اور ویڈیو میں 20:41 پر تفصیل سے بتایا گیا ہے۔

  1. ESP32 بورڈز انسٹال کریں: فائل > ترجیحات میں آفیشل Espressif ESP32 بورڈز کا URL شامل کریں اور بورڈز مینیجر سے "esp32" پیکیج انسٹال کریں۔
  2. Heltec سپورٹ انسٹال کریں: اپنی ترجیحات میں Heltec مخصوص JSON URL شامل کریں۔ پھر، بورڈز مینیجر میں، "Heltec ESP32" پیکیج تلاش کر کے انسٹال کریں۔
  3. مطلوبہ لائبریریاں انسٹال کریں: لائبریری مینیجر (اسکیچ > لائبریری شامل کریں > لائبریریز مینیج کریں) کا استعمال کرتے ہوئے، درج ذیل انسٹال کریں:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library (اور اس کے ڈیپنڈنسیز)
  4. Robojax لائبریری انسٹال کریں: آپ کو کسٹم Robojax_HeltecLoRa32 لائبریری ڈاؤن لوڈ کرنی ہوگی، جو .zip فائل کے طور پر فراہم کی گئی ہے۔ اسے IDE میں اسکیچ > لائبریری شامل کریں > .ZIP لائبریری شامل کریں کے ذریعے انسٹال کریں۔
  5. بورڈ منتخب کریں: آخر میں، ٹولز > بورڈ پر جائیں اور Heltec WiFi LoRa 32 (V3) اور صحیح COM پورٹ منتخب کریں۔

کوڈ کنفیگریشن کی وضاحت

یہ پروجیکٹ دو الگ اسکیچز استعمال کرتا ہے: ایک ٹرانسمیٹر (TX) کے لیے اور ایک ریسیور (RX) کے لیے۔ آپ کو صرف ٹرانسمیٹر کوڈ میں چند اہم سیٹنگز کنفیگر کرنے کی ضرورت ہے تاکہ یہ کام کرے، جیسا کہ 25:02 پر وضاحت کی گئی ہے۔ ریسیور کوڈ میں مماثل LoRa سیٹنگز کی ضرورت ہوتی ہے۔


#define VOLTAGE_READING_PIN 4  // وہ پن جو وولٹیج پڑھ رہا ہے
const int R1 = 39120; // اوہم میں R1 کے لیے آپ کی ناپی گئی قدر
const int R2 = 3312; // اوہم میں R2 کے لیے آپ کی ناپی گئی قدر

const float CALIB_FACTOR = 1.007f; // ملٹی میٹر سے مماثلت کے لیے انشانکن عنصر

const char *displayTexttitle = "وولٹیج:"; // OLED کے لیے متن
const char *displayTexTX = "(TX)";

// یہ حفاظتی کلید TX اور RX آلات پر بالکل یکساں ہونی چاہیے
const char *userKey = "YOUR_SECRE8888";

// یہ LoRa ترتیبات TX اور RX آلات پر بالکل یکساں ہونی چاہئیں
#define RF_FREQUENCY      915000000 // ہرٹز میں LoRa فریکوئنسی
#define TX_OUTPUT_POWER   2         // ڈی بی ایم میں TX پاور (2-21)
  • VOLTAGE_READING_PIN: ESP32 پر وہ GPIO پن جسے آپ نے اپنے وولٹیج ڈیوائیڈر آؤٹ پٹ سے منسلک کیا ہے۔
  • R1 اور R2: اپنے دو ریزسٹرز کی عین مطابق مزاحمتی قدریں درج کریں جیسا کہ ملٹی میٹر سے ناپی گئی ہیں۔ درستگی کے لیے یہ ضروری ہے۔
  • CALIB_FACTOR: اگر آپ کی ظاہر کردہ وولٹیج کسی قابلِ اعتماد ملٹی میٹر سے معمولی سی مختلف ہے، تو آپ اس قدر کو اوپر یا نیچے ایڈجسٹ کر سکتے ہیں (مثلاً، 1.008 یا 0.995) تاکہ پڑھائی کو بہتر بنایا جا سکے۔ اسے غیر فعال کرنے کے لیے 1.0 پر سیٹ کریں۔
  • userKey: یہ آپ کی نجی حفاظتی کلید ہے۔ صرف وہی آلات جن کے پاس بالکل وہی کلید ہو، بات چیت کر سکتے ہیں۔
  • RF_FREQUENCY: LoRa کے لیے آپریٹنگ فریکوئنسی۔ یہ دونوں آلات پر مماثل ہونی چاہیے اور آپ کے علاقے کے لیے قانونی ہونی چاہیے (مثلاً، شمالی امریکہ کے لیے 915MHz)۔
  • TX_OUTPUT_POWER: ترسیلی طاقت، 2 (کم طاقت، مختصر فاصلہ) سے 21 (زیادہ طاقت، طویل فاصلہ) تک۔ زیادہ طاقت زیادہ بیٹری استعمال کرتی ہے۔ 13 میل کے ٹیسٹ کے لیے، 20 کی قدر استعمال کی گئی تھی۔ اپنی میز پر جانچ کے لیے، 2 کافی ہے۔

وصول کنندہ کوڈ میں userKey اور RF_FREQUENCY کے لیے اسی طرح کی ترتیبات ہیں جو ٹرانسمیٹر کی ترتیبات سے مماثل ہونی چاہئیں۔


عملی منصوبہ

کوڈ اپ لوڈ ہونے کے بعد، ٹرانسمیٹر یونٹ آپ کے منسلک ذریعے سے وولٹیج ناپنا شروع کر دے گا، اسے اپنی OLED اسکرین پر "(TX)" اشارے کے ساتھ ظاہر کرے گا، اور ڈیٹا کو LoRa کے ذریعے نشر کرے گا۔ وصول کنندہ یونٹ، جب مماثل حفاظتی کلید اور فریکوئنسی کے ساتھ پروگرام کیا جائے گا، سگنل سنے گا۔ جیسے ہی اسے کوئی درست ترسیل موصول ہوگی، یہ اپنی اسکرین پر "(RX)" اشارے کے ساتھ یکساں وولٹیج ظاہر کرے گا۔

جیسا کہ 31:39 پر طویل فاصلے کے ٹیسٹ میں دکھایا گیا ہے، یہ سیٹ اپ انتہائی مؤثر ہے۔ اعلیٰ حاصل والے اینٹینا اور صاف نظر کی لکیر کے ساتھ، نظام نے 13 میل دور سے درست وولٹیج ریڈنگز کامیابی سے بھیجیں اور موصول کیں، جس سے یہ ثابت ہوتا ہے کہ یہ سنجیدہ دور دراز نگرانی کے کاموں کے لیے ایک مضبوط اور قابلِ اعتماد حل ہے۔


ویڈیو ابواب

  • 00:00 - آغاز
  • 03:33 - بورڈ اور LoRa کا تعارف
  • 05:47 - WiFi LoRa 32 کے لیے N32 کیس
  • 12:26 - 150V تک ناپنے کے لیے وولٹیج ڈیوائیڈر
  • 19:47 - وولٹیج ناپنے کے لیے تار تیار کرنا
  • 20:41 - WiFi LoRa 32 کے لیے لائبریری انسٹال کرنا
  • 25:02 - ترسیلی کوڈ کی وضاحت
  • 27:16 - وصول کنندہ کوڈ کی وضاحت
  • 28:36 - وولٹیج پڑھنے کا مظاہرہ
  • 31:39 - حقیقی دنیا کا فاصلہ ٹیسٹ (13 میل)
کوئی کوڈ منسلک نہیں۔

وسائل اور حوالہ جات

فائلیں📁

آرڈوینو لائبریریاں (زپ)

دیگر فائلیں