فهرست مطالب:

ردیابی GPS در زمان واقعی: 3 مرحله
ردیابی GPS در زمان واقعی: 3 مرحله

تصویری: ردیابی GPS در زمان واقعی: 3 مرحله

تصویری: ردیابی GPS در زمان واقعی: 3 مرحله
تصویری: دانلود برنامه ردیابی تلفن همراه روی نقشه بدون نیاز به GPS 2024, نوامبر
Anonim

بیشتر توسط نویسنده دنبال کنید:

Pumpkin Pi Tricker-or-Treat Tracker
Pumpkin Pi Tricker-or-Treat Tracker
Pumpkin Pi Tricker-or-Treat Tracker
Pumpkin Pi Tricker-or-Treat Tracker
چگونه یک مانیتور دما رزبری پای بسازیم
چگونه یک مانیتور دما رزبری پای بسازیم
چگونه یک مانیتور دما رزبری پای بسازیم
چگونه یک مانیتور دما رزبری پای بسازیم
انتقال داده ها از صفحات Google به داشبورد
انتقال داده ها از صفحات Google به داشبورد
انتقال داده ها از صفحات Google به داشبورد
انتقال داده ها از صفحات Google به داشبورد

در این آموزش ، نحوه انجام ردیابی مکان در زمان واقعی با استفاده از BerryGPS-GSM ، Raspberry Pi Zero و Initial State را به شما نشان خواهیم داد. ما طول و عرض و عرض جغرافیایی و سرعت را از طریق 3G با BerryGPS-GSM به حالت اولیه ارسال می کنیم.

تدارکات

  • تمشک پای صفر
  • BerryGPS-GSM
  • حالت اولیه

مرحله 1: حالت اولیه

حالت اولیه
حالت اولیه

ما می خواهیم تمام داده های طول جغرافیایی ، عرض جغرافیایی و سرعت خود را به یک سرویس ابری منتقل کنیم و آن سرویس داده های ما را به یک داشبورد زیبا تبدیل کند که از طریق لپ تاپ یا دستگاه تلفن همراه خود می توانیم به آن دسترسی پیدا کنیم. ما از حالت اولیه استفاده می کنیم.

مرحله 1: ثبت نام در حساب اولیه دولت

به https://iot.app.initialstate.com بروید و یک حساب جدید ایجاد کنید. شما یک دوره آزمایشی 14 روزه رایگان دریافت می کنید و هرکسی دارای آدرس ایمیل edu باشد می تواند برای یک برنامه دانشجویی رایگان ثبت نام کند.

مرحله 2: ISStreamer را نصب کنید

ماژول اولیه حالت پایتون را روی رزبری پای خود نصب کنید. در خط فرمان ، دستور زیر را اجرا کنید:

$ 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 Python آسان! ممکن است چند دقیقه طول بکشد تا نصب شود ، کمی قهوه بخورید:) اما فراموش نکنید که برگردید ، بعداً س questionsالاتی دارم! یافت شد easy_install: setuptools 1.1.6 پیپ یافت شد: pip 1.5.6 از /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) نسخه اصلی pip: 1 پیپ نسخه کوچک: 5 ISStreamer پیدا شد ، در حال بروزرسانی است … الزامات از قبل به روز شده است: ISStreamer در کتابخانه/Python/2.7/بسته های سایت در حال تمیز کردن … آیا می خواهید به طور خودکار یک اسکریپت نمونه دریافت کنید؟ [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: داده های مثال

در مرورگر وب خود به حساب حالت اولیه خود بازگردید. یک سطل داده جدید به نام "مثال جریان پایتون" باید در سمت چپ در قفسه ورود به سیستم نمایش داده شود (ممکن است مجبور شوید صفحه را بازخوانی کنید). برای مشاهده اطلاعات خود روی این سطل کلیک کنید.

مرحله 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 install pynmea2 $ sudo pip install ISStreamer

اسکریپت اصلی پایتون

در اینجا ما اسکریپت اصلی را ایجاد می کنیم که داده های GPS را به حالت اولیه ارسال می کند. کد زیر یک رشته جداگانه ایجاد می کند که برای نظارت بر پورت سریال استفاده می شود. این مورد نیاز است زیرا ما در حلقه اصلی مکث داریم. مکث برای محدود کردن میزان بارگذاری داده ها در 3G است.

اگر در مکث همه چیز را در یک موضوع انجام دهیم ، بافر سریال پر می شود (FIFO است) و وقتی مقدار بعدی را از بافر بدست آوریم ، چند ثانیه قدیمی می شود. این در هر حلقه اتفاق می افتد و در نهایت داده ها دقیقه یا ساعت عقب می مانند.

برای ایجاد اسکریپت پایتون و باز کردن ویرایشگر متن دستور زیر را وارد کنید:

$ nano GPStracker.py

کد زیر را در ویرایشگر متن کپی و جایگذاری کنید. شما باید کلید دسترسی اولیه خود را در خط 11 وارد کنید که در آن عبارت "ENTER Your Access Access Key" را وارد کنید:

# /usr/bin/python از gps import * from time import * import threading data datetime from ISStreamer. Streamer import Streamer gpsd = هیچکدام #تنظیم متغیر جهانی #راه اندازی جریان حالت اولیه ، کلید دسترسی خود را در زیر streamer = Streamer (نام سطل = "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) #شروع GPSD self.running = درست #شروع به اجرای این موضوع def run (self): جهانی gpsd در حالی که 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 ("Location"، "{lat}، {lon}"). format (lat = gpsd.fix.latitude، lon = gpsd.fix.longitu د)) streamer.log ("سرعت" ، gpsd.fix.speed) چاپ "lat" ، gpsd.fix.latitude ، چاپ "lon" ، gpsd.fix.longitude ، "speed" print ، gpsd.fix.speed sleep (5) به جز (KeyboardInterrupt، SystemExit): # هنگام فشار ctrl+c print "\ n کشتن موضوع…" gpsdThread.running = gpsdThread.join () نادرست () # منتظر بمانید تا نخ کار خود را به پایان برساند "انجام شد. / n خروج."

ویرایشگر متن را با فشار دادن CTRL + X ، Y ذخیره و از آن خارج شوید ، enter.

اسکریپت را به طور خودکار در بوت شروع کنید

اگر از راه دور نظارت می کنید ، می خواهید اسکریپت در بوت اجرا شود. برای انجام این کار ، ما یک اسکریپت کوچک ایجاد می کنیم که برنامه اصلی پایتون را شروع می کند. دستور زیر را وارد کنید:

$ nano GPStrackerStart.sh

خطوط را در ویرایشگر متن کپی کنید:

#!/bin/bash

sleep 15 python /home/pi/GPStracker.py &

مکث بالا وجود دارد تا به Pi زمان بوت شدن و اتصال از طریق PPP داده شود.

اسکریپت را اجرایی کنید:

$ chmod +x ~/GPStrackerStart.sh

هر بار که Pi بوت می شود ، از cron برای شروع اسکریپت استفاده می کنیم:

$ crontab -e

خط زیر را به پایین اضافه کنید:

reboot /home/pi/GPStrackerStart.sh &

مرحله 3: داشبورد مکان و سرعت

داشبورد مکان و سرعت
داشبورد مکان و سرعت

اکنون که پروژه خود را راه اندازی کرده اید ، داده ها باید به حالت اولیه ارسال شوند. شما داده های GPS و داده های سرعت را در اختیار خواهید داشت. برای ردیابی مکان می توانید از داده های GPS در نقشه Tile استفاده کنید. برای نقشه Tile ، مطمئن شوید که کادر انتخاب Draw Path را علامت بزنید تا ردیابی موقعیت مکانی شما مانند داشبورد بالا ترسیم شود. برای مشاهده سرعت در طول زمان می توانید داده های سرعت خود را در نمودار خطی قرار دهید.

توصیه شده: