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/km/3-transport/lessons/1-location-tracking/single-board-computer-gps-d...

5.8 KiB

បំបែកទិន្នន័យ GPS - ឧបករណ៍ IoT ស្មារតី និង Raspberry Pi

នៅក្នុងផ្នែកនេះនៃមេរៀន អ្នកនឹងបំបែកសារជាសំណង NMEA ដែលបានអានពីឧបករណ៍ GPS ដោយ Raspberry Pi ឬឧបករណ៍ IoT ស្មារតី ហើយយកតំបន់កោងដែនទ័រនិងរយៈដែនទ័រ។

បំបែកទិន្នន័យ GPS

បន្ទាប់ពីទិន្នន័យ NMEA ដើមត្រូវបានអានពីច្រកស៊ីរីល បច្ចេកវិទ្យាអាចបំបែកវា ដោយប្រើបណ្ណាល័យ NMEA កូដព្រៃ។

ភារកិច្ច - បំបែកទិន្នន័យ GPS

កម្មវិធីឧបករណ៍ដើម្បីបំបែកទិន្នន័យ GPS។

  1. បើកគំរូកម្មវិធី gps-sensor ប្រសិនបើមិនទើបបើកទេ

  2. ដំឡើងកញ្ចប់ Pip pynmea2។ កញ្ចប់នេះមានកូដសម្រាប់បំបែកសារជាសំណង NMEA។

    pip3 install pynmea2
    
  3. បន្ថែមកូដខាងក្រោមទៅការនាំចូលនៅក្នុងឯកសារ app.py សម្រាប់នាំចូលម៉ូឌុល pynmea2

    import pynmea2
    
  4. ប្តូររបស់ក្នុងមុខងារ print_gps_data ជាកូដដូចខាងក្រោម៖

    msg = pynmea2.parse(line)
    if msg.sentence_type == 'GGA':
        lat = pynmea2.dm_to_sd(msg.lat)
        lon = pynmea2.dm_to_sd(msg.lon)
    
        if msg.lat_dir == 'S':
            lat = lat * -1
    
        if msg.lon_dir == 'W':
            lon = lon * -1
    
        print(f'{lat},{lon} - from {msg.num_sats} satellites')
    

    កូដនេះនឹងប្រើបណ្ណាល័យ pynmea2 ដើម្បីវិភាគបន្ទាត់ដែលបានអានពីច្រកស៊ីរី UART។

    ប្រសិនបើប្រភេទប្រយោគនៃសារ គឺជា GGA នោះហើយនេះគឺជាសារកំណត់ទីតាំង ហើយត្រូវបានដំណើរការ។ តម្លៃតំបន់កោងដែនទ័រនិងរយៈដែនទ័រត្រូវបានអានពីសារ ហើយបម្លែងទៅជាដឺក្រេសទសភាគពីរបៀប NMEA (d)ddmm.mmmm។ មុខងារ dm_to_sd ធ្វើបម្លែងនេះ។

    ទិសដៅនៃតំបន់កោងដែនទ័រត្រូវបានពិនិត្យបន្ទាប់ ហើយប្រសិនបើតំបន់កោងដែនទ័រស្ថិតនៅត្បូង តម្លៃនោះត្រូវបានបម្លែងទៅជាព្រឹតិ្តអវិជ្ជមាន។ ដូចគ្នានឹងរយៈដែនទ័រ បើវារស្ថិតនៅភាគលិច វាត្រូវបានបម្លែងឲ្យជាលេខអវិជ្ជមាន។

    ជាចុងក្រោយ អង្គតំបន់ត្រូវបានបោះពុម្ពទៅខ្សែទ្រនិច រាប់ជាមួយនឹងចំនួនផ្កាយផ្កាយដែលប្រើសម្រាប់ទទួលទីតាំង។

  5. រត់កូដ។ ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ IoT ស្មារតី សូមធានាថាកម្មវិធី CounterFit កំពុងរត់ ហើយទិន្នន័យ GPS កំពុងត្រូវផ្ញើ។

    pi@raspberrypi:~/gps-sensor $ python3 app.py 
    47.6423109,-122.1390293 - from 3 satellites
    

💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត code-gps-decode/virtual-device ឬថត code-gps-decode/pi

😀 កម្មវិធីឧបករណ៍ GPS របស់អ្នកដែលមានការបំបែកទិន្នន័យបានជោគជ័យ!


ការបដិសេធ
ឯកសារនេះត្រូវបានបកប្រែក្នុងគោលបំណងប្រើប្រាស់សេវាបកប្រែ AI Co-op Translator។ ខណៈពេលដែលយើងខិតខំដើម្បីបានភាពត្រឹមត្រូវ សូមជ្រាបថា ការបកប្រែមួយចំនួនដែលអូតូម៉ាទិចអាចមានកំហុស ឬការមិនត្រឹមត្រូវ។ ឯកសារដើមនៅក្នុងភាសាដែលមានដើមគួរត្រូវបានរកឃើញជា ប្រភពសម្បទាន ឬប្រភពផ្លូវការ។ សម្រាប់ព័ត៌មានសំខាន់ របៀបបកប្រែដោយមនុស្សជំនាញគឺត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះទេ។