Sisukord:
- Tarvikud
- 1. etapp: algseisund
- 2. samm: BerryGPS-GSM ja Raspberry Pi Zero
- 3. samm: asukoha ja kiiruse juhtpaneel
Video: Reaalajas GPS-i jälgimine: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Jälgi autori lisateavet:
Selles õpetuses näitame teile, kuidas teha reaalajas asukoha jälgimist, kasutades BerryGPS-GSM-i, Raspberry Pi Zero ja esialgset olekut. Saadame BerryGPS-GSM-iga 3G kaudu pikkuskraadi, laiuskraadi ja kiiruse algolekusse.
Tarvikud
- Vaarika Pi Zero
- BerryGPS-GSM
- Esialgne riik
1. etapp: algseisund
Tahame voogesitada kõiki oma pikkus-, laius- ja kiiruseandmeid pilveteenusesse ning lasta sellel teenusel muuta meie andmed toredaks armatuurlauaks, millele pääseme juurde oma sülearvutist või mobiilseadmest. Kasutame algseisundit.
Samm: registreerige esmase riigi konto
Minge aadressile https://iot.app.initialstate.com ja looge uus konto. Saate 14 -päevase tasuta prooviperioodi ja igaüks, kellel on edu e -posti aadress, saab registreeruda tasuta õpilaspaketile.
Samm: installige ISStreamer
Installige algseisundi Pythoni moodul oma Raspberry Pi -le. Käsurealt käivitage järgmine käsk:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
3. samm: tehke automaatika
Pärast 2. sammu näete ekraanile midagi sarnast järgmise väljundiga:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashParool: ISStreamer Python lihtne paigaldamine! Selle paigaldamiseks võib kuluda paar minutit, haarake kohvi:) Aga ärge unustage tagasi tulla, mul on hiljem küsimusi! Leiti easy_install: setuptools 1.1.6 Leiti pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip peamine versioon: 1 pip kõrvalversioon: 5 ISStreamer leiti, värskendatakse… Nõue on juba ajakohane: ISStreamer raamatukogus/Python/2.7/saidipaketid Puhastamine … Kas soovite automaatse näiteskripti hankida? [y/N] Kuhu soovite näite salvestada? [vaikimisi:./is_example.py] Palun valige, millist algse oleku rakendust kasutate: 1. app.initialstate.com 2. [UUS!] iot.app.initialstate.com Sisestage valik 1 või 2: Sisestage iot.app.initialstate.com kasutajanimi: sisestage iot.app.initialstate.com parool:
Kui teilt küsitakse, kas soovite automaatselt skriptide näite saada, kirjutage jah ja vajutage sisestusklahvi, et skript vaikimisi asukohta salvestada. Küsimuse kohta, millist rakendust te kasutate, valige 2 (kui te pole registreerunud enne novembrit 2018) ja sisestage oma kasutajanimi ja parool.
Samm: käivitage näidiskript
Käivitage testskript, et veenduda, kas suudame teie algse oleku kontole andmevoo luua. Kirjutage järgmine käsk:
$ python is_example.py
5. samm: näiteandmed
Minge oma veebibrauseris tagasi algse riigi kontole. Teie logiriiuli vasakul küljel oleks pidanud ilmuma uus andmekogum nimega „Python Streami näide” (peate võib -olla lehte värskendama). Oma andmete vaatamiseks klõpsake sellel ämbril.
2. samm: BerryGPS-GSM ja Raspberry Pi Zero
Kui kasutate BerryGPS-GSM-i, siis järgige seda juhendit, et saada GPS tööle ja oma Pi ühendada PPP-ga 3G kaudu.
Lingitud juhend näitab ka seda, kuidas panna Pi käivitamisel automaatselt võrguühendusega ühendust. Seda vajate, kui kavatsete kaugjälgimist teostada.
Installige teegid
Peate installima järgmised teegid:
$ sudo apt-get install python-pip
$ sudo pip install pynmea2 $ sudo pip install ISStreamer
Peamine Pythoni skript
Siin loome peamise skripti, mis edastab GPS -i andmed algolekusse. Allolev kood loob eraldi lõime, mida kasutatakse jadapordi jälgimiseks. Seda on vaja, sest meil on põhiahelas paus. Paus on selleks, et piirata, kui palju andmeid 3G kaudu üles laadime.
Kui me teeksime pausi ajal kõik samas lõimes, täidaks jadapuhver (see on FIFO) ja kui saame puhvrist järgmise väärtuse, on see mõne sekundi võrra vana. See juhtub igal silmusel ja lõpuks jäävad andmed minutite või tundide taha.
Pythoni skripti loomiseks ja tekstiredaktori avamiseks sisestage järgmine käsk:
$ nano GPStracker.py
Kopeerige ja kleepige järgmine kood tekstiredaktorisse. Peate sisestama oma algse oleku juurdepääsuvõtme reale 11, kus on kiri "SISESTAGE JUURDEPÄÄSU VÕTI":
#! /usr/bin/pythonfrom gps import * ajast impordist * impordi lõimingu importimise kuupäev ja aeg ISStreamerist. Streami import Streamer gpsd = Puudub #Seadista globaalne muutuja #Seadista algseisundi voog, sisesta oma juurdepääsuvõti alla streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER YOUR ACCESS KEY ") klassi GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring see ulatuses gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Start running this thread def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # looge lõim andmete kogumiseks proovige: gpsdThread.start () # käivitage see tõesega: printige 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) ja (gpsd.fix.longitude'nan '): streamer.log ("Asukoht", "{lat}, {lon}". formaat (lat = gpsd.fix.laiuskraad, lon = gpsd.fix.longitu de)) streamer.log ("kiirus", gpsd.fix.speed) print "lat", gpsd.fix.latitude, print "lon", gpsd.fix.longitude, print "speed", gpsd.fix.speed sleep (5) välja arvatud (KeyboardInterrupt, SystemExit): # kui vajutate klahvikombinatsiooni ctrl+c print "\ nTeebi tapmine …" gpsdThread.running = Vale gpsdThread.join () # oodake, kuni lõng lõpetab printimise "Valmis. / NVäljavõtmine."
Salvestage ja väljuge tekstiredaktorist, vajutades klahvikombinatsiooni CTRL + X, Y, sisestusklahvi.
Käivitage skript käivitamisel automaatselt
Kui teete kaugseiret, soovite, et skript käivitataks. Selleks loome väikese skripti, mis käivitab peamise pythoni programmi. Sisestage järgmine käsk:
$ nano GPStrackerStart.sh
Kopeerige read tekstiredaktorisse:
#!/bin/bash
uni 15 python /home/pi/GPStracker.py &
Ülaltoodud paus on selleks, et anda Pi -le aega PPP -ga käivitamiseks ja ühendamiseks.
Muutke skript käivitatavaks:
$ chmod +x ~/GPStrackerStart.sh
Me kasutame skripti käivitamiseks cronit iga kord, kui Pi saabub:
$ crontab -e
Lisage alumine rida allapoole:
@reboot /home/pi/GPStrackerStart.sh &
3. samm: asukoha ja kiiruse juhtpaneel
Nüüd, kui olete oma projekti käivitanud, peaksid andmed saatma algseisundisse. Teil on GPS -andmed ja kiiruse andmed. Asukoha jälgimiseks saate kasutada GPS -andmeid kaardil Tile. Kaardipaani puhul märkige kindlasti märkeruut Joonista tee, et teie asukoha jälgimine oleks kaardistatud nagu ülaltoodud armatuurlaud. Kiiruse andmed aja jooksul saate joonegraafikusse panna.
Soovitan:
GPS -i jälgimine OLED -ekraaniprojektiga: 5 sammu (piltidega)
GPS -i jälgimine OLED -ekraaniprojektiga: Tere kõigile, selles kiiremas artiklis jagan teiega oma projekti: ATGM332D GPS -moodul koos SAMD21J18 mikrokontrolleri ja SSD1306 OLED 128*64 ekraaniga, ehitasin selle jaoks Eagle Autodeskis spetsiaalse trükkplaadi ja programmeerisin selle kasutades Atmel studio 7.0 ja ASF -i
Reaalajas Covid19 jälgija, kasutades ESP8266 ja OLED - Reaalajas Covid19 armatuurlaud: 4 sammu
Reaalajas Covid19 jälgija, kasutades ESP8266 ja OLED | Reaalajas Covid19 armatuurlaud: külastage Techtronic Harshi veebisaiti: http: //techtronicharsh.com Kõikjal, kus esineb tohutu uudse koroonaviiruse (COVID19) puhang. Vajalik oli jälgida praegust COVID-19 stsenaariumi maailmas. Niisiis oli see kodus olles
Väikeste poodide jälgimine ja jälgimine: 9 sammu (piltidega)
Jälgi ja jälgi väikestele poodidele: see on süsteem, mis on loodud väikestele kauplustele, mis peaksid olema paigaldatud e-jalgratastele või e-motorolleritele lühikese vahemaaga kohaletoimetamiseks, näiteks pagaritöökoda, mis soovib saiakesi tarnida. Mida tähendab jälgimine ja jälgimine? Jälgimine ja jälgimine on süsteem, mida kasutavad ca
Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino): 8 sammu
Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino): Nii et teil on GSM-moodul, nagu mina? Ka GPS-jälgija? Me arvame sama! Selles juhendis püüan teid juhendada, kuidas oma eesmärki algaja vaatenurgast saavutada. Kuna mul puudusid varasemad elektrotehnilised teadmised (
Anduri väärtuse reaalajas jälgimine kõikjal maailmas: 4 sammu
Anduri väärtuse reaalajas jälgimine kõikjalt maailmast: sain sõnumi tehnikute WhatsAppi numbri kohta, mis puudutas abi ühe projekti tegemisel. Projekt pidi mõõtma rõhuandurile avaldatavat survet ja kuvama selle nutitelefonis. Nii aitasin seda projekti teha ja otsustasin teha juhendaja