Სარჩევი:

EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc მანქანაზე: 4 ნაბიჯი
EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc მანქანაზე: 4 ნაბიჯი

ვიდეო: EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc მანქანაზე: 4 ნაბიჯი

ვიდეო: EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc მანქანაზე: 4 ნაბიჯი
ვიდეო: Industria 4.0 2024, ივნისი
Anonim
EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc Car– ზე
EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc Car– ზე
EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc Car– ზე
EAL - მრეწველობა 4.0 GPS მონაცემთა შეგროვება Rc Car– ზე

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

ზედა დიაგრამაზე, თქვენ შეგიძლიათ ნახოთ ტექნოლოგიების მიმოხილვა, რომლებიც გამოყენებულია ამ პროექტში. იმისათვის, რომ მიიღოთ მაქსიმუმი ამ ინსტრუქციიდან, თქვენ უნდა გქონდეთ ოჯახი ზოგიერთ, თუ არა ყველა ტექნოლოგიასთან. იგი დაკავშირებულია გამოყენების მიხედვით. Github– ის დაქვეითება ასევე დაგეხმარებათ, რადგან ჩვენ დავუკავშირდით ჩვენს github საცავებს.

კომუნალური მომსახურების ჩამონათვალი:

  • Github
  • ჟოლო PI/Raspbian

    პითონი

  • კვანძი. Js

    • ექსპრესი. Js
    • Sequelize.js
    • MySQL
  • HTML, CSS, JS

    Bootstrap

ნაბიჯი 1: მონაცემთა ბაზის დაყენება

მონაცემთა ბაზის დაყენება
მონაცემთა ბაზის დაყენება

ამ სეგმენტში ჩვენ ვისაუბრებთ იმაზე, თუ როგორ ვაშენებთ მონაცემთა ბაზის სისტემას, საიდანაც ამოღებულია ჩვენი GPS მონაცემები. მონაცემთა ბაზა აგებულია MySQL– ში ზემოთ მოცემული სურათის მიხედვით, სადაც გვაქვს ორი ცხრილი - „მომხმარებელი“და „GPSEntries“. მომხმარებლებში ჩვენ გვაქვს "Id", როგორც ჩვენი მთავარი გასაღები. იგი გამოიყენება როგორც უნიკალური იდენტიფიკატორი. "სახელი" არის მომხმარებლის სახელი, რომელიც ამჟამად არის შესული. "Apikey" არის უნიკალური გასაღები, რომელიც მიეცა მომხმარებელს API- ზე წვდომისათვის. "აქტიური" არის იმის შემოწმება, არის თუ არა მომხმარებელი აქტიური, ჩვენ შეგვიძლია მისი გამორთვა, ასე რომ მას არ შეუძლია წვდომა მონაცემთა ბაზაზე. "CreatedAt" და "UpdatedAt" მზადდება იმ პროცესით, რომელიც ჩვენ გამოვიყენეთ მონაცემთა ბაზის შესაქმნელად.

"GPSEntries" ცხრილში ჩვენ გვაქვს ყველა ატრიბუტი, რომელიც შეიცავს მონაცემებს GPS მოდულიდან. "დრო" არის GPS მოდულის მიმდინარე დრო, ჩვენ ვიყენებთ მას გამოქვეყნების დროის საჩვენებლად. შემდეგ ჩვენ გვაქვს პოზიცია კოორდინატებში, ასევე "სიჩქარე" და "სათაური". ჩვენ ასევე გვაქვს შეცდომის ატრიბუტი, რომელიც გვიჩვენებს, არის თუ არა შეცდომა GPS მონაცემებში, fx კოორდინატებში. ჩვენ დავამატეთ ისინი მონაცემთა ბაზაში, მაგრამ ჩვენ არ ვაჩვენებთ მათ ვებგვერდზე. "UserId" არის უცხოური გასაღები, რომელიც შეიცავს "id" - ს მომხმარებელთა ცხრილიდან. ის გამოიყენება იმის საჩვენებლად, თუ რომელმა მომხმარებელმა გამოაქვეყნა მონაცემები.

ნაბიჯი 2: API

API
API

ამ სეგმენტში ჩვენ ვისაუბრებთ API– ზე, რომელიც აკონტროლებს მონაცემთა ბაზას და ჩასვამს მონაცემებს მასში. ვებ API აგებულია Node.js– ით, რომელიც იყენებს Express.js და Sequalize.js.

Node.js გამოიყენება JavaScript სერვერის გასაშვებად, სადაც ჩვეულებრივ გამოიყენება ძირითადად კლიენტის მხარის სკრიპტირებისთვის ვებგვერდზე.

Express.js არის ჩარჩო, რომელიც ჩვენ გამოვიყენეთ API– ს შესაქმნელად.

Sequalize.js გამოიყენება Gps მონაცემებსა და მონაცემთა ბაზის ატრიბუტებს შორის კავშირების დასამყარებლად. იგი იყენებს მეთოდს სახელწოდებით ORM (ობიექტ-მიმართებითი რუქა) ამისათვის. ეს არის ასევე ადგილი, სადაც იქმნება "CreatedAt" და "UpdatedAt" (ნაჩვენებია 1 -ლი ნაბიჯი).

API შეიძლება გამოყენებულ იქნას api.joerha.dk– ს მონახულებით. შემდეგ დაამატეთ /gps url– ს, რომელიც აჩვენებს მონაცემთა ბაზაში არსებულ ყველა მონაცემს JSON ფორმატში. გასაკონტროლებლად რამდენი ჩანაწერი გსურთ, შეგიძლიათ დაამატოთ /2 (მომხმარებელი) და /x (ჩანაწერების რაოდენობა) url– ს. Fx api.joerha.dk/gps/2/10 აჩვენებს 10 უახლეს ჩანაწერს. ფორმატირებული მონაცემების გატანა ნაჩვენებია ზემოთ მოცემულ სურათზე.

კოდი შეგიძლიათ იხილოთ აქ: Github

ნაბიჯი 3: GPS/პითონის პროგრამა

GPS/პითონის პროგრამა
GPS/პითონის პროგრამა
GPS/პითონის პროგრამა
GPS/პითონის პროგრამა
GPS/პითონის პროგრამა
GPS/პითონის პროგრამა

ამ სეგმენტში ჩვენ ვისაუბრებთ სკრიპტზე, რომელიც მუშაობს ჟოლოზე და აგროვებს GPS მონაცემებს და აგზავნის მას API– ში.

GPS– დან მონაცემების შესაგროვებლად ჩვენ ვიყენებთ დემონს სახელწოდებით gpsd (სურათი 1). ეს არის ის, სადაც ჩვენ ვაგროვებთ მონაცემებს, რომლებსაც ვაქვეყნებთ მონაცემთა ბაზაში და ჩვენი GPSEntries ცხრილის საფუძველს. სკრიპტი, რომელიც ამოიღებს მონაცემებს gpsd– დან და ათავსებს მას API– ში, დაწერილია პითონში.

პროგრამა ინიციალებს ძაფს, ასე რომ მას შეუძლია გაუშვას როგორც gpsd, ასევე ჩვენი პროგრამა ერთდროულად. Gpsd მონაცემების გადაცემა ხდება მუდმივად, სანამ GPS აქტიურია (სურათი 2).

შემდეგ ჩვენ ვაკეთებთ ცოტა ხნის მარყუჟს, რომელიც მუდმივად ათავსებს თავის დატვირთვას API– ში, რომელიც შეიცავს GPS მონაცემებს. მონაცემები ფორმატირებულია როგორც JSON. დატვირთვა შედგება GPSD– ში ნაჩვენები ატრიბუტებისგან..ფიქსის ტეგი მოქმედებს როგორც არსებული მონაცემების სურათი და აგზავნის მას API– ში. ეს კეთდება request.post– ით და იყენებს url და API გასაღებს. ამობეჭდვა (r.status_code) იგზავნება მომხმარებლისთვის, რათა იცოდეს სწორად იქნა მიღებული მონაცემები თუ არა. Time.sleep (0.5) არის მონაცემების გამოქვეყნების სიხშირე (სურათი 3)

კოდი შეგიძლიათ იხილოთ აქ: Github

ნაბიჯი 4: ვებ გვერდი პროექტისთვის

ვებ გვერდი პროექტისთვის
ვებ გვერდი პროექტისთვის

ამ სეგმენტში ჩვენ ვისაუბრებთ იმაზე, თუ როგორ შევქმენით ჩვენი ვებ გვერდი, რომელიც აჩვენებს მონაცემებს და სხვა ინფორმაციას პროექტის შესახებ. საიტი აგებულია HTML, css და JS. დასაწყისისთვის ჩვენ გამოვიყენეთ Bootstrap 4.0, რომელიც არის ბიბლიოთეკა HTML, css და JS. მას გააჩნია უამრავი ფუნქცია, რომელიც დაგეხმარებათ შექმნათ თქვენი ვებ გვერდი. ჩვენ გამოვიყენეთ ის ზედა ნავიგარისთვის, ასევე რიგისა და სვეტის კონფიგურაცია, რომლითაც აშენებულია საიტი. შემდეგ ჩვენ გვაქვს კიდევ ერთი მცირე css სკრიპტი, რომელიც აკონტროლებს ფონის ფერს და სათაურებს. ამის გარეშე ჩვენ გამოვიყენეთ ბიბლიოთეკა სახელწოდებით lightbox, ასე რომ თქვენ შეგიძლიათ დააჭიროთ სურათებს და ისინი გამოჩნდება. საიტის შინაარსი შეიცავს გუგლის რუქას, მონაცემების ცხრილს, ავტომობილის ვიდეო მოქმედებას და ამ გვერდის ბმულს.

Google რუკა ყველაზე საინტერესოა. რუკა იტვირთება google API– ით, სადაც უნიკალური API გასაღებია ჩასმული მისი მუშაობისთვის. მონაცემები რუქაზე გადადის 500 წმ ინტერვალში. ჩვენ გავაკეთეთ ფუნქცია, სადაც მონაცემთა ბაზის ბოლო 100 პუნქტი ნაჩვენებია როგორც მარკერები, ასე რომ თქვენ შეგიძლიათ მიყვეთ სად იყო მანქანა. ეს კეთდება რასაც ეწოდება AJAX ზარი.

GPS მონაცემთა ცხრილში მონაცემების ნაკრები მოთხოვნილია იმავე გზით. ცხრილში შეგიძლიათ ნახოთ ბოლო 10 ჩანაწერი, განახლებული რეალურ დროში, როდესაც GPS აქტიურია. ჩვენ ვიღებთ მონაცემებს მონაცემთა ბაზიდან 500 ms ინტერვალით.

კოდი შეგიძლიათ იხილოთ აქ: Github

გირჩევთ: