RASPBERRY PI2 GPS LOGGER
1.
İlk olarak raspi ye GPS hat modulunu takıyoruz
ve raspi nin hafiza kartına guncel bir raspian sürümünü yukluyoruz. Cihazımıza
SSH yolu ıle ulasabildigimizden emin oldugumuzda GPS HAT için gerekli ayarlara
geçiyoruz..
2.
Oncelikle SSH ile raspi ye ulasıyoruz. GPS
modulumuzu kullanabilmek için baglı oldugu port bılgısını alabileceğimiz ve
baslangısta otomatik olarak çalışan setup ayarlarını yapıyoruz..
sudo nano /boot/cmdline.txt
cmdline.txt dosyası
ilk açtıgınızda yaklasık olarak boyle gozukecektir.
dwc_otg.lpm_enable=0 console=ttyAMA0,115200
kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4
elevator=deadline rootwait
gerekli değişikleri
asagıdaki gibi yapıyoruz
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2
rootfstype=ext4 elevator=deadline rootwait
(bu satırları
console=ttyAMA0,115200 ve bu satırı cıkarıyoruz, kgdboc=ttyAMA0,115200)
sudo nano /etc/inittab
#Spawn a getty on
Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Satırının TO ile baslayan satırını devredışı bırakmak için
baş tarafına # koyuyoruz
#Spawn a getty on
Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Simdi raspi mizi REBOOT ediyoruz...
sudo shutdown -h
now
simdi GPS imizden deger okuyup okuyamadıgımız kontroll
ediyoruz
Sırasıyla asagıda komutları adım adım calıstırıyoruz.
stty -F /dev/ttyAMA0 raw 9600 cs8 clocal -cstopb
cat /dev/ttyAMA0
Eger ayarlarımızı
duzgun yaptıysak asagıdaki gibi GPS den gelen NMA datasını gorebilmemiz
gerekmektedir.
eger burdaki gibi NMA datasını gorebiliyorsanız dogru yoldasınız demektir. Simdi gelelim GPS datamızı okuyup TXT dosyasına yazmak için kullanacagımız arayuz yazılımı ve GPS bilgilerini okudugumuz arayuzun kurulumuna geçelim....
Programmızın adı GPSD :
Oncelikle kuruluma
baslamadan once raspinin guncel olup olmadını kontrol etmek amacı ile asagıdaki
kodu calıstırıyoruz ve guncellemelerin yuklenmesini bekliyoruz...
sudo apt-get update
Guncellemenin ardından ihtiyacımız olan GPSD programını
python mudulu ile birlikte yuklenmesi için aşagıdaki komutu calıştırıyoruz...
sudo apt-get install gpsd gpsd-clients python-gps
kurulumun ardından GPSD programımızın daha uygun
calısbilmesi için standart portların kullanılmasını saglıyoruz. Cunku
yazacagımız PYTHON kodumuz bu program yardımı ile SERIAL Port uzerinden
kopyalayıp TXT dosyasına yazdıracagız. Bunun için GPSD yi ayarlarını yukleyecek
olan komutu çalıştırıp GPSD nin dogru sartlarda calısması ıcın uygun komut
duzenını olusturuyoruz.
sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
oncelikle unutmamamız
gereken datamızı capture edebilmemiz için kullanacagımız yani donanımımızın
hangi portlardan takılı oldugunu aklımızdan cıkarmıyoruz. ttyAMO bizim kartımız
modul olarak takılı ise ttyAMAO portununu kullanıyoruz.
Programımızın calısıtırp
veri almaya baslıyoruz eger butun ayarları dogru yaptıysak GPSD komutunu
çalıştırdıgımızda asagıdaki gibi bir ekran alıyoruz
Yada daha az detaya
sahip bir arayuzden veri alıp goruntulemek isterseniz... cgps –s komutunu
kullabilirsiniz... eger komutu
calıstırısanız asagıdaki gibi bir arayuzden bilgileri gorursunuz...
Bu ekranda gordugunuz
ekran program arayuzu fakat NMA datamız aslında serial porttan asagıda
gozuktugu sekilde akmaya devam etmektedir.
Python kodumuzu GPS
klasorune yani /home/pi/scripts/gps/ klasorune gps.py olarak kaydediyoruz
Bu kod TPV
kutuphanesini kullanarak pythondan Lat ve Lon yani enlem ve boylam datamızı
ayıklayarak almamızı saglıyor aynı zamanda kayıt edeceği dosyanın adını
belirliyoruz. GPS.TXT
Aynı zamanda asagıdaki
kodu gps.jar dosyası olarak kaydediyoruz....
1. gpsPi.py olarak kaydedilecek
2. gps.jar olarak kaydedin
1. gpsPi.py olarak kaydedilecek
2. gps.jar olarak kaydedin
Kodumuzu
calıstırdıgımızda yani gps.py dosyamızı calıstırdıgımızda serial ekranımızda ve
GPS.txt dosyamızda verilerimzin akmaya basladıgınızı asagıdaki gibi gorebiliyor
olmamız gerekiyor....
Artık tek yapmamız
gereken olusan data dosyasını cron yada benzer bir aracla web serverine
gonderiyoruz......







Hiç yorum yok:
Yorum Gönder