Mündəricat:

EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması: 4 Addım
EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması: 4 Addım

Video: EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması: 4 Addım

Video: EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması: 4 Addım
Video: CFM Digital brochure Industry 4.0 cobot 2024, Noyabr
Anonim
EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması
EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması
EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması
EAL - Rc Car -da Sənaye 4.0 GPS Məlumatlarının Toplanması

Bu Təlimat kitabında bir RC avtomobilində GPS modulunu necə qurduğumuzdan və topladığımız məlumatları asan izləmək üçün veb səhifəyə yerləşdirməyimizdən bəhs edəcəyik. Burada tapıla bilən RC avtomobilimizi necə hazırladığımızı əvvəlcədən öyrətdik. Ultrasəs sensorlarını silmək qərarına gəlsək də GPS modulunu tətbiq etməyimizə baxmayaraq, bu eyni quruluşdan istifadə edir. Layihədə GPS məlumatlarını ehtiva edən bir verilənlər bazası qurduq və xəritəyə tətbiq edildiyi kimi məlumatların da tapıla biləcəyi bir veb səhifəsi qurduq ki, maşının harada olduğunu görə biləsiniz. Veb səhifəsinə baxmaq üçün Joerha.dk saytına daxil olun.

Yuxarıdakı axın cədvəlində, bu layihədə istifadə olunan texnologiyaların icmalını görə bilərsiniz. Bu Təlimatlandırıcıdan ən yaxşı şəkildə istifadə etmək üçün istifadə olunan texnologiyaların hamısı olmasa da bəziləri ilə ünsiyyət qurmalısınız. İstifadəsinə görə əlaqələndirilir. Github depolarımızı əlaqələndirdiyimiz üçün Github -un aşağı səviyyədə olması da kömək edəcək.

Kommunal xidmətlərin siyahısı:

  • Github
  • Moruq PI/Raspbian

    Python

  • Node.js

    • Express.js
    • Sequelize.js
    • MySQL
  • HTML, CSS, JS

    Bootstrap

Addım 1: Veritabanı Qurulması

Database Setup
Database Setup

Bu seqmentdə GPS məlumatlarımızın çəkildiyi verilənlər bazası sistemini necə qurduğumuzdan bəhs edəcəyik. Verilənlər bazası yuxarıdakı şəklə uyğun olaraq MySQL -də qurulmuşdur və burada iki cədvəlimiz var - "İstifadəçilər" və "GPSEntries". İstifadəçilərdə əsas açarımız olaraq "Id" var. Unikal identifikator kimi istifadə olunur. "Ad" hazırda daxil olan istifadəçinin adıdır. "Apikey" istifadəçiyə API -yə daxil olmaq üçün verilən unikal açardır. "Aktiv" istifadəçinin aktiv olub olmadığını yoxlamaqdır, istifadəçini deaktiv edə bilərik, buna görə də verilənlər bazasına daxil ola bilmir. "CreatedAt" və "UpdatedAt" verilənlər bazasını yaratmaq üçün istifadə etdiyimiz proseslə hazırlanır.

"GPS Girişləri" cədvəlində GPS modulundan məlumatlar olan bütün xüsusiyyətlərə sahibik. "Zaman" GPS modulunun cari vaxtıdır, onu göndərmə vaxtını göstərmək üçün istifadə edirik. Sonra koordinatlarda "sürət" və "başlıq" kimi mövqeyə sahibik. GPS məlumatlarında, koordinatlarda fx -də bir səhv olub olmadığını göstərən bir çox səhv xüsusiyyətimiz var. Onları verilənlər bazasına əlavə etdik, ancaq veb səhifədə göstərmirik. "UserId", istifadəçilər cədvəlindəki "id" ni ehtiva edən xarici bir açardır. Bu məlumatı hansı istifadəçinin göndərdiyini göstərmək üçün istifadə olunur.

Addım 2: API

API
API

Bu seqmentdə verilənlər bazasını idarə edən və məlumatları ona yapışdıran API haqqında danışacağıq. Veb API, Express.js və Sequalize.js istifadə edən Node.js ilə qurulmuşdur.

Node.js, adətən bir web səhifəsində əsasən müştəri tərəfindən yazılan skriptlər üçün istifadə edildiyi kimi, JavaScript serverini işlətmək üçün istifadə olunur.

Express.js, API qurmaq üçün istifadə etdiyimiz çərçivədir.

Sequalize.js, GPS məlumatları ilə verilənlər bazası atributları arasında əlaqə yaratmaq üçün istifadə olunur. Bunu etmək üçün ORM (Object-Relational Mapping) adlı bir metoddan istifadə edir. "CreatedAt" və "UpdatedAt" ın yaradıldığı yer də budur (1 -ci addımda göstərilmişdir).

API api.joerha.dk saytına daxil olaraq istifadə edilə bilər. Sonra url -ə /gps əlavə edin ki, verilənlər bazasındakı bütün məlumatları JSON formatında göstərsin. İstədiyiniz neçə girişi idarə etmək üçün url -ə /2 (İstifadəçi) və /x (girişlərin sayı) əlavə edə bilərsiniz. Fx api.joerha.dk/gps/2/10 ən son 10 girişi göstərəcək. Formatlanmış məlumatların alınması yuxarıdakı şəkildə göstərilmişdir.

Kodu burada tapa bilərsiniz: Github

Addım 3: GPS/Python Tətbiqi

GPS/Python Tətbiqi
GPS/Python Tətbiqi
GPS/Python Tətbiqi
GPS/Python Tətbiqi
GPS/Python Tətbiqi
GPS/Python Tətbiqi

Bu seqmentdə moruq üzərində işləyən və GPS məlumatlarını toplayan və API -yə göndərən skript haqqında danışacağıq.

GPS -dən məlumat toplamaq üçün gpsd adlı bir daemondan istifadə edirik (Şəkil 1). Verilənlər bazasına yerləşdirdiyimiz məlumatları və GPSEntries cədvəlimizin əsasını topladığımız yer budur. Gpsd -dən məlumatları götürən və API -yə göndərən skript pythonda yazılmışdır.

Tətbiq bir mövzu başlatır, buna görə həm gpsd, həm də proqramımızı eyni anda işlədə bilər. GPS aktiv olduqda Gpsd məlumatları davamlı olaraq axın olunur (Şəkil 2).

Sonra, yükünü GPS məlumatlarını ehtiva edən API -yə davamlı olaraq göndərən bir müddət döngəsi edirik. Məlumatlar JSON olaraq formatlanır. Yük, GPSD -də görünən xüsusiyyətlərdən ibarətdir.. Fix etiketi cari məlumatların anlıq görüntüsü kimi çıxış edir və bunu API -yə göndərir. Bu request.post tərəfindən edilir və url və API açarından istifadə edir. Çap (r.status_code), məlumatların düzgün keçdiyini bilmək üçün istifadəçiyə verilir. Time.sleep (0.5), məlumatların nə qədər tez -tez yerləşdirilməsidir (Şəkil 3)

Kodu burada tapa bilərsiniz: Github

Addım 4: Layihənin veb səhifəsi

Layihə üçün veb səhifə
Layihə üçün veb səhifə

Bu seqmentdə məlumatları göstərən veb səhifəmizi və layihə haqqında digər məlumatları necə hazırladığımızdan bəhs edəcəyik. Sayt HTML, css və JS ilə qurulmuşdur. Başlamaq üçün HTML, css və JS üçün bir kitabxana olan Bootstrap 4.0 istifadə etdik. Veb saytınızı qurmağa kömək edən bir çox funksiya ilə gəlir. Saytın qurduğu satır və sütun quruluşu kimi yuxarıdakı navbar çubuğu üçün də istifadə etdik. Sonra arxa planın və başlıqların rənglərini idarə edən başqa bir kiçik css skriptimiz var. Lightbox adlı bir kitabxanadan istifadə etdik, buna görə şəkilləri vura bilərsiniz və onlar açılır. Saytın məzmununda google xəritəsi, məlumat cədvəli, hərəkətdə olan avtomobilin videosu və bu səhifəyə keçid var.

Google xəritəsi ən maraqlısıdır. Xəritə, işləməsi üçün unikal bir API açarının daxil olduğu bir Google API vasitəsilə yüklənir. Məlumatlar xəritəyə 500 ms aralığında axın edilir. Verilənlər bazasındakı son 100 məlumat nöqtəsinin marker olaraq göstərildiyi bir funksiya yaratdıq ki, maşının harada olduğunu izləyə biləsiniz. Bu, AJAX çağırışı vasitəsi ilə edilir.

GPS məlumat cədvəlindəki məlumatlar dəsti eyni şəkildə tələb olunur. Cədvəldə, GPS aktiv olduqda real vaxtda yenilənən son 10 girişi görə bilərsiniz. Verilənləri verilənlər bazasından 500 ms aralığında alırıq.

Kodu burada tapa bilərsiniz: Github

Tövsiyə: