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/my/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md

5.6 KiB

GPS ဒေတာကို ဖော်ထုတ်ခြင်း - Wio Terminal

ဒီသင်ခန်းပိုင်းမှာ Wio Terminal မှ GPS ဆင်ဆာကနေဖတ်ထားတဲ့ NMEA မက်ဆေ့ချ်တွေကို ဖော်ထုတ်ပြီး latitude နဲ့ longitude ကို ရယူပါမယ်။

GPS ဒေတာကို ဖော်ထုတ်ခြင်း

Serial port ကနေ raw NMEA ဒေတာကို ဖတ်ပြီးရင် open source NMEA library ကို အသုံးပြုပြီး ဖော်ထုတ်နိုင်ပါတယ်။

အလုပ် - GPS ဒေတာကို ဖော်ထုတ်ခြင်း

GPS ဒေတာကို ဖော်ထုတ်ဖို့ device ကို programming လုပ်ပါ။

  1. gps-sensor app project ကို မဖွင့်ထားရင် ဖွင့်ပါ။

  2. Project ရဲ့ platformio.ini ဖိုင်မှာ TinyGPSPlus library အတွက် library dependency ကို ထည့်ပါ။ ဒီ library မှာ NMEA ဒေတာကို ဖော်ထုတ်ဖို့ code ပါပါတယ်။

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. main.cpp မှာ TinyGPSPlus library အတွက် include directive ကို ထည့်ပါ:

    #include <TinyGPS++.h>
    
  4. Serial3 ရဲ့ ကြေညာချက်အောက်မှာ TinyGPSPlus object ကို NMEA sentences ကို process လုပ်ဖို့ ကြေညာပါ:

    TinyGPSPlus gps;
    
  5. printGPSData function ရဲ့ အကြောင်းအရာကို အောက်ပါအတိုင်း ပြောင်းပါ:

    if (gps.encode(Serial3.read()))
    {
        if (gps.location.isValid())
        {
            Serial.print(gps.location.lat(), 6);
            Serial.print(F(","));
            Serial.print(gps.location.lng(), 6);
            Serial.print(" - from ");
            Serial.print(gps.satellites.value());
            Serial.println(" satellites");
        }
    }
    

    ဒီ code က UART serial port ကနေ character တစ်ခုချင်းစီကို gps NMEA decoder ထဲကို ဖတ်ပါတယ်။ Character တစ်ခုချင်းစီဖတ်ပြီးရင် decoder က valid sentence ဖတ်ထားမထား စစ်ဆေးပြီး valid location ဖတ်ထားမထားကို စစ်ဆေးပါမယ်။ Location valid ဖြစ်ရင် serial monitor ကို satellites အရေအတွက်နဲ့ location data ကို ပို့ပါမယ်။

  6. Code ကို build လုပ်ပြီး Wio Terminal ထဲကို upload လုပ်ပါ။

  7. Upload ပြီးရင် serial monitor ကို အသုံးပြုပြီး GPS location data ကို ကြည့်နိုင်ပါမယ်။

    > 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 ---
    47.6423109,-122.1390293 - from 3 satellites
    

💁 ဒီ code ကို code-gps-decode/wio-terminal folder မှာ ရှာနိုင်ပါတယ်။

😀 GPS sensor program နဲ့ data decoding အောင်မြင်ပါတယ်!


အကြောင်းကြားချက်:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု Co-op Translator ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။