Სარჩევი:
- მარაგები
- ნაბიჯი 1: საწყისი მდგომარეობა
- ნაბიჯი 2: BerryGPS-GSM & Raspberry Pi Zero
- ნაბიჯი 3: ადგილმდებარეობა და სიჩქარის საინფორმაციო დაფა
ვიდეო: რეალურ დროში GPS მიკვლევა: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ავტორი: elizabethna
ამ გაკვეთილში ჩვენ გაჩვენებთ თუ როგორ უნდა გააკეთოთ ადგილმდებარეობის თვალყურის დევნება რეალურ დროში 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– ს, შეგიძლიათ მიყევით ამ სახელმძღვანელოს, რომ 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, რათა თქვენი მდებარეობის თვალყურის დევნება ზემოთ მოყვანილი დაფის მსგავსად იყოს ასახული. თქვენ შეგიძლიათ ჩაწეროთ თქვენი სიჩქარის მონაცემები ხაზის დიაგრამაში, რათა დრო დაინახოთ სიჩქარე.
გირჩევთ:
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): 5 ნაბიჯი
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): DS3231 არის იაფი, უკიდურესად ზუსტი I2C რეალურ დროში (RTC) ინტეგრირებული ტემპერატურის კომპენსირებული ბროლის ოსცილატორით (TCXO) და ბროლით. მოწყობილობა აერთიანებს ბატარეის შეყვანას და ინარჩუნებს ზუსტ დროს, როდესაც ძირითადი ენერგია
რეალურ დროში Rubik's Cube Blindfolded Solver Raspberry Pi და OpenCV გამოყენებით: 4 ნაბიჯი
რეალურ დროში რუბიკის კუბი თვალდახუჭული ამომხსნელი ჟოლოს Pi და OpenCV გამოყენებით: ეს არის რუბიკის კუბის ინსტრუმენტის მე -2 ვერსია, რომელიც შექმნილია თვალდახუჭულებში. პირველი ვერსია შემუშავებულია javascript– ით, თქვენ შეგიძლიათ ნახოთ პროექტი RubiksCubeBlindfolded1 წინაგან განსხვავებით, ეს ვერსია იყენებს OpenCV ბიბლიოთეკას ფერების და
ჭაბურღილის რეალურ დროში წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
ჭაბურღილების რეალურ დროში წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს თუ როგორ უნდა ავაშენოთ დაბალფასიანი, რეალურ დროში წყლის დონის მრიცხველი გათხრილ ჭაბურღილებში გამოსაყენებლად. წყლის დონის მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის დონის გაზომვისთვის დღეში ერთხელ და მონაცემების WiFi- ით ან ფიჭური კავშირით გაგზავნით
წყლის ტემპერატურა რეალურ დროში, გამტარობა და წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
რეალურ დროში ჭაბურღილის წყლის ტემპერატურა, გამტარობა და წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს როგორ ავაშენოთ დაბალფასიანი, რეალურ დროში, წყლის მრიცხველი ტემპერატურის მონიტორინგისთვის, ელექტროგამტარობა (EC) და წყლის დონე გათხრილ ჭაბურღილებში. მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის ტემპერატურის გასაზომად, EC
ხელნაკეთი რეალურ დროში GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 ნაბიჯი
ხელნაკეთი რეალურ დროში GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): მაშასადამე თქვენ გაქვთ GSM მოდული, რომელიც ჩემნაირად დევს? ასევე GPS- ტრეკერი? ჩვენც იგივეს ვფიქრობთ! ამ ინსტრუქციებში, მე შევეცდები გიხელმძღვანელოთ როგორ მიაღწიოთ თქვენს მიზანს ახალბედა პერსპექტივიდან. რადგან მე არ მქონდა ელექტროტექნიკის წინა ცოდნა (