3.4 KiB
I-decode ang GPS data - Virtual IoT Hardware at Raspberry Pi
Sa bahaging ito ng aralin, ide-decode mo ang mga NMEA message na nabasa mula sa GPS sensor gamit ang Raspberry Pi o Virtual IoT Device, at kukunin ang latitude at longitude.
I-decode ang GPS data
Kapag nabasa na ang raw NMEA data mula sa serial port, maaari itong i-decode gamit ang isang open source na NMEA library.
Gawain - i-decode ang GPS data
I-program ang device upang i-decode ang GPS data.
-
Buksan ang proyekto ng
gps-sensor
app kung hindi pa ito nakabukas. -
I-install ang
pynmea2
Pip package. Ang package na ito ay may code para sa pag-decode ng mga NMEA message.pip3 install pynmea2
-
Idagdag ang sumusunod na code sa mga imports sa file na
app.py
upang i-import angpynmea2
module:import pynmea2
-
Palitan ang nilalaman ng function na
print_gps_data
ng sumusunod: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')
Ang code na ito ay gagamit ng
pynmea2
library upang i-parse ang linya na nabasa mula sa UART serial port.Kung ang uri ng sentence ng message ay
GGA
, ito ay isang position fix message at ipoproseso. Ang latitude at longitude na mga halaga ay babasahin mula sa message at iko-convert sa decimal degrees mula sa NMEA(d)ddmm.mmmm
format. Ang function nadm_to_sd
ang gumagawa ng conversion na ito.Susuriin ang direksyon ng latitude, at kung ang latitude ay nasa timog, iko-convert ang halaga sa negatibong numero. Ganoon din sa longitude, kung ito ay nasa kanluran, iko-convert ito sa negatibong numero.
Sa huli, ipi-print ang mga coordinate sa console, kasama ang bilang ng mga satellite na ginamit upang makuha ang lokasyon.
-
Patakbuhin ang code. Kung gumagamit ka ng virtual IoT device, siguraduhing tumatakbo ang CounterFit app at ipinapadala ang GPS data.
pi@raspberrypi:~/gps-sensor $ python3 app.py 47.6423109,-122.1390293 - from 3 satellites
💁 Maaari mong mahanap ang code na ito sa code-gps-decode/virtual-device folder, o sa code-gps-decode/pi folder.
😀 Tagumpay ang iyong GPS sensor program na may data decoding!
Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.