İçindekiler:

Gerçek Zamanlı GPS Takibi: 3 Adım
Gerçek Zamanlı GPS Takibi: 3 Adım

Video: Gerçek Zamanlı GPS Takibi: 3 Adım

Video: Gerçek Zamanlı GPS Takibi: 3 Adım
Video: mıknatıslı gps takip cihazı bilgi için whatsapp 0533 248 10 38 2024, Temmuz
Anonim

Elizabethna tarafındanYazarın daha fazlasını izleyin:

Balkabağı Pi Hile veya Şaka İzleyici
Balkabağı Pi Hile veya Şaka İzleyici
Balkabağı Pi Hile veya Şaka İzleyici
Balkabağı Pi Hile veya Şaka İzleyici
Ahududu Pi Sıcaklık Monitörü Nasıl Oluşturulur
Ahududu Pi Sıcaklık Monitörü Nasıl Oluşturulur
Ahududu Pi Sıcaklık Monitörü Nasıl Oluşturulur
Ahududu Pi Sıcaklık Monitörü Nasıl Oluşturulur
Google E-Tablolardan bir Gösterge Tablosuna Veri Akışı Yapın
Google E-Tablolardan bir Gösterge Tablosuna Veri Akışı Yapın
Google E-Tablolardan bir Gösterge Tablosuna Veri Akışı Yapın
Google E-Tablolardan bir Gösterge Tablosuna Veri Akışı Yapın

Bu eğitimde size bir BerryGPS-GSM, bir Raspberry Pi Zero ve İlk Durum kullanarak gerçek zamanlı konum takibinin nasıl yapıldığını göstereceğiz. BerryGPS-GSM ile 3G üzerinden boylam, enlem ve hızı İlk Duruma göndereceğiz.

Gereçler

  • Ahududu Pi Sıfır
  • BerryGPS-GSM
  • Başlangıç hali

Adım 1: İlk Durum

Başlangıç hali
Başlangıç hali

Tüm boylam, enlem ve hız verilerimizi bir bulut hizmetine aktarmak ve bu hizmetin verilerimizi dizüstü veya mobil cihazımızdan erişebileceğimiz güzel bir panoya dönüştürmesini istiyoruz. İlk Durumu kullanacağız.

Adım 1: İlk Durum Hesabına Kaydolun

iot.app.initialstate.com adresine gidin ve yeni bir hesap oluşturun. 14 günlük ücretsiz deneme süresine sahip olursunuz ve edu e-posta adresi olan herkes ücretsiz öğrenci planına kaydolabilir.

2. Adım: ISStreamer'ı yükleyin

Raspberry Pi'nize Initial State Python modülünü kurun. Komut isteminde aşağıdaki komutu çalıştırın:

$ cd /ev/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

3. Adım: Biraz Automagic yapın

2. Adımdan sonra ekranda aşağıdaki çıktıya benzer bir şey göreceksiniz:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: ISStreamer Python Kolay Kurulumu Başlıyor! Kurulumu birkaç dakika sürebilir, biraz kahve alın:) Ama tekrar gelmeyi unutmayın, daha sonra sorularım olacak! Bulunan easy_install: setuptools 1.1.6 Bulunan pip: /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg'den pip 1.5.6 (python 2.7) pip ana sürüm: 1 pip küçük sürüm: 5 ISStreamer bulundu, güncelleniyor… Gereksinim zaten güncel: Library/Python/2.7/site-packages'de ISStreamer Temizleniyor… Otomatik olarak örnek bir komut dosyası almak ister misiniz? [y/N] Örneği nereye kaydetmek istiyorsunuz? [varsayılan:./is_example.py] Lütfen kullandığınız Başlangıç Durumu uygulamasını seçin: 1. app.initialstate.com 2. [YENİ!] iot.app.initialstate.com 1. veya 2. seçeneği girin: iot.app girin.initialstate.com kullanıcı adı: iot.app.initialstate.com parolasını girin:

Otomatik olarak örnek bir komut dosyası almak isteyip istemediğiniz sorulduğunda, evet için "y" koyun ve komut dosyanızı varsayılan konuma kaydetmek için enter tuşuna basın. Hangi uygulamayı kullandığınızla ilgili soru için 2'yi seçin (Kasım 2018'den önce kaydolmadıysanız) ve kullanıcı adınızı ve şifrenizi girin.

Adım 4: Örnek Komut Dosyasını Çalıştırın

İlk Durum hesabınıza bir veri akışı oluşturabileceğimizden emin olmak için test komut dosyasını çalıştırın. Aşağıdaki komutu yazın:

$ python is_example.py

Adım 5: Örnek Veriler

Web tarayıcınızda İlk Durum hesabınıza geri dönün. Günlük rafınızın solunda “Python Akış Örneği” adlı yeni bir veri paketi görünmelidir (sayfayı yenilemeniz gerekebilir). Verilerinizi görüntülemek için bu kovaya tıklayın.

Adım 2: BerryGPS-GSM ve Raspberry Pi Zero

BerryGPS-GSM & Raspberry Pi Zero
BerryGPS-GSM & Raspberry Pi Zero

BerryGPS-GSM kullanıyorsanız, GPS'i çalıştırmak ve Pi'nizin PPP kullanarak 3G üzerinden bağlanmasını sağlamak için bu kılavuzu takip edebilirsiniz.

