Sadržaj:

GPS praćenje u stvarnom vremenu: 3 koraka
GPS praćenje u stvarnom vremenu: 3 koraka

Video: GPS praćenje u stvarnom vremenu: 3 koraka

Video: GPS praćenje u stvarnom vremenu: 3 koraka
Video: Jednostavan, povoljan i moderan sustav za GPS praćenje vozila i imovine. 2024, Juli
Anonim

Autor elizabethnaSledi Još autora:

Pumpkin Pi Tracker-or-Treat Tracker
Pumpkin Pi Tracker-or-Treat Tracker
Pumpkin Pi Tracker-or-Treat Tracker
Pumpkin Pi Tracker-or-Treat Tracker
Kako napraviti monitor temperature Raspberry Pi
Kako napraviti monitor temperature Raspberry Pi
Kako napraviti monitor temperature Raspberry Pi
Kako napraviti monitor temperature Raspberry Pi
Prijenos podataka iz Google tablica na nadzornu ploču
Prijenos podataka iz Google tablica na nadzornu ploču
Prijenos podataka iz Google tablica na nadzornu ploču
Prijenos podataka iz Google tablica na nadzornu ploču

U ovom vodiču pokazat ćemo vam kako napraviti praćenje lokacije u stvarnom vremenu koristeći BerryGPS-GSM, Raspberry Pi Zero i početno stanje. Poslat ćemo dužinu, širinu i brzinu putem 3G-a sa BerryGPS-GSM-om u početno stanje.

Supplies

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Početna država

Korak 1: Početno stanje

Početna država
Početna država

Želimo prenijeti sve naše podatke o zemljopisnoj dužini, širini i brzini na uslugu u oblaku i učiniti da ta usluga pretvori naše podatke u lijepu nadzornu ploču kojoj možemo pristupiti sa našeg prijenosnog računara ili mobilnog uređaja. Koristit ćemo početno stanje.

Korak 1: Registrujte se za početni državni račun

Idite na https://iot.app.initialstate.com i kreirajte novi račun. Dobivate 14 -dnevno besplatno probno razdoblje i svi sa edu e -adresom mogu se registrirati za besplatni studentski paket.

Korak 2: Instalirajte ISStreamer

Instalirajte početni državni Python modul na svoj Raspberry Pi. U naredbenom retku pokrenite sljedeću naredbu:

$ cd/home/pi/

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

Korak 3: Napravite Automagic

Nakon 2. koraka na ekranu ćete vidjeti nešto slično sljedećem izlazu:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Lozinka: Počinje ISStreamer Python Laka instalacija! Ovo može potrajati nekoliko minuta da se instalira, popijete kafu:) Ali ne zaboravite da se vratite, ja ću imati pitanja kasnije! Pronađeno easy_install: setuptools 1.1.6 Pronađeno pip: pip 1.5.6 iz /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) glavna verzija pipa: 1 pip minor verzija: 5 ISStreamer je pronađen, ažurira se … Zahtev je već ažuriran: ISStreamer u biblioteci/Python/2.7/web-paketima Čišćenje … Želite li automatski da dobijete primer skripte? [y/N] Gdje želite spremiti primjer? [zadano:./is_example.py] Molimo odaberite aplikaciju početnog stanja koju koristite: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Unesite izbor 1 ili 2: Unesite iot.app.initialstate.com korisničko ime: Unesite lozinku iot.app.initialstate.com:

Na pitanje želite li automatski dobiti primjer skripte, stavite "y" za "da" i pritisnite enter za spremanje skripte na zadanu lokaciju. Na pitanje o tome koju aplikaciju koristite, odaberite 2 (osim ako ste se prijavili prije studenog 2018.) i unesite svoje korisničko ime i lozinku.

Korak 4: Pokrenite primjer skripte

Pokrenite testnu skriptu kako biste bili sigurni da možemo stvoriti tok podataka na vašem računu početnog stanja. Napišite sljedeću naredbu:

$ python is_example.py

Korak 5: Primjer podataka

Vratite se na svoj račun početnog stanja u svom web pregledniku. Nova korpa podataka pod nazivom „Primjer Python Stream -a“trebala se pojaviti s lijeve strane na polici vašeg dnevnika (možda ćete morati osvježiti stranicu). Kliknite na ovu korpu da vidite svoje podatke.

Korak 2: BerryGPS-GSM i Raspberry Pi Zero

BerryGPS-GSM i Raspberry Pi Zero
BerryGPS-GSM i Raspberry Pi Zero

Ako koristite BerryGPS-GSM, možete slijediti ovaj vodič kako bi GPS funkcionirao i vaš Pi povezivao putem 3G-a koristeći PPP.

Povezani vodič također pokazuje kako učiniti da se vaš Pi automatski poveže s mrežom operatera pri pokretanju. Ovo će vam trebati ako planirate izvesti daljinsko praćenje.

Instalirajte biblioteke

Morat ćete instalirati sljedeće biblioteke:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Glavni Python skript

Ovdje ćemo stvoriti glavnu skriptu koja će prenositi GPS podatke u početno stanje. Donji kôd stvara zasebnu nit koja se koristi za nadgledanje serijskog porta. Ovo je potrebno jer imamo pauzu u glavnoj petlji. Pauza je tu da ograniči koliko podataka prenosimo preko 3G -a.

Kad bismo sve radili u istoj niti tokom pauze, serijski bafer bi se napunio (to je FIFO), a kada dobijemo sljedeću vrijednost iz međuspremnika, ostarit će za nekoliko sekundi. To se događa u svakoj petlji i na kraju će podaci kasniti nekoliko minuta ili sati.

Da biste stvorili python skriptu i otvorili uređivač teksta, unesite sljedeću naredbu:

$ nano GPStracker.py

Kopirajte i zalijepite sljedeći kôd u uređivač teksta. Morat ćete unijeti svoj početni ključ pristupa državi u red 11 gdje piše "UNESITE KLJUČ ZA PRISTUP":

#! /usr/bin/pythoniz gps uvoza * iz vremenskog uvoza * uvoz niti uvozi datum i vrijeme iz ISStreamer. Streamer import Streamer gpsd = Nema #Postavi globalnu varijablu #Postavi tok početnog stanja, unesite svoj pristupni ključ ispod streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER YOUR ACCESS KEY ") klasa GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID globalni gpsd #bring to u opsegu gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Pokretanje pokretanja ove niti def run (self): globalni gpsd dok gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # kreirajte nit za prikupljanje podataka pokušajte: gpsdThread.start () # pokrenite je dok je True: ispišite 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) i (gpsd.fix.longitude'nan '): streamer.log ("Lokacija", "{lat}, {lon}". format (lat = gpsd.fix.daljina, lon = gpsd.fix.longitu de)) streamer.log ("brzina", gpsd.fix.speed) ispis "lat", gpsd.fix.latitude, ispis "lon", gpsd.fix.longitude, ispis "brzina", gpsd.fix.speed sleep (5) osim (KeyboardInterrupt, SystemExit): # kada pritisnete ctrl+c ispišite "\ nKilling Thread …" gpsdThread.running = False gpsdThread.join () # sačekajte da nit završi ono što radi ispis "Gotovo. / NIzlazak."

Spremi i izađi iz uređivača teksta pritiskom na CTRL + X, Y, Enter.

Automatski pokrenite skriptu pri pokretanju

Ako radite daljinski nadzor, želite da se skripta pokreće pri pokretanju. Da bismo to učinili, stvorit ćemo malu skriptu koja će pokrenuti glavni python program. Unesite sljedeću naredbu:

$ nano GPStrackerStart.sh

Kopirajte redove u uređivač teksta:

#!/bin/bash

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

Gore navedena pauza postoji kako bi Pi dala vrijeme za pokretanje i povezivanje putem PPP -a.

Učinite skriptu izvršnom:

$ chmod +x ~/GPStrackerStart.sh

Koristit ćemo cron za pokretanje skripte svaki put kada se Pi pokrene:

$ crontab -e

Dodajte donji red na dno:

@reboot /home/pi/GPStrackerStart.sh &

Korak 3: Nadzorna ploča za lokaciju i brzinu

Nadzorna ploča za lokaciju i brzinu
Nadzorna ploča za lokaciju i brzinu

Sada kada je vaš projekt pokrenut i podaci bi se trebali slati u početno stanje. Imat ćete GPS podatke i podatke o brzini. Za praćenje lokacije možete koristiti GPS podatke u pločici karte. Za pločicu karte, provjerite potvrdni okvir Draw Path kako bi se praćenje lokacije mapiralo poput gornje nadzorne ploče. Podatke o brzini možete staviti u linijski grafikon kako biste vidjeli brzinu tokom vremena.

Preporučuje se: