INHOUDSOPGAWE:
- Voorrade
- Stap 1: Aanvanklike toestand
- Stap 2: BerryGPS-GSM en Raspberry Pi Zero
- Stap 3: Ligging en spoedkontroleskerm
Video: Intydse GPS-opsporing: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Volg meer deur die skrywer:
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
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
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
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:
N Intydse watervlakmeter: 6 stappe (met foto's)
N Waterwatermeter in reële tyd: hierdie instruksies beskryf hoe u 'n goedkoop watertemperatuurmeter in real-time kan bou vir gebruik in gegrawe putte. Die watervlakmeter is ontwerp om in 'n gegrawe put te hang, een keer per dag die watervlak te meet en die data via WiFi of mobiele verbinding te stuur
N Intydse watertemperatuur, geleidings- en watervlakmeter: 6 stappe (met foto's)
N Real-time putwatertemperatuur, geleidings- en watervlakmeter: Hierdie instruksies beskryf hoe u 'n goedkoop watermeter in real-time kan bou vir die monitering van temperatuur, elektriese geleidingsvermoë (EC) en watervlakke in gegrawe putte. Die meter is ontwerp om in 'n gegrawe put te hang, die watertemperatuur te meet, EC en
Live Covid19 Tracker met ESP8266 en OLED - Intydse Covid19 -dashboard: 4 stappe
Live Covid19 Tracker met ESP8266 en OLED | Intydse Covid19 -dashboard: Besoek Techtronic Harsh -webwerf: http: //techtronicharsh.com Oral is daar 'n groot uitbraak van die nuwe Corona -virus (COVID19). Dit het nodig geword om die huidige scenario van COVID-19 in die wêreld dop te hou, en dit was dus die tuiste
Switch-it, outomatiese uitlaat met intydse stroommeting: 6 stappe
Skakel, outomatiese uitlaat met intydse meting: ek hou baie van outomatisering, die vermoë om te beheer wanneer iets moet gebeur. Dit is wat my laat dink het aan hierdie idee: 'n selfgemaakte outomatiese uitlaat. Dit kan gebruik word om te beplan wanneer ligte aangeskakel moet word, wanneer telefone opgelaai moet word of
Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): 8 stappe
Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): het u 'n GSM-module soos ek? Ook 'n GPS-spoorsnyer? Ons dink dieselfde! In hierdie instruksies, sal ek probeer om u te lei hoe u u doel vanuit 'n nuweling se perspektief kan bereik