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

3.3 KiB

GPS Verilerini Çözümleme - Sanal IoT Donanımı ve Raspberry Pi

Bu dersin bu bölümünde, Raspberry Pi veya Sanal IoT Cihazı tarafından GPS sensöründen okunan NMEA mesajlarını çözümleyecek ve enlem ile boylam bilgilerini çıkaracaksınız.

GPS Verilerini Çözümleme

Ham NMEA verileri seri porttan okunduktan sonra, açık kaynaklı bir NMEA kütüphanesi kullanılarak çözümlenebilir.

Görev - GPS verilerini çözümleme

Cihazı GPS verilerini çözümleyecek şekilde programlayın.

  1. gps-sensor uygulama projesini henüz açmadıysanız açın.

  2. pynmea2 Pip paketini yükleyin. Bu paket, NMEA mesajlarını çözümlemek için kod içerir.

    pip3 install pynmea2
    
  3. app.py dosyasındaki importlara aşağıdaki kodu ekleyerek pynmea2 modülünü içe aktarın:

    import pynmea2
    
  4. print_gps_data fonksiyonunun içeriğini aşağıdaki kodla değiştirin:

    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')
    

    Bu kod, UART seri portundan okunan satırı çözümlemek için pynmea2 kütüphanesini kullanır.

    Mesajın cümle türü GGA ise, bu bir konum sabitleme mesajıdır ve işlenir. Mesajdan enlem ve boylam değerleri okunur ve NMEA (d)ddmm.mmmm formatından ondalık dereceye dönüştürülür. dm_to_sd fonksiyonu bu dönüşümü gerçekleştirir.

    Daha sonra enlemin yönü kontrol edilir ve eğer enlem güneyde ise, değer negatif bir sayıya dönüştürülür. Aynı şekilde, boylam batıda ise negatif bir sayıya dönüştürülür.

    Son olarak, koordinatlar konsola yazdırılır ve konumu belirlemek için kullanılan uydu sayısı da gösterilir.

  5. Kodu çalıştırın. Eğer sanal bir IoT cihazı kullanıyorsanız, CounterFit uygulamasının çalıştığından ve GPS verilerinin gönderildiğinden emin olun.

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

💁 Bu kodu code-gps-decode/virtual-device klasöründe veya code-gps-decode/pi klasöründe bulabilirsiniz.

😀 GPS sensör programınız veri çözümleme ile başarıyla tamamlandı!


Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.