Sadržaj:
- Pribor
- 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 promjena: 2024-01-30 09:35
Autor elizabethnaSlijedi Više od autora:
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
Ž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
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
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:
Kako koristiti modul sata u stvarnom vremenu (DS3231): 5 koraka
Kako koristiti modul sata u stvarnom vremenu (DS3231): DS3231 je jeftin, iznimno točan I2C sat u stvarnom vremenu (RTC) s integriranim temperaturno kompenziranim kristalnim oscilatorom (TCXO) i kristalom. Uređaj ima ulaz za bateriju i održava točno mjerenje vremena kada je glavno napajanje
Rubikova kocka s povezom s povezom 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 alate za kocke napravljena za rješavanje povezanih očiju. Prvu verziju razvio je javascript, možete vidjeti projekt RubiksCubeBlindfolded1 Za razliku od prethodne, ova verzija koristi biblioteku OpenCV za otkrivanje boja i e
Mjerač razine vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač razine vode u stvarnom vremenu: Ove upute opisuju kako izgraditi jeftino mjerač razine vode u stvarnom vremenu za upotrebu u iskopanim bunarima. Mjerač razine vode dizajniran je tako da visi unutar iskopanog bunara, mjeri razinu 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 | Nadzorna 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): Dakle, imate GSM modul koji leži poput mene? Također GPS-tragač? I mi mislimo isto! U ovim uputama pokušat ću vas uputiti kako ostvariti svoj cilj iz perspektive početnika. Kako nisam imao prethodno znanje iz elektrotehnike (do