You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ur/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md

8.8 KiB

وائیو ٹرمینل - جی پی ایس ڈیٹا پڑھیں

اس سبق کے اس حصے میں، آپ اپنے وائیو ٹرمینل میں جی پی ایس سینسر شامل کریں گے اور اس سے ڈیٹا پڑھیں گے۔

ہارڈویئر

وائیو ٹرمینل کو ایک جی پی ایس سینسر کی ضرورت ہے۔

آپ جو سینسر استعمال کریں گے وہ Grove GPS Air530 sensor ہے۔ یہ سینسر کئی جی پی ایس سسٹمز سے جڑ سکتا ہے تاکہ تیز اور درست ڈیٹا حاصل کیا جا سکے۔ سینسر دو حصوں پر مشتمل ہے - سینسر کے بنیادی الیکٹرانکس اور ایک بیرونی اینٹینا جو پتلی تار کے ذریعے سیٹلائٹس سے ریڈیو لہریں وصول کرتا ہے۔

یہ ایک UART سینسر ہے، جو جی پی ایس ڈیٹا UART کے ذریعے بھیجتا ہے۔

جی پی ایس سینسر کو جوڑیں

Grove GPS سینسر کو وائیو ٹرمینل سے جوڑا جا سکتا ہے۔

کام - جی پی ایس سینسر کو جوڑیں

جی پی ایس سینسر کو جوڑیں۔

ایک Grove GPS سینسر

  1. Grove کیبل کے ایک سرے کو جی پی ایس سینسر کے ساکٹ میں ڈالیں۔ یہ صرف ایک ہی سمت میں جائے گا۔

  2. وائیو ٹرمینل کو اپنے کمپیوٹر یا کسی اور پاور سپلائی سے منقطع کریں، اور Grove کیبل کے دوسرے سرے کو وائیو ٹرمینل کے بائیں جانب Grove ساکٹ میں جوڑیں جب آپ اسکرین کو دیکھ رہے ہوں۔ یہ ساکٹ پاور بٹن کے قریب ترین ہے۔

    Grove GPS سینسر بائیں جانب ساکٹ سے جڑا ہوا

  3. جی پی ایس سینسر کو ایسی جگہ رکھیں جہاں اس کا منسلک اینٹینا آسمان کو دیکھ سکے - مثالی طور پر کھڑکی کے قریب یا باہر۔ اینٹینا کے راستے میں کوئی رکاوٹ نہ ہونے پر سگنل زیادہ واضح طور پر حاصل کرنا آسان ہوتا ہے۔

  4. اب آپ وائیو ٹرمینل کو اپنے کمپیوٹر سے جوڑ سکتے ہیں۔

  5. جی پی ایس سینسر میں 2 ایل ای ڈی ہیں - ایک نیلی ایل ای ڈی جو ڈیٹا منتقل ہونے پر چمکتی ہے، اور ایک سبز ایل ای ڈی جو سیٹلائٹس سے ڈیٹا وصول کرنے پر ہر سیکنڈ چمکتی ہے۔ یقینی بنائیں کہ وائیو ٹرمینل کو پاور اپ کرنے پر نیلی ایل ای ڈی چمک رہی ہو۔ چند منٹ کے بعد سبز ایل ای ڈی چمکے گی - اگر ایسا نہ ہو تو آپ کو اینٹینا کی پوزیشن تبدیل کرنے کی ضرورت ہو سکتی ہے۔

جی پی ایس سینسر کو پروگرام کریں

اب وائیو ٹرمینل کو منسلک جی پی ایس سینسر استعمال کرنے کے لیے پروگرام کیا جا سکتا ہے۔

کام - جی پی ایس سینسر کو پروگرام کریں

ڈیوائس کو پروگرام کریں۔

  1. PlatformIO کا استعمال کرتے ہوئے ایک نیا وائیو ٹرمینل پروجیکٹ بنائیں۔ اس پروجیکٹ کا نام gps-sensor رکھیں۔ setup فنکشن میں سیریل پورٹ کو ترتیب دینے کے لیے کوڈ شامل کریں۔

  2. main.cpp فائل کے اوپر درج ذیل include directive شامل کریں۔ یہ ایک ہیڈر فائل کو شامل کرتا ہے جس میں UART کے لیے بائیں جانب Grove پورٹ کو ترتیب دینے کے فنکشنز ہیں۔

    #include <wiring_private.h>
    
  3. اس کے نیچے، درج ذیل کوڈ لائن شامل کریں تاکہ UART پورٹ کے ساتھ سیریل پورٹ کنکشن کا اعلان کیا جا سکے:

    static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
    
  4. آپ کو کچھ کوڈ شامل کرنے کی ضرورت ہے تاکہ کچھ اندرونی سگنل ہینڈلرز کو اس سیریل پورٹ پر ری ڈائریکٹ کیا جا سکے۔ Serial3 اعلان کے نیچے درج ذیل کوڈ شامل کریں:

    void SERCOM3_0_Handler()
    {
        Serial3.IrqHandler();
    }
    
    void SERCOM3_1_Handler()
    {
        Serial3.IrqHandler();
    }
    
    void SERCOM3_2_Handler()
    {
        Serial3.IrqHandler();
    }
    
    void SERCOM3_3_Handler()
    {
        Serial3.IrqHandler();
    }
    
  5. setup فنکشن میں جہاں Serial پورٹ ترتیب دی گئی ہے، وہاں درج ذیل کوڈ کے ساتھ UART سیریل پورٹ کو ترتیب دیں:

    Serial3.begin(9600);
    
    while (!Serial3)
        ; // Wait for Serial3 to be ready
    
    delay(1000);
    
  6. setup فنکشن میں اس کوڈ کے نیچے، درج ذیل کوڈ شامل کریں تاکہ Grove پن کو سیریل پورٹ سے جوڑا جا سکے:

    pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
    
  7. loop فنکشن سے پہلے درج ذیل فنکشن شامل کریں تاکہ جی پی ایس ڈیٹا کو سیریل مانیٹر پر بھیجا جا سکے:

    void printGPSData()
    {
        Serial.println(Serial3.readStringUntil('\n'));
    }
    
  8. loop فنکشن میں، درج ذیل کوڈ شامل کریں تاکہ UART سیریل پورٹ سے ڈیٹا پڑھا جا سکے اور سیریل مانیٹر پر آؤٹ پٹ پرنٹ کیا جا سکے:

    while (Serial3.available() > 0)
    {
        printGPSData();
    }
    
    delay(1000);
    

    یہ کوڈ UART سیریل پورٹ سے ڈیٹا پڑھتا ہے۔ readStringUntil فنکشن ایک ٹرمینیٹر کریکٹر تک پڑھتا ہے، اس صورت میں ایک نئی لائن۔ یہ ایک مکمل NMEA جملہ پڑھے گا (NMEA جملے نئی لائن کریکٹر کے ساتھ ختم ہوتے ہیں)۔ جب تک UART سیریل پورٹ سے ڈیٹا پڑھا جا سکتا ہے، اسے پڑھا جاتا ہے اور printGPSData فنکشن کے ذریعے سیریل مانیٹر پر بھیجا جاتا ہے۔ جب مزید ڈیٹا پڑھا نہیں جا سکتا، loop 1 سیکنڈ (1,000ms) کے لیے تاخیر کرتا ہے۔

  9. کوڈ کو وائیو ٹرمینل پر بنائیں اور اپلوڈ کریں۔

  10. اپلوڈ ہونے کے بعد، آپ سیریل مانیٹر کے ذریعے جی پی ایس ڈیٹا مانیٹر کر سکتے ہیں۔

    > Executing task: platformio device monitor <
    
    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem1201  9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    $BDGSA,A,1,,,,,,,,,,,,,,,*0F
    $GPGSV,1,1,00*79
    $BDGSV,1,1,00*68
    

💁 آپ اس کوڈ کو code-gps/wio-terminal فولڈر میں تلاش کر سکتے ہیں۔

😀 آپ کا جی پی ایس سینسر پروگرام کامیاب رہا!


ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