Sisällysluettelo:

Reaaliaikainen GPS-seuranta: 3 vaihetta
Reaaliaikainen GPS-seuranta: 3 vaihetta

Video: Reaaliaikainen GPS-seuranta: 3 vaihetta

Video: Reaaliaikainen GPS-seuranta: 3 vaihetta
Video: Taistelusukeltajat - Osa 3 2024, Heinäkuu
Anonim

Seuraa lisää tekijältä:

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Raspberry Pi -lämpötilamittarin rakentaminen
Raspberry Pi -lämpötilamittarin rakentaminen
Raspberry Pi -lämpötilamittarin rakentaminen
Raspberry Pi -lämpötilamittarin rakentaminen
Suoratoista tietoja Google Sheetsistä hallintapaneeliin
Suoratoista tietoja Google Sheetsistä hallintapaneeliin
Suoratoista tietoja Google Sheetsistä hallintapaneeliin
Suoratoista tietoja Google Sheetsistä hallintapaneeliin

Tässä opetusohjelmassa näytämme sinulle, kuinka voit tehdä reaaliaikaisen sijainnin seurannan käyttämällä BerryGPS-GSM: ää, Raspberry Pi Zeroa ja alkuperäistä tilaa. Lähetämme pituusaste, leveysaste ja nopeus 3G: n kautta BerryGPS-GSM: n kanssa alkuperäiseen tilaan.

Tarvikkeet

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Alkuperäinen tila

Vaihe 1: Alkutila

Alkuperäinen tila
Alkuperäinen tila

Haluamme suoratoistaa kaikki pituus-, leveys- ja nopeustietomme pilvipalveluun ja saada tämän palvelun muuttamaan tietomme mukavaksi kojelautaksi, jota voimme käyttää kannettavalla tietokoneella tai mobiililaitteella. Käytämme alkuperäistä tilaa.

Vaihe 1: Rekisteröi alkuperäisen valtion tili

Siirry osoitteeseen https://iot.app.initialstate.com ja luo uusi tili. Saat 14 päivän ilmaisen kokeilujakson, ja kaikki, joilla on edu -sähköpostiosoite, voivat rekisteröityä ilmaiseen opiskelijasuunnitelmaan.

Vaihe 2: Asenna ISStreamer

Asenna Initial State Python -moduuli Raspberry Pi -laitteeseesi. Suorita komentokehotteessa seuraava komento:

$ cd/home/pi/

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

Vaihe 3: Tee Automagic

Vaiheen 2 jälkeen näet jotain seuraavan kaltaista tulosta näytölle:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashSalasana: ISStreamer Python Helppo asennus! Asentaminen voi kestää muutaman minuutin, nappaa kahvia:) Mutta älä unohda palata, minulla on kysymyksiä myöhemmin! Löytyi easy_install: setuptools 1.1.6 Löytyi pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip pääversio: 1 pip vähäinen versio: 5 ISStreamer löytyi, päivitetään… Vaatimus on jo ajan tasalla: ISStreamer kirjastossa/Python/2.7/site-paketit Siivotaan… Haluatko automaattisesti saada esimerkkikomentosarjan? [y/N] Minne haluat tallentaa esimerkin? [oletus:./is_example.py] Valitse alkuperäinen tila, jota käytät: 1. app.initialstate.com 2. [UUSI!] iot.app.initialstate.com Anna vaihtoehto 1 tai 2: Kirjoita iot.app.initialstate.com -käyttäjänimi: Anna iot.app.initialstate.com -salasana:

Kun sinulta kysytään, haluatko saada automaattisesti esimerkkikomentosarjan, kirjoita "y" Kyllä -asentoon ja tallenna skriptisi oletussijaintiin painamalla Enter -näppäintä. Jos haluat tietää, mitä sovellusta käytät, valitse 2 (ellet ole rekisteröitynyt ennen marraskuuta 2018) ja anna käyttäjätunnuksesi ja salasanasi.

Vaihe 4: Suorita esimerkkikomentosarja

Suorita testikomentosarja varmistaaksesi, että voimme luoda tietovirran alkuperäisen valtion tilillesi. Kirjoita seuraava komento:

$ python on_esimerkki.py

Vaihe 5: Esimerkkitiedot

Palaa alkuperäisen valtion tilillesi verkkoselaimellasi. Python Stream -esimerkiksi kutsutun uuden tietoryhmän olisi pitänyt näkyä lokihyllyn vasemmalla puolella (sivu on ehkä päivitettävä). Napsauta tätä ryhmää nähdäksesi tietosi.

Vaihe 2: BerryGPS-GSM ja Raspberry Pi Zero

