5.8 KiB
បំបែកទិន្នន័យ GPS - ឧបករណ៍ IoT ស្មារតី និង Raspberry Pi
នៅក្នុងផ្នែកនេះនៃមេរៀន អ្នកនឹងបំបែកសារជាសំណង NMEA ដែលបានអានពីឧបករណ៍ GPS ដោយ Raspberry Pi ឬឧបករណ៍ IoT ស្មារតី ហើយយកតំបន់កោងដែនទ័រនិងរយៈដែនទ័រ។
បំបែកទិន្នន័យ GPS
បន្ទាប់ពីទិន្នន័យ NMEA ដើមត្រូវបានអានពីច្រកស៊ីរីល បច្ចេកវិទ្យាអាចបំបែកវា ដោយប្រើបណ្ណាល័យ NMEA កូដព្រៃ។
ភារកិច្ច - បំបែកទិន្នន័យ GPS
កម្មវិធីឧបករណ៍ដើម្បីបំបែកទិន្នន័យ GPS។
-
បើកគំរូកម្មវិធី
gps-sensorប្រសិនបើមិនទើបបើកទេ -
ដំឡើងកញ្ចប់ Pip
pynmea2។ កញ្ចប់នេះមានកូដសម្រាប់បំបែកសារជាសំណង NMEA។pip3 install pynmea2 -
បន្ថែមកូដខាងក្រោមទៅការនាំចូលនៅក្នុងឯកសារ
app.pyសម្រាប់នាំចូលម៉ូឌុលpynmea2៖import pynmea2 -
ប្តូររបស់ក្នុងមុខងារ
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ធ្វើបម្លែងនេះ។ទិសដៅនៃតំបន់កោងដែនទ័រត្រូវបានពិនិត្យបន្ទាប់ ហើយប្រសិនបើតំបន់កោងដែនទ័រស្ថិតនៅត្បូង តម្លៃនោះត្រូវបានបម្លែងទៅជាព្រឹតិ្តអវិជ្ជមាន។ ដូចគ្នានឹងរយៈដែនទ័រ បើវារស្ថិតនៅភាគលិច វាត្រូវបានបម្លែងឲ្យជាលេខអវិជ្ជមាន។
ជាចុងក្រោយ អង្គតំបន់ត្រូវបានបោះពុម្ពទៅខ្សែទ្រនិច រាប់ជាមួយនឹងចំនួនផ្កាយផ្កាយដែលប្រើសម្រាប់ទទួលទីតាំង។
-
រត់កូដ។ ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ 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។ ខណៈពេលដែលយើងខិតខំដើម្បីបានភាពត្រឹមត្រូវ សូមជ្រាបថា ការបកប្រែមួយចំនួនដែលអូតូម៉ាទិចអាចមានកំហុស ឬការមិនត្រឹមត្រូវ។ ឯកសារដើមនៅក្នុងភាសាដែលមានដើមគួរត្រូវបានរកឃើញជា ប្រភពសម្បទាន ឬប្រភពផ្លូវការ។ សម្រាប់ព័ត៌មានសំខាន់ របៀបបកប្រែដោយមនុស្សជំនាញគឺត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះទេ។