Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Alkutila
- Vaihe 2: BerryGPS-GSM ja Raspberry Pi Zero
- Vaihe 3: Sijainti- ja nopeushallintapaneeli
Video: Reaaliaikainen GPS-seuranta: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Seuraa lisää tekijältä:
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
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
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
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:
Reaaliaikainen Rubikin kuution silmät ratkaistu Ratkaisu Raspberry Pi: n ja OpenCV: n avulla: 4 vaihetta
Reaaliaikainen Rubikin kuution sokeat ratkaisija Raspberry Pi: n ja OpenCV: n avulla: Tämä on Rubikin kuutiotyökalun toinen versio, joka on suunniteltu ratkaisemaan silmät. Ensimmäinen versio on JavaScriptin kehittämä, näet projektin RubiksCubeBlindfolded1Toisin kuin edellinen, tämä versio käyttää OpenCV -kirjastoa värien ja e
Reaaliaikainen kaivon vesimittari: 6 vaihetta (kuvilla)
Reaaliaikainen kaivojen vedenpinnan mittari: Nämä ohjeet kuvaavat, kuinka rakentaa edullinen, reaaliaikainen vedenpinnan mittari kaivettuja kaivoja varten. Vedenkorkeusmittari on suunniteltu roikkumaan kaivetun kaivon sisällä, mittaamaan vedenpinta kerran päivässä ja lähettämään tiedot WiFi- tai matkapuhelinyhteydellä
Reaaliaikainen kaivon veden lämpötila, johtavuus ja vedenpinnan mittari: 6 vaihetta (kuvilla)
Reaaliaikainen kaivon veden lämpötilan, johtavuuden ja vedenpinnan mittari: Nämä ohjeet kuvaavat kuinka rakentaa edullinen, reaaliaikainen vesimittari lämpötilan, sähkönjohtavuuden (EC) ja vedenpinnan valvontaan kaivetuissa kaivoissa. Mittari on suunniteltu roikkumaan kaivetun kaivon sisään, mittaamaan veden lämpötilaa, EY
Kuinka tehdä kosteuden ja lämpötilan reaaliaikainen tietojen tallennin Arduino UNO: n ja SD-kortin avulla - DHT11-tiedonkeruusimulaatio Proteuksessa: 5 vaihetta
Kuinka tehdä kosteuden ja lämpötilan reaaliaikainen tietojen tallennin Arduino UNO: n ja SD-kortin avulla | DHT11-tiedonkeruusimulaatio Proteuksessa: Johdanto: Hei, tämä on Liono Maker, tässä on YouTube-linkki. Teemme luovaa projektia Arduinon kanssa ja työskentelemme sulautettujen järjestelmien parissa
Postipaita: Reaaliaikainen puettavan asennon tunnistus: 9 vaihetta
Postshirt: Reaaliaikainen puettavan asennon tunnistus: Postshirt on reaaliaikainen langaton asennon tunnistusjärjestelmä, joka lähettää ja luokittelee kiihtyvyysmittarin tiedot Adafruit Featherista Android -sovellukseen Bluetoothin kautta. Koko järjestelmä voi havaita reaaliajassa, jos käyttäjä on huonossa asennossa ja