BerryGPS-GSM ja Raspberry Pi Zero
BerryGPS-GSM ja Raspberry Pi Zero

Jos käytät BerryGPS-GSM: ää, voit seurata tätä opasta saadaksesi GPS: n toimimaan ja saamaan Pi: n muodostamaan yhteyden 3G: n kautta PPP: n avulla.

Linkitetty opas näyttää myös, miten saat Pi yhteyden automaattisesti operaattoriverkkoon käynnistyksen yhteydessä. Tarvitset tätä, jos aiot suorittaa etäseurannan.

Asenna kirjastot

Sinun on asennettava seuraavat kirjastot:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Pythonin pääskripti

Tässä luomme pääskriptin, joka suoratoistaa GPS -tiedot alkuperäiseen tilaan. Alla oleva koodi luo erillisen säikeen, jota käytetään sarjaportin seurantaan. Tätä tarvitaan, koska pääsilmukassa on tauko. Tauko rajoittaa sitä, kuinka paljon dataa lataamme 3G: n kautta.

Jos tekisimme kaiken samassa ketjussa tauon aikana, sarjapuskuri täyttyisi (se on FIFO) ja kun saamme seuraavan arvon puskurista, se on vanha muutama sekunti. Tämä tapahtuu jokaisen silmukan aikana ja lopulta tiedot ovat minuutteja tai tunteja jäljessä.

Luo python -komentosarja ja avaa tekstieditori kirjoittamalla seuraava komento:

$ nano GPStracker.py

Kopioi ja liitä seuraava koodi tekstieditoriin. Sinun on annettava alkuperäisen käyttöoikeusavaimesi riville 11, jossa lukee "ANNA KÄYTTÖKOHTA":

#! /usr/bin/pythonfrom gps tuonti * ajan tuonnista * tuonti säikeiden tuonti päivämäärä ISStreamerista. Streamerin tuonti Streamer gpsd = Ei mitään #Setup global variable #Setup the Initial State stream, kirjoita käyttöavaimesi streamer = Streamer (bucket_name = "GPS_Tracker) alle ", bucket_key =" GPS_TRACKER ", access_key =" ENTER ACCESS AVEY ") -luokan GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring it in range gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Aloita tämän säikeen suorittaminen def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # luo viestiketju tietojen keräämiseksi kokeile: gpsdThread.start () # käynnistä kun True: tulosta 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) ja (gpsd.fix.longitude'nan '): streamer.log ("Sijainti", "{lat}, {lon}". muoto (lat = gpsd.fix.latitude, lon = gpsd.fix.longitu de)) streamer.log ("nopeus", gpsd.fix.speed) tulosta 'lat', gpsd.fix.latitude, tulosta 'lon', gpsd.fix.longitude, tulosta 'speed', gpsd.fix.speed sleep (5) paitsi (KeyboardInterrupt, SystemExit): # kun painat ctrl+c tulosta "\ nKilling Thread…" gpsdThread.running = False gpsdThread.join () # odota, kunnes säie lopettaa tekemänsä tulostuksen "Valmis. / NLaukaa."

Tallenna ja sulje tekstieditori painamalla CTRL + X, Y, enter.

Käynnistä komentosarja automaattisesti käynnistyksen yhteydessä

Jos teet etävalvontaa, haluat, että komentosarja suoritetaan käynnistyksen yhteydessä. Tätä varten luomme pienen komentosarjan, joka käynnistää python -pääohjelman. Kirjoita seuraava komento:

$ nano GPStrackerStart.sh

Kopioi rivit tekstieditoriin:

#!/bin/bash

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

Yllä oleva tauko antaa Pi: lle aikaa käynnistyä ja muodostaa yhteyden PPP: n kautta.

Tee komentosarjasta suoritettava:

$ chmod +x ~/GPStrackerStart.sh

Käynnistämme komentosarjan cronin avulla aina, kun Pi käynnistyy:

$ crontab -e

Lisää alla oleva rivi alareunaan:

@reboot /home/pi/GPStrackerStart.sh &

Vaihe 3: Sijainti- ja nopeushallintapaneeli

Sijainti- ja nopeushallintapaneeli
Sijainti- ja nopeushallintapaneeli

Nyt kun projektisi on käynnissä, tietojen pitäisi lähettää alkuperäiseen tilaan. Saat GPS -tiedot ja nopeustiedot. Voit käyttää GPS -tietoja kartan laatassa sijainnin seuraamiseen. Jos haluat käyttää karttaruutua, valitse Piirrä reitti -valintaruutu, jotta sijaintisi seuranta on kuvattu yllä olevan koontinäytön tapaan. Voit laittaa nopeustietosi viivakaavioon nähdäksesi nopeuden ajan mittaan.

Suositeltava: