Სარჩევი:

რეალურ დროში GPS მიკვლევა: 3 ნაბიჯი
რეალურ დროში GPS მიკვლევა: 3 ნაბიჯი

ვიდეო: რეალურ დროში GPS მიკვლევა: 3 ნაბიჯი

ვიდეო: რეალურ დროში GPS მიკვლევა: 3 ნაბიჯი
ვიდეო: 🔵 Blackview ჩანართი 16 - ტაბლეტის დეტალური მიმოხილვა 2024, ივლისი
Anonim

ავტორი: elizabethna

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
როგორ ავაშენოთ ჟოლოს პი ტემპერატურის მონიტორი
როგორ ავაშენოთ ჟოლოს პი ტემპერატურის მონიტორი
როგორ ავაშენოთ ჟოლოს პი ტემპერატურის მონიტორი
როგორ ავაშენოთ ჟოლოს პი ტემპერატურის მონიტორი
გაუშვით მონაცემები Google Sheets– დან საინფორმაციო დაფაზე
გაუშვით მონაცემები Google Sheets– დან საინფორმაციო დაფაზე
გაუშვით მონაცემები Google Sheets– დან საინფორმაციო დაფაზე
გაუშვით მონაცემები Google Sheets– დან საინფორმაციო დაფაზე

ამ გაკვეთილში ჩვენ გაჩვენებთ თუ როგორ უნდა გააკეთოთ ადგილმდებარეობის თვალყურის დევნება რეალურ დროში BerryGPS-GSM, Raspberry Pi Zero და Initial State გამოყენებით. ჩვენ ვაგზავნით გრძედს, განედს და სიჩქარეს 3G საშუალებით BerryGPS-GSM საწყის მდგომარეობაში.

მარაგები

  • ჟოლო პი ნულოვანი
  • BerryGPS-GSM
  • საწყისი მდგომარეობა

ნაბიჯი 1: საწყისი მდგომარეობა

საწყისი მდგომარეობა
საწყისი მდგომარეობა

ჩვენ გვსურს მთელი ჩვენი გრძედის, გრძედის და სიჩქარის მონაცემების გადატანა ღრუბლოვან სერვისზე და მივიღოთ ის სერვისი, რომ ჩვენი მონაცემები იქცეს ლამაზ დაფად, რომლის წვდომაც ჩვენ შეგვიძლია ჩვენი ლეპტოპიდან ან მობილური მოწყობილობიდან. ჩვენ გამოვიყენებთ საწყის მდგომარეობას.

ნაბიჯი 1: დარეგისტრირდით საწყის სახელმწიფო ანგარიშზე

გადადით https://iot.app.initialstate.com და შექმენით ახალი ანგარიში. თქვენ მიიღებთ 14 დღიან უფასო საცდელს და ნებისმიერს, რომელსაც აქვს edu ელ.ფოსტის მისამართი, შეუძლია დარეგისტრირდეს უფასო სტუდენტურ გეგმაზე.

ნაბიჯი 2: დააინსტალირეთ ISStreamer

დააინსტალირეთ პირველადი სახელმწიფო პითონის მოდული თქვენს Raspberry Pi– ზე. ბრძანების სტრიქონში შეასრულეთ შემდეგი ბრძანება:

$ cd/მთავარი/pi/

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

ნაბიჯი 3: გააკეთეთ ავტომატიკა

მე –2 ნაბიჯის შემდეგ თქვენ დაინახავთ ეკრანზე შემდეგი გამომუშავების მსგავსს:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: იწყება ISStreamer Python მარტივი ინსტალაცია! ამას შეიძლება რამდენიმე წუთი დასჭირდეს ინსტალაციისთვის, ყავის დასალევად:) მაგრამ არ დაგავიწყდეს დაბრუნება, მე მოგვიანებით მექნება შეკითხვები! ნაპოვნია 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) პიპ ძირითადი ვერსია: 1 პიპ მცირე ვერსია: ნაპოვნია 5 ISStreamer, განახლებულია … მოთხოვნა უკვე განახლებულია: ISStreamer ბიბლიოთეკაში/Python/2.7/საიტ-პაკეტებში გასუფთავება… გსურთ ავტომატურად მიიღოთ სკრიპტის მაგალითი? [y/N] სად გსურთ შეინახოთ მაგალითი? [სტანდარტულად..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 იმპორტიდან * იმპორტი დროიდან * იმპორტი ნაკადის შემოტანა თარიღის დრო ISStreamer. Streamer იმპორტი Streamer gpsd = არცერთი #გლობალური ცვლადის დაყენება #საწყისი მდგომარეობის ნაკადის დაყენება, შეიყვანეთ თქვენი წვდომის გასაღები streamer = Streamer (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 (რეჟიმი = WATCH_ENABLE) #დაწყება GPSD self.running = მართალია #დაიწყეთ ამ თემის გაშვება def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # მონაცემების შესაგროვებლად შექმენით თემა: gpsdThread.start () # დაიწყეთ სანამ მართალია: დაბეჭდეთ 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) და (gpsd.fix.longitude'nan '): streamer.log ("მდებარეობა", "{lat}, {lon}". ფორმატი (lat = gpsd.fix. გრძედი, ლონ = gpsd.fix.longitu de)) streamer.log ("სიჩქარე", gpsd.fix.speed) ბეჭდვა "lat", gpsd.fix.latitude, print "lon", gpsd.fix.longitude, print "speed", 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

დაიძინე 15 პითონი/home/pi/GPStracker.py &

ზემოხსენებული პაუზა არის იმისთვის, რომ Pi- ს მისცეს დრო ჩატვირთვისა და PPP საშუალებით დაკავშირებისათვის.

გახადეთ სკრიპტი შესრულებადი:

$ chmod +x ~/GPStrackerStart.sh

ჩვენ ვიყენებთ კრონს სკრიპტის დასაწყებად ყოველ ჯერზე, როდესაც Pi ჩატვირთავს:

$ crontab -e

დაამატეთ ქვედა ხაზი ბოლოში:

@reboot /home/pi/GPStrackerStart.sh &

ნაბიჯი 3: ადგილმდებარეობა და სიჩქარის საინფორმაციო დაფა

ადგილმდებარეობა და სიჩქარის საინფორმაციო დაფა
ადგილმდებარეობა და სიჩქარის საინფორმაციო დაფა

ახლა, როდესაც თქვენი პროექტი ამოქმედდა, მონაცემები უნდა გაიგზავნოს საწყის მდგომარეობაში. გექნებათ GPS მონაცემები და სიჩქარის მონაცემები. თქვენ შეგიძლიათ გამოიყენოთ GPS მონაცემები რუქების კრამიტში მდებარეობის თვალყურის დევნებისთვის. რუქის კრამიტისთვის, დარწმუნდით, რომ მონიშნეთ ჩამრთველი Draw Path, რათა თქვენი მდებარეობის თვალყურის დევნება ზემოთ მოყვანილი დაფის მსგავსად იყოს ასახული. თქვენ შეგიძლიათ ჩაწეროთ თქვენი სიჩქარის მონაცემები ხაზის დიაგრამაში, რათა დრო დაინახოთ სიჩქარე.

გირჩევთ: