6.4 KiB
ਜੀਪੀਐਸ ਡਾਟਾ ਡੀਕੋਡ ਕਰੋ - ਵਰਚੁਅਲ IoT ਹਾਰਡਵੇਅਰ ਅਤੇ ਰਾਸਪਬੇਰੀ ਪਾਈ
ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ ਰਾਸਪਬੇਰੀ ਪਾਈ ਜਾਂ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਦੁਆਰਾ ਜੀਪੀਐਸ ਸੈਂਸਰ ਤੋਂ ਪੜ੍ਹੀਆਂ ਗਈਆਂ NMEA ਸੁਨੇਹਿਆਂ ਨੂੰ ਡੀਕੋਡ ਕਰੋਗੇ ਅਤੇ ਲੈਟੀਟਿਊਡ ਅਤੇ ਲੌਂਗਿਟਿਊਡ ਨੂੰ ਕੱਢੋਗੇ।
ਜੀਪੀਐਸ ਡਾਟਾ ਡੀਕੋਡ ਕਰੋ
ਜਦੋਂ ਕੱਚਾ NMEA ਡਾਟਾ ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਇੱਕ ਖੁੱਲੇ ਸਰੋਤ ਵਾਲੀ NMEA ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੀਕੋਡ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਕੰਮ - ਜੀਪੀਐਸ ਡਾਟਾ ਡੀਕੋਡ ਕਰੋ
ਜੀਪੀਐਸ ਡਾਟਾ ਡੀਕੋਡ ਕਰਨ ਲਈ ਡਿਵਾਈਸ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ।
-
ਜੇ
gps-sensor
ਐਪ ਪ੍ਰੋਜੈਕਟ ਖੁੱਲ੍ਹਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਖੋਲ੍ਹੋ। -
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 ਐਪ ਚੱਲ ਰਹੀ ਹੈ ਅਤੇ ਜੀਪੀਐਸ ਡਾਟਾ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ।
pi@raspberrypi:~/gps-sensor $ python3 app.py 47.6423109,-122.1390293 - from 3 satellites
💁 ਤੁਸੀਂ ਇਹ ਕੋਡ code-gps-decode/virtual-device ਫੋਲਡਰ ਵਿੱਚ ਜਾਂ code-gps-decode/pi ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ।
😀 ਤੁਹਾਡਾ ਜੀਪੀਐਸ ਸੈਂਸਰ ਪ੍ਰੋਗਰਾਮ ਡਾਟਾ ਡੀਕੋਡਿੰਗ ਨਾਲ ਸਫਲ ਰਿਹਾ!
ਅਸਵੀਕਾਰਨਾ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਹਾਲਾਂਕਿ ਅਸੀਂ ਸਹੀਅਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼, ਜੋ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਹੈ, ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।