INHOUDSOPGAWE:

Intydse GPS-opsporing: 3 stappe
Intydse GPS-opsporing: 3 stappe

Video: Intydse GPS-opsporing: 3 stappe

Video: Intydse GPS-opsporing: 3 stappe
Video: Мотивирующие занятия для детей Garmin vivofit jr 3 в тесте 2024, November
Anonim

Volg meer deur die skrywer:

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Hoe om 'n Raspberry Pi -temperatuurmonitor te bou
Hoe om 'n Raspberry Pi -temperatuurmonitor te bou
Hoe om 'n Raspberry Pi -temperatuurmonitor te bou
Hoe om 'n Raspberry Pi -temperatuurmonitor te bou
Stroom data vanaf Google Blaaie na 'n dashboard
Stroom data vanaf Google Blaaie na 'n dashboard
Stroom data vanaf Google Blaaie na 'n dashboard
Stroom data vanaf Google Blaaie na 'n dashboard

In hierdie tutoriaal wys ons u hoe u ligging in real-time kan opspoor met behulp van 'n BerryGPS-GSM, 'n Raspberry Pi Zero en die aanvanklike toestand. Ons sal lengtegraad, breedtegraad en spoed via 3G met die BerryGPS-GSM na die oorspronklike toestand stuur.

Voorrade

  • Framboos Pi Zero
  • BerryGPS-GSM
  • Aanvanklike staat

Stap 1: Aanvanklike toestand

Aanvanklike staat
Aanvanklike staat

Ons wil al ons lengtegraad-, breedtegraad- en spoeddata na 'n wolkdiens stroom, en die diens kan ons data in 'n goeie dashboard verander waartoe ons toegang het vanaf ons skootrekenaar of mobiele toestel. Ons sal die aanvanklike toestand gebruik.

Stap 1: Registreer vir die aanvanklike staatrekening

Gaan na https://iot.app.initialstate.com en skep 'n nuwe rekening. U kry 'n gratis proeftydperk van 14 dae en almal met 'n edu -e -posadres kan registreer vir 'n gratis studenteplan.

Stap 2: Installeer die ISStreamer

Installeer die Initial State Python -module op u Raspberry Pi. Voer die volgende opdrag in die opdragprompt uit:

$ cd/home/pi/

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

Stap 3: Maak 'n bietjie Automagic

Na stap 2 sien u iets soortgelyk aan die volgende uitset op die skerm:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Begin met die installering van ISStreamer Python! Dit kan 'n paar minute neem om te installeer, koffie te drink:) Maar vergeet nie om terug te kom nie, ek het later vrae! Easy_install: setuptools 1.1.6 Gevind pip: pip 1.5.6 van /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip hoof weergawe: 1 pip minor weergawe: 5 ISStreamer gevind, word opgedateer … Vereis reeds op datum: ISStreamer in biblioteek/Python/2.7/site-pakkette Maak skoon … Wil u outomaties 'n voorbeeldskrif kry? [j/n] Waar wil u die voorbeeld stoor? [standaard:./is_example.py] Kies asseblief watter aanvanklike staatsprogram u gebruik: 1. app.initialstate.com 2. [NUUT!] iot.app.initialstate.com Voer keuse 1 of 2 in: voer iot.app in.initialstate.com gebruikersnaam: Voer wagwoord iot.app.initialstate.com in:

As u gevra word of u 'n voorbeeldskrip outomaties wil kry, sit "y" vir ja, en druk op enter om u script op die standaardlokasie te stoor. Vir die vraag oor watter program u gebruik, kies 2 (tensy u voor November 2018 aangemeld het) en voer u gebruikersnaam en wagwoord in.

Stap 4: Begin die voorbeeldskrip

Begin die toetsskrif om seker te maak dat ons 'n datastroom na u aanvanklike staatrekening kan skep. Skryf die volgende opdrag:

$ python is_voorbeeld.py

Stap 5: Voorbeelddata

Gaan terug na u aanvanklike staatrekening in u webblaaier. 'N Nuwe data -emmer met die naam "Python Stream -voorbeeld" moes links in u logblad verskyn (u moet die bladsy moontlik herlaai). Klik op hierdie emmer om u data te sien.

Stap 2: BerryGPS-GSM en Raspberry Pi Zero