Bağlantılı kılavuz ayrıca, önyüklendiğinde Pi'nizin otomatik olarak taşıyıcı ağına nasıl bağlanacağını gösterir. Uzaktan izleme yapmayı planlıyorsanız buna ihtiyacınız olacak.

Kitaplıkları Yükle

Aşağıdaki kitaplıkları yüklemeniz gerekecek:

$ sudo apt-get install python-pip

$ sudo pip kurulumu pynmea2 $ sudo pip ISStreamer kurulumu

Ana Python Komut Dosyası

Burada, GPS verilerini Başlangıç Durumuna aktaracak ana komut dosyasını oluşturacağız. Aşağıdaki kod, seri bağlantı noktasını izlemek için kullanılan ayrı bir iş parçacığı oluşturur. Bu gerekli çünkü ana döngüde bir duraklamamız var. Duraklama, 3G üzerinden ne kadar veri yüklediğimizi sınırlamak için var.

Duraklama sırasında her şeyi aynı iş parçacığında yaparsak, seri tampon dolacak (FIFO'dur) ve tampondan bir sonraki değeri aldığımızda, birkaç saniye eski olacaktır. Bu her döngüde olur ve sonunda veriler dakikalar veya saatler geride kalır.

Python betiğini oluşturmak ve metin düzenleyiciyi açmak için aşağıdaki komutu girin:

$ nano GPStracker.py

Aşağıdaki kodu kopyalayıp metin düzenleyiciye yapıştırın. İlk Durum Erişim Anahtarınızı 11. satırda "ERİŞİM ANAHTARINIZI GİRİN" yazan satıra girmeniz gerekecektir:

#! /usr/bin/python'dan gps içe aktar * zamandan içe aktar * aktarım dizisini içe aktar ISStreamer'dan içe aktar tarihsaat. Streamer içe aktar Streamer gpsd = Yok #Genel değişkeni kur #İlk Durum akışını ayarla, akış anahtarının altına erişim anahtarınızı girin streamer = Streamer(bucket_name="GPS_Tracker ", kova_key="GPS_TRACKER", access_key="ERİŞİM ANAHTARINIZI GİRİN") class GPSDcollector(threading. Thread): def _init_(self, threadID): threading. Thread._init_(self) self.threadID = threadID global gpsd #bring bu kapsamda gpsd = gps(mode=WATCH_ENABLE) #GPD'yi başlat self.running = True #Bu konuyu çalıştırmaya başla def run(self): global gpsd while gpsdThread.running: gpsd.next() if _name_ == '_main_': gpsdThread = GPSDcollector(1) # veri toplamak için bir iş parçacığı oluşturun deneyin: gpsdThread.start() # True iken başlatın: 'GPS' yazdırın, gpsd.utc, ' CPU time->', datetime.datetime.now().time(), if (gpsd.fix.longitude0) ve (gpsd.fix.longitude'nan'): streamer.log("Location", "{lat}, {lon}".format(lat=gpsd.fix).latitude, uzun=gpsd.fix.longitu de)) streamer.log("speed", gpsd.fix.speed) print ' lat, gpsd.fix.latitude, print ' lon, gpsd.fix.longitude, print ' speed, gpsd.fix.speed uyku (5) hariç (KeyboardInterrupt, SystemExit): #ctrl+c tuşlarına bastığınızda print "\nİpliği Öldürüyor…" gpsdThread.running = False gpsdThread.join() # iş parçacığının yaptığı işi bitirmesini bekleyin print "Bitti.\nÇıkış yapılıyor"

CTRL + X, Y tuşlarına basarak metin düzenleyiciyi kaydedin ve çıkın.

Komut dosyasını açılışta otomatik olarak başlat

Uzaktan izleme yapıyorsanız, komut dosyasının önyüklemede çalışmasını istersiniz. Bunu yapmak için ana python programını başlatacak küçük bir betik oluşturacağız. Aşağıdaki komutu girin:

$ nano GPStrackerStart.sh

Satırları metin düzenleyiciye kopyalayın:

#!/bin/bash

uyku 15 python /home/pi/GPStracker.py &

Yukarıdaki duraklama, Pi'ye PPP aracılığıyla önyükleme yapması ve bağlanması için zaman vermek içindir.

Komut dosyasını yürütülebilir yapın:

$ chmod +x ~/GPStrackerStart.sh

Pi her başlatıldığında betiği başlatmak için cron kullanacağız:

$ crontab -e

En alta aşağıdaki satırı ekleyin:

@reboot /home/pi/GPStrackerStart.sh &

3. Adım: Konum ve Hız Gösterge Tablosu

Konum ve Hız Gösterge Tablosu
Konum ve Hız Gösterge Tablosu

Artık projeniz hazır ve çalışır durumda olduğuna göre, veriler İlk Duruma gönderilmelidir. GPS verilerine ve hız verilerine sahip olacaksınız. Konumu izlemek için bir haritalar Döşemesindeki GPS verilerini kullanabilirsiniz. Harita Döşemesi için, konum izlemenizin yukarıdaki gösterge panosu gibi haritalanması için Yol Çiz onay kutusunu işaretlediğinizden emin olun. Zaman içindeki hızı görmek için hız verilerinizi bir çizgi grafiğine koyabilirsiniz.

Önerilen: