Съдържание:

GPS проследяване в реално време: 3 стъпки
GPS проследяване в реално време: 3 стъпки

Видео: GPS проследяване в реално време: 3 стъпки

Видео: GPS проследяване в реално време: 3 стъпки
Видео: Как узнать местоположение по номеру телефона! Как следить за человеком по номеру! 2024, Ноември
Anonim

От elizabethna Следвайте още от автора:

Проследяване на трикове с тиква Pi
Проследяване на трикове с тиква Pi
Проследяване на трикове с тиква Pi
Проследяване на трикове с тиква Pi
Как да изградите монитор за температурата на Raspberry Pi
Как да изградите монитор за температурата на Raspberry Pi
Как да изградите монитор за температурата на Raspberry Pi
Как да изградите монитор за температурата на Raspberry Pi
Предавайте поточно данни от Google Таблици към табло за управление
Предавайте поточно данни от Google Таблици към табло за управление
Предавайте поточно данни от Google Таблици към табло за управление
Предавайте поточно данни от Google Таблици към табло за управление

В този урок ще ви покажем как да правите проследяване на местоположението в реално време с помощта на BerryGPS-GSM, Raspberry Pi Zero и Initial State. Ние ще изпратим дължина, ширина и скорост чрез 3G с BerryGPS-GSM до първоначалното състояние.

Консумативи

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Първоначално състояние

Стъпка 1: Първоначално състояние

Първоначално състояние
Първоначално състояние

Искаме да предадем поточно всички наши данни за дължина, ширина и скорост към облачна услуга и тази услуга да превърне данните ни в хубаво табло, до което можем да получим достъп от нашия лаптоп или мобилно устройство. Ще използваме Начално състояние.

Стъпка 1: Регистрирайте се за първоначална държавна сметка

Отидете на https://iot.app.initialstate.com и създайте нов акаунт. Получавате 14 -дневен безплатен пробен период и всеки с имейл адрес edu може да се регистрира за безплатен студентски план.

Стъпка 2: Инсталирайте ISStreamer

Инсталирайте Python модула за първоначално състояние на вашия Raspberry Pi. В командния ред изпълнете следната команда:

$ cd/home/pi/

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

Стъпка 3: Направете малко Automagic

След стъпка 2 ще видите нещо подобно на следния изход на екрана:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashПарола: Започване на лесна инсталация на ISStreamer Python! Това може да отнеме няколко минути за инсталиране, вземете кафе:) Но не забравяйте да се върнете, ще имам въпроси по -късно! Намерено easy_install: setuptools 1.1.6 Намерено пип: пип 1.5.6 от /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) основна версия на пип: 1 пип второстепенна версия: 5 ISStreamer е намерен, актуализира се … Изискването вече е актуално: ISStreamer в Library/Python/2.7/site-packages Почистване … Искате ли автоматично да получите примерен скрипт? [y/N] Къде искате да запишете примера? [по подразбиране:./is_example.py] Моля, изберете приложението за първоначално състояние, което използвате: 1. app.initialstate.com 2. [НОВО!] iot.app.initialstate.com Въведете избор 1 или 2: Въведете iot.app.initialstate.com потребителско име: Въведете парола на iot.app.initialstate.com:

Когато бъдете попитани дали искате автоматично да получите примерен скрипт, поставете „y“за „да“и натиснете enter, за да запазите скрипта си в местоположението по подразбиране. За въпроса кое приложение използвате, изберете 2 (освен ако не сте се регистрирали преди ноември 2018 г.) и въведете вашето потребителско име и парола.

Стъпка 4: Стартирайте примерния скрипт

Стартирайте тестовия скрипт, за да се уверите, че можем да създадем поток от данни към вашия акаунт за първоначално състояние. Напишете следната команда:

$ python is_example.py

Стъпка 5: Примерни данни

Върнете се към първоначалния си акаунт в уеб браузъра си. Нова кофа с данни, наречена „Пример на Python Stream“, трябваше да се появи вляво в рафта ви за регистрация (може да се наложи да опресните страницата). Кликнете върху тази кофа, за да видите данните си.

Стъпка 2: BerryGPS-GSM и Raspberry Pi Zero

BerryGPS-GSM и Raspberry Pi Zero
BerryGPS-GSM и Raspberry Pi Zero

Ако използвате BerryGPS-GSM, можете да следвате това ръководство, за да накарате GPS да работи и да накара вашия Pi да се свърже чрез 3G чрез PPP.

Свързаното ръководство също показва как да накарате вашия Pi да се свързва автоматично с мрежата на оператора при стартиране. Това ще ви е необходимо, ако планирате да извършите дистанционно проследяване.

Инсталирайте библиотеки

Ще трябва да инсталирате следните библиотеки:

$ sudo apt-get install python-pip

$ sudo pip инсталирайте pynmea2 $ sudo pip инсталирайте ISStreamer

Основен скрипт на Python

Тук ще създадем основния скрипт, който ще предава GPS данните към началното състояние. Кодът по -долу създава отделна нишка, която се използва за наблюдение на серийния порт. Това е необходимо, защото имаме пауза в главния цикъл. Паузата е налице, за да ограничи колко данни качваме през 3G.

Ако направихме всичко в една и съща нишка по време на паузата, серийният буфер щеше да се запълни (това е FIFO) и когато получим следващата стойност от буфера, той ще бъде стар с няколко секунди. Това се случва във всеки цикъл и в крайна сметка данните ще изостанат минути или часове.

За да създадете скрипта на python и да отворите текстовия редактор, въведете следната команда:

$ nano GPStracker.py

Копирайте и поставете следния код в текстовия редактор. Ще трябва да въведете своя ключ за първоначален достъп до състоянието на ред 11, където се казва „ВЪВЕДЕТЕ КЛЮЧА ЗА ДОСТЪП“:

#! /usr/bin/python от gps внос * от време импортиране * импортиране на нишки импортиране дата и час от ISStreamer. Streamer импортиране Streamer gpsd = Няма #Настройка на глобалната променлива #Настройте потока на първоначалното състояние, въведете ключа си за достъп под streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER YOUR ACEESS KEY ") клас GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID глобален gpsd #bring то в обхват gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Стартиране на тази нишка def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # създайте нишка за събиране на данни опитайте: gpsdThread.start () # стартирайте го, докато True: отпечатайте „GPS“, gpsd.utc, „CPU time->“, datetime.datetime.now ().time (), if (gpsd.fix.longitude0) и (gpsd.fix.longitude'nan '): streamer.log ("Местоположение", "{lat}, {lon}". format (lat = gpsd.fix. широчина, lon = gpsd.fix.longitu de)) streamer.log ("скорост", gpsd.fix.speed) печат "lat", gpsd.fix.latitude, печат "lon", gpsd.fix.longitude, печат "скорост", gpsd.fix.speed sleep (5) с изключение на (KeyboardInterrupt, SystemExit): # когато натиснете ctrl+c, отпечатайте "\ nKilling Thread …" gpsdThread.running = False gpsdThread.join () # изчакайте нишката да завърши това, което прави, отпечатване "Готово. / N Излизане."

Запазете и излезте от текстовия редактор, натискайки CTRL + X, Y, enter.

Стартирайте скрипта автоматично при стартиране

Ако правите отдалечен мониторинг, бихте искали скриптът да се изпълнява при зареждане. За да направим това, ще създадем малък скрипт, който ще стартира основната програма на python. Въведете следната команда:

$ nano GPStrackerStart.sh

Копирайте редовете в текстовия редактор:

#!/bin/bash

спя 15 python /home/pi/GPStracker.py &

Паузата по -горе е налице, за да даде време на Pi да се зареди и да се свърже чрез PPP.

Направете скрипта изпълним:

$ chmod +x ~/GPStrackerStart.sh

Ще използваме cron за стартиране на скрипта всеки път, когато Pi се стартира:

$ crontab -e

Добавете долния ред в долната част:

@reboot /home/pi/GPStrackerStart.sh &

Стъпка 3: Табло за управление на местоположението и скоростта

Табло за управление на местоположението и скоростта
Табло за управление на местоположението и скоростта

Сега, когато проектът ви е стартиран, данните трябва да се изпращат до първоначалното състояние. Ще имате GPS данни и данни за скоростта. Можете да използвате GPS данните в плочки на карти за проследяване на местоположението. За плочката на картата не забравяйте да поставите отметка в квадратчето Draw Path, така че проследяването на вашето местоположение да бъде нанесено като таблото за управление по -горе. Можете да поставите вашите данни за скоростта в линейна графика, за да видите скоростта с течение на времето.

Препоръчано: