Sadržaj:
- Supplies
- Korak 1: Početno stanje
- Korak 2: BerryGPS-GSM i Raspberry Pi Zero
- Korak 3: Nadzorna ploča za lokaciju i brzinu
Video: GPS praćenje u stvarnom vremenu: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Autor elizabethnaSledi Još autora:
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
Ž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
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
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:
Kako koristiti modul sata u stvarnom vremenu (DS3231): 5 koraka
Kako koristiti modul sata u stvarnom vremenu (DS3231): DS3231 je jeftin, izuzetno precizan I2C sat u stvarnom vremenu (RTC) sa integriranim kristalnim oscilatorom kompenziranim temperaturom (TCXO) i kristalom. Uređaj ima ulaz za bateriju i održava precizno mjerenje vremena kada je napajanje
Rubikova kocka sa povezom preko očiju u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
Rubikova kocka s povezom s povezom u stvarnom vremenu pomoću Raspberry Pi-a i OpenCV-a: Ovo je druga verzija Rubikove alata za kocke napravljena za rješavanje povezanih očiju. Prvu verziju je razvio javascript, možete vidjeti projekt RubiksCubeBlindfolded1 Za razliku od prethodne, ova verzija koristi OpenCV biblioteku za otkrivanje boja i e
Mjerač nivoa vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač nivoa bunara u stvarnom vremenu: Ova uputstva opisuju kako izgraditi jeftino mjerač nivoa vode u stvarnom vremenu za upotrebu u iskopanim bunarima. Mjerač nivoa vode je dizajniran da visi unutar iskopanog bunara, mjeri nivo vode jednom dnevno i šalje podatke putem WiFi -a ili mobilne veze
Praćenje Covid19 uživo pomoću ESP8266 i OLED - Kontrolna ploča Covid19 u stvarnom vremenu: 4 koraka
Praćenje Covid19 uživo pomoću ESP8266 i OLED | Kontrolna ploča Covid19 u stvarnom vremenu: Posjetite Techtronic Harsh web stranicu: http: //techtronicharsh.comSvugdje postoji velika epidemija novog korona virusa (COVID19). Postalo je potrebno paziti na trenutni scenarij COVID-19 u svijetu. Dakle, budući da je kod kuće, ovo je bio p
Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): 8 koraka
Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): Znači, imate GSM modul koji leži poput mene? I mi mislimo isto! U ovim uputama pokušat ću vas uputiti kako postići novi cilj iz perspektive početnika. Kako nisam imao prethodno znanje iz elektrotehnike (da