Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
192
Tıklama
0
Öne Çıkarma
Raspberry Zero w 2 Gps
Ö
2 yıl
Er
Konu Sahibi

Merhaba Arkadaşlar,

Bir proje için Raspberry ile gps modülü kullanmak gerekiyor ve cihazı tanıtmak ve yapılandırmalar ile ilgili bütün problemleri çözdüm ve Python ile aşağıdaki kodu çalıştırdığımda çıktı olarak alt alta koordinat alıyorum ve bunu bir dosyaya "python3 freestaff.py > freestafff.txt" olarak yazdırmak istersem sonsuza kadar dosya şişerek büyüyecek. Acaba dosyaya sadece son saniyede aktif olan koordinat bilgisini yazdırma şansım mevcutmudur. ister linux komutu yardımıyla (awk,cut,touch,grep) ister python içinde ikisi de beni için linux altında servise (corn) dönüştürmem için yeterli.

< Resime gitmek için tıklayın >



import serial
import time
import string
import pynmea2

port="/dev/serial0"
ser=serial.Serial(port, baudrate=9600 , parity=serial.PARITY_NONE,

stopbits=serial.STOPBITS_ONE,

bytesize=serial.EIGHTBITS,)


while True:
dataout = pynmea2.NMEAStreamReader()
newdata=ser.readline()
if (newdata[0:6] == b"$GPGGA"):
newmsg=pynmea2.parse(newdata.decode("utf-8"))

lat=newmsg.latitude
lng=newmsg.longitude

gps = str(lat) + " " + str(lng)

print(gps)



Desteğiniz için teşekkürler.



K
2 yıl
Teğmen

Merhaba,

GPS bilgisinin ister son verisini, isterseniz de tüm veriyi saklayabilirsiniz. Kaydedeceğiniz veriyi istenilen zaman aralığında tutabilir geri kalanı otomatik olarak silebilirsiniz. Örneğin; 1 hafta veya 1 ay (son 30 gün) log tutulsun diyip, geri kalan logları bash script ile otomatik olarak silebilirsiniz.

Log (kayıt) tutuma önemlidir. Size istatistiki veri sağlar ve verimliliğinizi arttırır. Bu sebeple logları mümkünse silmeyiniz.

Sizin projenizle ilgili olarak;
  • GPS verisini kaç sn de bir kaydetmek istiyorsunuz.
  • GPS verisini kaydederken sadece tarih, zaman, enlem, boylam bilgilerini mi kaydedeceksiniz? Başka bir veri kaydetmek istiyor musunuz? Örneğin, RP Zero W2 cihazı bisiklete bağlı ise, bisikletin hızını da kaydetmek istiyor musunuz?
  • GPS verisinde sadece değişen veriyi mi yoksa tüm veriyi mi kaydetmek istiyorsunuz? Yukarıdaki örnek için bisiklet yerinden hareket etmezse yeni GPS verisini kaydetmemek gibi.
  • Logları .txt olarak tutuma yerine bunları başka programlarda daha rahat kullanabileceğiniz formatta kaydedebilirsiniz. Örnek; CSV, JSON gibi. Eğer CSV kaydederseniz bu veriyi excel de kolayca açıp işleyebilirsiniz.
  • Logları kaydetme sıklığınıza göre ayrı ayrı dosyalara kaydedebilir ve sıkıştırabilirsiniz. Örnek: günlük logları gps_09_08_2022.csv şeklinde kaydedip, bir sonraki günde gps_09_08_2022.gz şeklinde sıkıştırabilirsiniz. Normal dosya boyutuna göre yaklaşık olarak %90'lık bir sıkıştırma sağlıyor. 1MB'lık bir dosya 100KB'a düşüyor.
  • Logları sıkıştırma ve kaydetme konusunda max. ne kadar yeriniz var? Buna göre aktif dosya boyutu, arşiv boyutu hesaplanıp bash ile otomatik çalışan ve en eski dosya/dosyaları silen bir script yazılabilir.

Daha pek çok soru var ama sen ne yapmak istiyorsun, kafanda ne var? Proje ile detaylı bilgi verirsen sana daha fazla yardımcı olacak insanlar çıkar.

Saygılarımla.

Edit: İmla hatası düzeltildi.





< Bu mesaj bu kişi tarafından değiştirildi kayadelenium -- 10 Ağustos 2022; 3:0:49 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.