Bu Blogda Ara

9 Aralık 2015 Çarşamba

Raspberry pi 2 Adafruit GPS Hat ve GPS Denemelerim

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




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