BerryGPS-GSM en Framboos Pi Zero
BerryGPS-GSM en Framboos Pi Zero

As u 'n BerryGPS-GSM gebruik, kan u hierdie gids volg om die GPS aan die gang te kry en u Pi te laat verbind via 3G met PPP.

Die gekoppelde gids wys ook hoe u u Pi outomaties met die diensverskaffernetwerk kan koppel tydens die opstart. U benodig dit as u van plan is om op afstand op te spoor.

Installeer biblioteke

U sal die volgende biblioteke moet installeer:

$ sudo apt-get install python-pip

$ sudo pip installeer pynmea2 $ sudo pip installeer ISStreamer

Hoof Python Script

Hier sal ons die hoofskrif skep wat die GPS -data na die oorspronklike toestand sal stroom. Die onderstaande kode skep 'n aparte draad wat gebruik word om die seriële poort te monitor. Dit is nodig omdat ons 'n pouse in die hooflus het. Die pouse is daar om die hoeveelheid data wat ons oor 3G oplaai, te beperk.

As ons alles in dieselfde draad gedoen het tydens die pouse, sou die reeksbuffer vol word (dit is FIFO) en as ons die volgende waarde uit die buffer kry, sal dit 'n paar sekondes oud wees. Dit gebeur elke lus, en uiteindelik is die data minute of ure agter.

Om die python -script te skep en die teksredakteur oop te maak, voer die volgende opdrag in:

$ nano GPStracker.py

Kopieer en plak die volgende kode in die teksredigeerder. U moet u aanvanklike staatstoegangssleutel op reël 11 invoer, waar staan "Voer u toegangsleutel in":

#! /usr/bin/pythonvanuit gps -invoer * van tyd af invoer * invoer van ingangstyddata vanaf ISStreamer. Streamer -invoer Streamer gpsd = Geen #Globale veranderlike opstel #Stel die aanvanklike staatstroom in, voer u toegangsleutel in onder streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" Voer u toegangsleutel in ") klas GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring dit in omvang gpsd = gps (modus = 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) # skep 'n draad om data te versamel probeer: gpsdThread.start () # begin dit terwyl True: druk 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) en (gpsd.fix.longitude'nan '): streamer.log ("Location", "{lat}, {lon}". formaat (lat = gpsd.fix.latitude, lon = gpsd.fix.longitu de)) streamer.log ("speed", gpsd.fix.speed) print 'lat', gpsd.fix.latitude, print 'lon', gpsd.fix.longitude, print 'speed', gpsd.fix.speed sleep (5) behalwe (KeyboardInterrupt, SystemExit): # as u op ctrl+c druk "\ nKilling Thread …" gpsdThread.running = False gpsdThread.join () # wag tot die draad klaar is met druk "Klaar. / NUit."

Stoor en verlaat die teksredakteur deur op CTRL + X, Y te druk.

Begin die skrif outomaties tydens die opstart

As u afstandmonitering doen, sou u wou hê dat die script tydens opstart moet begin. Om dit te doen, sal ons 'n klein skrif skep wat die hoof luislangprogram begin. Voer die volgende opdrag in:

$ nano GPStrackerStart.sh

Kopieer die reëls na die teksredigeerder:

#!/bin/bash

slaap 15 luislang /home/pi/GPStracker.py &

Die pouse hierbo is daar om die Pi tyd te gee om te begin en via PPP aan te sluit.

Maak die script uitvoerbaar:

$ chmod +x ~/GPStrackerStart.sh

Ons sal cron gebruik om die script te begin elke keer as die Pi opstart:

$ crontab -e

Voeg die onderstaande reël onderaan:

@reboot /home/pi/GPStrackerStart.sh &

Stap 3: Ligging en spoedkontroleskerm

Ligging en spoedkontroleskerm
Ligging en spoedkontroleskerm

Noudat u u projek aan die gang het, moet data na die oorspronklike toestand gestuur word. U het GPS -data en spoeddata. U kan die GPS -data in 'n kaarteël gebruik om die ligging op te spoor. Vir die kaartteël, moet u die kassie Tekenpad merk sodat u liggingopsporing soos die paneelbord hierbo beskryf word. U kan u spoeddata in 'n lyngrafiek plaas om die spoed oor tyd te sien.

Aanbeveel: