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, Studeni
Anonim

Autor elizabethnaSlijedi Više od 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 izgraditi monitor temperature Raspberry Pi
Kako izgraditi monitor temperature Raspberry Pi
Kako izgraditi monitor temperature Raspberry Pi
Kako izgraditi 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 pomoću BerryGPS-GSM-a, Raspberry Pi Zero i početnog stanja. Poslat ćemo zemljopisnu dužinu, širinu i brzinu putem 3G-a s BerryGPS-GSM-om u početno stanje.

Pribor

  • Malina Pi Zero
  • BerryGPS-GSM
  • Početno stanje

Korak 1: Početno stanje

Početno stanje
Početno stanje

Želimo prenijeti sve svoje 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 svog prijenosnog računala ili mobilnog uređaja. Koristit ćemo početno stanje.

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

Idite na https://iot.app.initialstate.com i stvorite novi račun. Dobivate 14 -dnevno besplatno probno razdoblje i svatko s edu e -adresom može se registrirati za besplatni studentski paket.

Korak 2: Instalirajte ISStreamer

Instalirajte modul početnog stanja Python 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 bashPassword: Počinje ISStreamer Python Jednostavna instalacija! Ovo može potrajati nekoliko minuta za instalaciju, uzmite kavu:) Ali ne zaboravite se vratiti, imat ću pitanja kasnije! Nađ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 mala verzija pipa: 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 dobiti primjer 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 zadano mjesto. 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š račun početnog stanja. Napišite sljedeću naredbu:

$ python je_example.py

Korak 5: Primjer podataka

Vratite se na početno stanje računa u svom web pregledniku. Nova podatkovna korpa 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 kantu za pregled vaših podataka.

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 radio i natjerao vaš Pi da se poveže putem 3G putem PPP-a.

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

Instalirajte knjižnice

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 usmjeravati GPS podatke u početno stanje. Donji kôd stvara zasebnu nit koja se koristi za nadzor serijskog porta. To je potrebno jer imamo stanku u glavnoj petlji. Pauza je tu da ograniči koliko podataka prenosimo preko 3G -a.

Kad bismo tijekom pauze učinili sve u istoj niti, serijski međuspremnik 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 ključ za početni pristup državi u redak 11 gdje piše "ENTER YOUR ACCESS KEY":

#! /usr/bin/pythoniz gps uvoza * iz vremena uvoza * uvoza niti uvoza datuma unosa iz ISStreamer. Streamer uvoza Streamer gpsd = Nema #Postavi globalnu varijablu #Postavi tok početnog stanja, unesite 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 #Pokreni pokretanje ove niti def run (self): globalni gpsd dok gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # stvorite 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.duljina, 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 () # pričekajte da nit dovrš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, izradit ćemo malu skriptu koja će pokrenuti glavni program python. Unesite sljedeću naredbu:

$ nano GPStrackerStart.sh

Kopirajte retke u uređivač teksta:

#!/bin/bash

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

Gornja stanka postoji kako bi Pi dala vrijeme za podizanje sustava 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 podigne:

$ crontab -e

Dodajte donji redak 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 ste pokrenuli projekt, trebali biste poslati podatke 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 tijekom vremena.

Preporučeni: