Mündəricat:

Yol xəritəsi: 6 addım
Yol xəritəsi: 6 addım

Video: Yol xəritəsi: 6 addım

Video: Yol xəritəsi: 6 addım
Video: Bakı metrosunda gənclərin elədiyi zarafat 2024, Noyabr
Anonim
Yol Xəritəsi
Yol Xəritəsi
Yol Xəritəsi
Yol Xəritəsi
Yol Xəritəsi
Yol Xəritəsi

Bu IoT layihəsində, Arduino vasitəsi ilə kompüterdə saxlanılacaq Excel vərəqinə yer məlumatlarını çatdırmaq üçün NEO-6M (GPS modulu) bağlayırıq. Daha sonra Tableau Public ilə, keçdiyimiz yolu xəritələşdirmək üçün bu məlumatların məlumat vizuallaşdırmasını yaradırıq. Bu çox əlaqəli bir məlumatda real vaxt məlumatlarının toplanmasının və təqdim edilməsinin bir yolu olsa da, bu proses digər məlumatlara əsaslanan layihələrə də tətbiq edilə bilər.

Addım 1: Materialların alınması

Alınan materiallar
Alınan materiallar

Bu layihə üçün aşağıdakılara ehtiyacınız olacaq:

  • NEO-6M GPS modulu
  • Arduino Uno
  • Kişi/kişi tullanan telləri (4 telə ehtiyacınız olacaq)
  • USB 2.0 Kabel Tipi A - B
  • Bu proqramları olan kompüterlər: Tableau Public, Arduino IDE (TinyGPS ++ ilə) və Qenerasiya

Addım 2: Cihazların Qurulması

Cihazların Qurulması
Cihazların Qurulması
Cihazların Qurulması
Cihazların Qurulması

Arduinonun bizə məlumatları göstərmək üçün bir interfeys verməsi üçün əvvəlcə Arduino UNO ilə GPS modulunu qurmalıyıq. NEO-6M-ə qoşulan dörd teldən hər biri xüsusi portlara uyğundur. NEO-6M-də tellər yoxdursa, onu birbaşa tullanan tellərlə bağlamalı olacaqsınız. Yuxarıdakı diaqramda qırmızı gücə (VCC), qara yerə (GND), məlumat ötürmək üçün sarıya (TxD) və məlumat qəbul etmək üçün ağa (RxD) uyğundur. Bu telləri Arduino -ya bağlamaq üçün kişi/kişi tullanan tellərə bağlayırıq. Yuxarıdakı diaqrama uyğun olaraq, torpaq telini Arduino üzərindəki GND rəqəmsal pininə, TxD telini 4 -ə, RxD telini ~ 3 -ə və VCC telini gərginlik üçün 5V -ə bağlayırıq. Gələcək bir addımda, TxD və RxD -ni SoftwareSerialdakı doğru nömrələrlə təyin etməliyik.

İki cihaz bir -birinə bağlandıqdan sonra bir enerji mənbəyi təmin etməliyik. USB 2.0 kabelini dizüstü kompüterinizə qoşun və NEO-6M üzərindəki işıq yanmalıdır.

Addım 3: Məlumat çıxarmaq üçün Arduinonun kodlaşdırılması

Məlumat çıxarmaq üçün Arduino kodlaşdırılması
Məlumat çıxarmaq üçün Arduino kodlaşdırılması

İndi peyklərdən GPS məlumatlarını toplamaq üçün qurulmuş cihazlara sahib olduğumuz üçün istədiyimiz GPS məlumatlarını təhlil etmək üçün kod yazacağıq. Bir siqnal aldığınızı düşünsək (GPS modulum mavi yanıb-sönərdi), NEO-6M, standart olaraq, $ GP kimi bir şeyə bənzəyən NMEA mesajları şəklində serial monitorda xam məlumatları çap edir, daha sonra hərflər və seriyalar. ədədlərin. Yuxarıdakı şəkil, əsas Arduino kodu daxil edildikdən sonra seriyalı monitorunuzda nələrin göstərilməsi barədə ümumi fikir verir.

Əlavə etdiyim kodu izah etmək üçün (və ya özünüz kodlaşdırmaq istəsəniz) əvvəlcə həm SoftwareSerial, həm də TinyGPS ++ kitabxanalarını daxil etməlisiniz (ikincisi üçün Sketch> Daxil et. ZIP kitabxana əlavə edin). SoftwareSerial bizə serial bağlantımıza imkan verir; TinyGPS ++, hədəflənmiş məlumatları oxunaqlı formada çap etmək üçün bizə asan bir vasitə verir. SoftwareSerial obyektini Arduino üzərindəki müvafiq pinlərə başladığınızdan əmin olun. Quraşdırma funksiyasında baud dərəcəsi olaraq 9600 istifadə edirik.

Bu təlimatlandırmaq üçün, loop funksiyasında yalnız yeddi növ məlumatı çap edəcəyik: enlik (dərəcə), uzunluq (dərəcə), sürət (km), gediş (dərəcə), yüksəklik (km), peyklərin sayı istifadə edin və hdop. Bu məlumatı Arduiniana kitabxanasında çap etmək üçün sintaksisi axtara bilərsiniz. Ümumi forma Serial.print () dir. Məsələn, boylamı çap etmək üçün Serial.print (gps.location.lng (), 6) yazardıq. 6, ondalık nöqtənin sağında neçə rəqəm istədiyimizi göstərir.

Mənim kodumda, növbəti addımda asanlıqla formatlaşdırılmış regex xatirinə çap olunmuş əlavə simvollar var. Ancaq bu addımda dayanmaq istəyirsinizsə, serial monitorda görüntü asanlığı üçün məlumatları fərqli şəkildə format etməkdən çekinmeyin.

Addım 4: Dinləmək üçün İşlənmədən istifadə edin

Qulaq asmaq üçün işləmə üsulundan istifadə
Qulaq asmaq üçün işləmə üsulundan istifadə

Arduino IDE qurmaq üçün kodumuz olsa da, bu məlumatların saxlanması ilə bağlı problemimiz var. Hal -hazırda, məlumatları yalnız topladığımız zaman serial monitorda görə bilərik. Bu məlumatları daxil etməyin bir çox yolu var, amma əsasən Arxino IDE -ni təqlid etdiyindən və tanış olduğum Java -dan istifadə etdiyi üçün İşlənməni seçdim (unutmayın ki, Firmata yükləsəniz Arduino lövhəsini İşləmə ilə də idarə edə bilərsiniz). İşləmə Arduino ilə əlaqəli portda dinləyir və serial monitorda oxunan məlumatları idarə etmək qabiliyyətinə malikdir. Bu limanın adını tapmaq üçün Arduino IDE faylınıza yenidən baxın və Alətlər> Limana daxil olun.

İşləmə kodunu təqdim etdim, amma burada kodun necə işlədiyinə qısa bir baxış var.

Quraşdırma funksiyasından əvvəl, port üçün dəyişənlərə, əldə olunan cədvələ, işləyəcəyimiz sıraya və faylın adına əmin olun. Sonra quraşdırma funksiyasında Çalışma pəncərənizin ölçüsünü təyin etmək üçün parametrlər var, lakin bu ədədlər bizim funksionallığımıza təsir etmir (məsələn, bunları (500, 500) olaraq təyin edin). Limanı başlatdığınız zaman, String formasında portun adını və 9600 nisbətini istifadə edin. Nəhayət, cədvəli işə salmaq üçün doqquz sütun (yeddi GPS kateqoriyası, vaxt və tarix üçün) yaradın.

Çəkmə funksiyasında, hər bir GPS məlumat dəstinin nə vaxt çıxarıldığını izləmək üçün daxili tarix və vaxt funksiyalarından istifadə edirik. İndi Arduinodan məlumat axınını oxumaq və doğru vaxt və tarixlə uyğun başlıqların altına qoymaq üçün müntəzəm ifadələrdən istifadə edirik.

Bərabər işarə ilə nöqtəli vergül arasında hər hansı bir ifadə axtaran matchAll funksiyası ilə dəqiq məlumatları təhlil etmək üçün regex istifadə edirəm (Arduino koduma qoyduğum ayırıcılar). Bu, sonradan bütün uyğun etiketləri, ədədi məlumatları iki ölçülü bir cərgəyə yerləşdirir. Daha sonra, Excel vərəqinin başlıqlarının altına qoymaq üçün bu sıra indekslərini çağıra bilərik.

Yeni.csv faylını saxlamaq üçün Çalış pəncərəsini bağlamaq üçün düyməni basırıq. Bir düyməni basmaq üçün nə qədər gözləsəniz, o qədər çox məlumat toplayacaqsınız. Başqa bir bələdçinin qaydasına uyğun olaraq, faylın adı və tarixi ilə birlikdə məlumat qovluğunda saxlamağa qərar verdim.

Addım 5: Məlumatları Tableau Public -da göstərin

Tableau Public haqqında məlumatların göstərilməsi
Tableau Public haqqında məlumatların göstərilməsi
Tableau Public haqqında məlumatların göstərilməsi
Tableau Public haqqında məlumatların göstərilməsi
Tableau Public haqqında məlumatların göstərilməsi
Tableau Public haqqında məlumatların göstərilməsi

Son addım bəzi məlumatların vizualizasiyasını əhatə edir. Məlumat görselleştirmelerini yaratmaq və göstərmək üçün bir çox proqram var, yəni Plotly, ancaq bu layihə üçün Tableau istifadə edəcəyik. Tableau Public proqramını açın və saxlanılan Excel faylını mətn faylı olaraq açın. Bir iş səhifəsi yaratmaq üçün sol altdakı Vərəq 1 -ə vurun.

GPS məlumatları ilə işlədiyimiz üçün məlumatlarımızı təsvir etmək üçün xəritədən istifadə edəcəyik. Ölçülərin yazıldığı sol sütunda, Boylamı Sütunlara, Enlemi isə Üstdəki Satırlara sürükləyəcəyik. Tableau hər iki tədbiri də AVG olaraq təyin edir, buna görə şərtlərin yanındakı açılan düyməni vurun və hər ikisini Ölçü olaraq dəyişdirin. İndi xəritədə toplanan enlem və boylam dəyərlərindən istifadə edərək bir yol göstərilməlidir.

Verilərinizi səhvdən təmizləmək üçün (bu da Tableau açmadan əvvəl edilə bilər), üzərinə basaraq və seçimi seçərək bəzi yer dairələrini istisna etməyi seçə bilərsiniz. GPS modulum 100% dəqiq deyil, çünki yolumun bəzi hissələri tapılmadı, amma ümumi yol qeyd edildi.

Addım 6: Vizin təmizlənməsi

Vizin təmizlənməsi
Vizin təmizlənməsi

Son hissə bu məlumatları daha oxunaqlı etməkdir. Küçə kontekstini istəyirsinizsə, Xəritə> Xəritə Layer> Streets and Highways -ə gedə bilərsiniz. Digər Markalarla sınaqdan keçməkdən çekinmeyin. Sürət artdıqda rəngin intensivliyinin necə artdığını göstərmək üçün Sürəti Rəng üzərində sürüklədim. Kurs üçün Etiket əvəzinə Ətraflı istifadə etdim, çünki Etiket xəritədə nömrələri göstərəcəkdi, yalnız yer nöqtələrinin üzərinə gedərkən məlumatın açılmasını istəyirdim.

Məlumat toplama və əldə etdiyiniz məlumatların vizuallaşdırılması prosesini yaşadığınız üçün bunu digər layihələrə də tətbiq edə bilərsiniz!

Pingdi Huang tərəfindən, Yaz 2018

Tövsiyə: