فهرست مطالب:
تصویری: ردیابی GPS در زمان واقعی: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
بیشتر توسط نویسنده دنبال کنید:
در این آموزش ، نحوه انجام ردیابی مکان در زمان واقعی با استفاده از 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 استفاده می کنید ، می توانید این راهنما را دنبال کنید تا 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 را علامت بزنید تا ردیابی موقعیت مکانی شما مانند داشبورد بالا ترسیم شود. برای مشاهده سرعت در طول زمان می توانید داده های سرعت خود را در نمودار خطی قرار دهید.
توصیه شده:
نحوه استفاده از ماژول ساعت در زمان واقعی (DS3231): 5 مرحله
نحوه استفاده از ماژول ساعت در زمان واقعی (DS3231): DS3231 یک ساعت زمان واقعی کم هزینه و بسیار دقیق I2C (RTC) با نوسان ساز بلوری با جبران دما (TCXO) و کریستال است. این دستگاه دارای ورودی باتری است و زمان دقیق را در زمان تغذیه اصلی حفظ می کند
حل کننده مکعب روبیک در زمان واقعی با استفاده از Raspberry Pi و OpenCV: 4 مرحله
حل کننده مکعب روبیک در زمان واقعی با استفاده از Raspberry Pi و OpenCV: این دومین نسخه از ابزار مکعب روبیک است که برای حل با چشم بسته ساخته شده است. نسخه اول توسط javascript توسعه یافته است ، می توانید پروژه RubiksCubeBlindfolded1 را مشاهده کنید بر خلاف نسخه قبلی ، این نسخه از کتابخانه OpenCV برای تشخیص رنگها و
ربات هوشمند DIY ردیابی ماشین ردیابی ماشین ردیابی خودرو حساس به نور: 7 مرحله
دستگاه DIY Robot Smart Tracking Car Tracking Car Photosensitive: طراحی شده توسط SINONING ROBOT شما می توانید از ربات ردیابی ماشین خرید کنید بچرخید تا
Time Cube - ابزار ردیابی زمان آردوینو: 6 مرحله
Time Cube - ابزار ردیابی زمان آردوینو: من می خواهم یک پروژه آردوینو ساده اما واقعاً مفید را برای ردیابی رویدادهای زمان با چرخاندن برخی از ابزارهای مکعب هوشمند به شما پیشنهاد کنم. آن را به & quot؛ کار کنید & quot؛ & gt؛ & quot؛ یاد بگیر & quot؛ & gt؛ & quot؛ مشاغل & quot؛ & gt؛ & quot؛ استراحت & quot؛ طرف و آن را شمارش می کند
جعبه مغز: ردیابی حجم عصبی در طول زمان: 20 مرحله
جعبه مغز: ردیابی حجم عصبی در طول زمان: پیشرفت به مرز عمر طولانی تر انسان باعث ظهور بیماری هایی شده است که تمدن ها قبل از ما مشاهده نکرده اند. در میان این موارد ، آلزایمر در سال 2017 تقریباً 5.3 میلیون نفر از افراد مسن آمریکایی را تحت تأثیر قرار داد ، یا تقریباً از هر 10 سال یک نفر