תוכן עניינים:

מעקב GPS בזמן אמת: 3 שלבים
מעקב GPS בזמן אמת: 3 שלבים

וִידֵאוֹ: מעקב GPS בזמן אמת: 3 שלבים

וִידֵאוֹ: מעקב GPS בזמן אמת: 3 שלבים
וִידֵאוֹ: מכשיר מיני מעקב והאזנה GPS TK1000 2024, יולי
Anonim

עקוב אחר מאת המחברת:

Tracker-or-Treat Tracker של דלעת פי
Tracker-or-Treat Tracker של דלעת פי
Tracker-or-Treat Tracker של דלעת פי
Tracker-or-Treat Tracker של דלעת פי
כיצד לבנות צג טמפרטורה של פטל פיי
כיצד לבנות צג טמפרטורה של פטל פיי
כיצד לבנות צג טמפרטורה של פטל פיי
כיצד לבנות צג טמפרטורה של פטל פיי
הזרמת נתונים מ- Google Sheets ללוח מחוונים
הזרמת נתונים מ- Google Sheets ללוח מחוונים
הזרמת נתונים מ- Google Sheets ללוח מחוונים
הזרמת נתונים מ- Google Sheets ללוח מחוונים

במדריך זה, נראה לך כיצד לבצע מעקב אחר מיקום בזמן אמת באמצעות BerryGPS-GSM, Raspberry Pi Zero ו- State Initial. אנו נשלח אורך, קו רוחב ומהירות באמצעות 3G עם ה- BerryGPS-GSM למצב הראשוני.

אספקה

  • פטל פי אפס
  • BerryGPS-GSM
  • מצב התחלתי

שלב 1: מצב ראשוני

מצב התחלתי
מצב התחלתי

אנו רוצים להזרים את כל נתוני האורך, הרוחב והמהירות שלנו לשירות ענן ולתת לשירות זה להפוך את הנתונים שלנו ללוח מחוונים נחמד אליו נוכל לגשת מהמחשב הנייד או מהמכשיר הנייד שלנו. נשתמש במצב ראשוני.

שלב 1: הירשם לחשבון המדינה הראשוני

עבור אל https://iot.app.initialstate.com וצור חשבון חדש. אתה מקבל ניסיון חינם למשך 14 יום וכל מי שיש לו כתובת דוא ל של edu יכול להירשם לתכנית סטודנטים בחינם.

שלב 2: התקן את ISStreamer

התקן את מודול ה- Python Initial State על ה- 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 bashPassword: החל מ- ISStreamer פייתון התקנה קלה! ההתקנה עשויה להימשך מספר דקות, לקחת קפה:) אבל אל תשכח לחזור, יהיו לי שאלות בהמשך! נמצא easy_install: setuptools 1.1.6 נמצא pip: pip 1.5.6 מתוך /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer נמצא, מתעדכן … הדרישה כבר מעודכנת: ISStreamer בספרייה/פייתון/2.7/חבילות אתרים מנקה … האם אתה רוצה לקבל אוטומטית סקריפט לדוגמה? [y/N] היכן ברצונך לשמור את הדוגמה? [ברירת מחדל:./is_example.py] אנא בחר באיזו אפליקציית מצב ראשוני אתה משתמש: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com הזן אפשרות 1 או 2: הזן iot.app שם משתמש.initialstate.com: הזן את הסיסמה של iot.app.initialstate.com:

כשנשאל אם ברצונך לקבל סקריפט לדוגמה באופן אוטומטי שים "y" עבור כן ולחץ על enter כדי לשמור את הסקריפט שלך במיקום ברירת המחדל. לשאלה לגבי איזו אפליקציה אתה משתמש, בחר 2 (אלא אם נרשמת לפני נובמבר 2018) והזן את שם המשתמש והסיסמה שלך.

שלב 4: הפעל את הסקריפט לדוגמה

הפעל את סקריפט הבדיקה כדי לוודא שנוכל ליצור זרם נתונים לחשבון המדינה הראשונית שלך. כתוב את הפקודה הבאה:

$ python is_example.py

שלב 5: נתוני דוגמה

חזור לחשבון המדינה הראשונית שלך בדפדפן האינטרנט שלך. דלי נתונים חדש בשם "דוגמת זרם פייתון" היה צריך להופיע בצד שמאל במדף היומן שלך (ייתכן שיהיה עליך לרענן את הדף). לחץ על דלי זה כדי להציג את הנתונים שלך.

שלב 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 להתקין python-pip

$ sudo pip התקן pynmea2 $ sudo pip התקן ISStreamer

סקריפט פייתון ראשי

כאן ניצור את הסקריפט הראשי שיזרים את נתוני ה- GPS למצב התחלתי. הקוד להלן יוצר שרשור נפרד המשמש לניטור היציאה הטורית. זה נחוץ מכיוון שיש לנו הפסקה בלולאה הראשית. ההשהיה שם כדי להגביל את כמות הנתונים שאנו מעלים באמצעות 3G.

אם היינו עושים הכל באותו שרשור במהלך ההפסקה, המאגר הסדרתי יתמלא (זה FIFO) וכאשר נקבל את הערך הבא מהמאגר, הוא יהיה ישן בכמה שניות. זה קורה בכל לולאה ובסופו של דבר הנתונים יהיו בפיגור של דקות או שעות.

כדי ליצור את סקריפט הפיתון ולפתוח את עורך הטקסט הזן את הפקודה הבאה:

$ nano GPStracker.py

העתק והדבק את הקוד הבא בעורך הטקסט. יהיה עליך להזין את מפתח הגישה הראשוני שלך למדינה בשורה 11, שם כתוב "הזן את מפתח הגישה שלך":

#! /usr/bin/python מהיבוא של gps * מעת ייבוא * ייבוא threading ייבוא datetime מ- ISStreamer. Streamer import Streamer gpsd = ללא #הגדרת משתנה גלובלי #הגדרת זרם המצב הראשוני, הזן את מפתח הגישה שלך מתחת לסטרימר = סטרימר (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" הזן את מפתח הגישה שלך ") מחלקה GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring זה בהיקף gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Start הפעלת שרשור זה def run (self): gpsd גלובלי בעוד gpsdThread.running: gpsd.next () אם _name_ == '_main_': gpsdThread = GPSDcollector (1) # צור שרשור לאיסוף נתונים נסה: gpsdThread.start () # הפעל אותו בעוד True: הדפס 'GPS', gpsd.utc, 'זמן CPU->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) ו- (gpsd.fix.longitude'nan '): streamer.log ("מיקום", "{lat}, {lon}". פורמט (lat = gpsd.fix.אורך, lon = gpsd.fix.longitu de)) streamer.log ("מהירות", gpsd.fix.speed) הדפס 'lat', gpsd.fix.latitude, הדפס 'lon', gpsd.fix.longitude, הדפס 'מהירות', gpsd.fix.speed שינה)."

שמור ויצא מעורך הטקסט שלי הקשה CTRL + X, Y, enter.

הפעל את הסקריפט באופן אוטומטי בעת האתחול

אם אתה עושה ניטור מרחוק, היית רוצה שהתסריט יפעל בעת אתחול. לשם כך ניצור סקריפט קטן שיפעיל את תוכנית הפיתון הראשית. הזן את הפקודה הבאה:

$ nano GPStrackerStart.sh

העתק את השורות לעורך הטקסט:

#!/bin/bash

שינה 15 פייתון /home/pi/GPStracker.py &

ההשהיה למעלה היא שם כדי לתת ל- Pi זמן לאתחל ולהתחבר באמצעות PPP.

הפוך את התסריט להפעלה:

$ chmod +x ~/GPStrackerStart.sh

נשתמש ב- cron כדי להפעיל את התסריט בכל פעם שהפי מגפיים:

$ crontab -e

הוסף את השורה למטה לתחתית:

@reboot /home/pi/GPStrackerStart.sh &

שלב 3: לוח מחוונים של מיקום ומהירות

לוח מחוונים של מיקום ומהירות
לוח מחוונים של מיקום ומהירות

כעת, לאחר שהפרויקט שלך פועל, הנתונים אמורים להישלח למצב ההתחלתי. יהיו לך נתוני GPS ונתוני מהירות. אתה יכול להשתמש בנתוני ה- GPS באריח מפות כדי לעקוב אחר מיקום. עבור אריח המפה, הקפד לסמן את תיבת הסימון צייר נתיב כך שמעקב המיקום שלך יהיה ממופה כמו לוח המחוונים שלמעלה. אתה יכול לשים את נתוני המהירות שלך בגרף קו כדי לראות מהירות לאורך זמן.

מוּמלָץ: