Mundarija:

Yo'l xaritasi: 6 qadam
Yo'l xaritasi: 6 qadam

Video: Yo'l xaritasi: 6 qadam

Video: Yo'l xaritasi: 6 qadam
Video: Боланинг ривожланиш харитасини юритиш бўйича тавсиялар. #тарбиячи #хуснияубаевна 2024, Noyabr
Anonim
Yo'l xaritasi
Yo'l xaritasi
Yo'l xaritasi
Yo'l xaritasi
Yo'l xaritasi
Yo'l xaritasi

Ushbu IoT loyihasida biz joylashuv ma'lumotlarini Arduino orqali kompyuterda saqlanadigan Excel varagiga etkazish uchun NEO-6M (GPS moduli) ni ulaymiz. Keyinchalik Tableau Public -da biz o'tgan yo'lni aniqlash uchun ma'lumotlar vizualizatsiyasini yaratamiz. Garchi bu yuqori darajadagi o'zaro bog'liq ma'lumotlarda real vaqtda ma'lumotlarni to'plash va taqdim etishning bir usuli bo'lsa-da, bu jarayon ma'lumotlarga asoslangan boshqa loyihalarga ham qo'llanilishi mumkin.

1 -qadam: Materiallarni olish

Olingan materiallar
Olingan materiallar

Ushbu loyiha uchun sizga quyidagilar kerak bo'ladi:

  • NEO-6M GPS moduli
  • Arduino Uno
  • Erkak/erkak o'tish simlari (sizga 4 ta sim kerak bo'ladi)
  • USB 2.0 kabeli A dan B gacha
  • Bu dasturlarga ega kompyuter: Tableau Public, Arduino IDE (TinyGPS ++ bilan) va ishlov berish

2 -qadam: Qurilmalarni sozlash

Qurilmalarni sozlash
Qurilmalarni sozlash
Qurilmalarni sozlash
Qurilmalarni sozlash

Arduino bizga ma'lumotlarni ko'rsatish uchun interfeys berishi uchun biz avval GPS modulini Arduino UNO bilan sozlashimiz kerak. NEO-6M ga ulangan to'rtta simning har biri ma'lum portlarga mos keladi. Agar sizning NEO-6M simlar bilan kelmasa, uni to'g'ridan-to'g'ri o'tish simlari bilan ulashingiz kerak bo'ladi. Yuqoridagi diagrammada qizil kuchga (VCC), qora erga (GND), sariq ma'lumot uzatishga (TxD) va oq qabul qilish uchun (RxD) mos keladi. Biz bu simlarni Arduino -ga ulashimiz uchun erkak/erkak o'tish simlariga ulaymiz. Yuqoridagi diagramaga binoan, biz topraklama simini Arduino -dagi GND raqamli piniga, TxD simini 4 ga, RxD simini ~ 3 ga va VCC simini kuchlanish uchun 5V ga ulaymiz. Kelgusi qadamda biz TxD va RxD ni SoftwareSerial -da to'g'ri raqamlar bilan aniqlashimiz kerak bo'ladi.

Ikkala qurilma bir -biriga ulanganidan so'ng, biz quvvat manbasini ta'minlashimiz kerak. USB 2.0 kabelini noutbukga ulang va NEO-6M chirog'i yonishi kerak.

3 -qadam: Ma'lumotlarni olish uchun Arduino -ni kodlash

Ma'lumotlarni olish uchun Arduino -ni kodlash
Ma'lumotlarni olish uchun Arduino -ni kodlash

Endi bizda yo'ldoshlardan GPS ma'lumotlarini yig'ish uchun moslamalar o'rnatilgan, biz kerakli GPS ma'lumotlarini ajratish uchun kod yozamiz. Siz signal olgan bo'lsangiz (mening GPS moduli ko'k rangda yonadi), NEO-6M sukut bo'yicha ketma-ket monitorda NMEA xabarlari ko'rinishidagi ma'lumotlarni chiqaradi, ular $ GPga o'xshaydi, keyin yana harflar va seriyalar. raqamlar. Yuqoridagi rasm Arduino -ning asosiy kodini kiritgandan so'ng, ketma -ket monitoringizda nima ko'rsatilishi kerakligi haqida umumiy tasavvur beradi.

Men biriktirgan kodni tushuntirish uchun (yoki agar siz uni o'zingiz kodlamoqchi bo'lsangiz), avval SoftwareSerial va TinyGPS ++ kutubxonalarini kiritishingiz kerak (ikkinchisi uchun Sketch> Include>. ZIP kutubxonasini qo'shish). SoftwareSerial bizga ketma -ket ulanishga imkon beradi; TinyGPS ++ bizga maqsadli ma'lumotni o'qiladigan shaklda chop etishning oson vositasini beradi. SoftwareSerial ob'ektini Arduino -dagi mos keladigan pinlarga ishga tushirganingizga ishonch hosil qiling. O'rnatish funktsiyasida biz tezlik sifatida 9600 dan foydalanamiz.

Buning uchun biz loop funktsiyasida faqat etti turdagi ma'lumotlarni chop etamiz: kenglik (daraja), uzunlik (daraja), tezlik (km), yo'nalish (daraja), balandlik (km), yo'ldoshlar soni. foydalanish va hdop. Siz bu ma'lumotlarni Arduiniana kutubxonasida chop etish uchun sintaksisini qidirishingiz mumkin. Umumiy shakl - Serial.print (). Masalan, uzunlikni bosib chiqarish uchun biz Serial.print (gps.location.lng (), 6) ni yozamiz. 6, o'nlik kasrning o'ng tomonida biz xohlagan qancha raqamni bildiradi.

Mening kodim keyingi bosqichda oson formatlangan regex uchun bosilgan qo'shimcha belgilarga ega. Agar siz bu qadamda to'xtamoqchi bo'lsangiz, ketma -ket monitorda ko'rish qulayligi uchun ma'lumotlarni boshqacha formatlashdan qo'rqing.

4 -qadam: Tinglash uchun ishlov berishdan foydalanish

Tinglash uchun ishlov berishdan foydalanish
Tinglash uchun ishlov berishdan foydalanish

Bizda Arduino IDE -ni sozlash kodi bo'lsa -da, bizda bu ma'lumotlarni saqlash muammosi bor. Hozircha biz ketma -ket monitorda ma'lumotlarni yig'ish paytida ko'rishimiz mumkin. Bu ma'lumotlarni yozib olishning ko'p usullari bor, lekin men asosan ishlov berishni tanladim, chunki uning interfeysi Arduino IDE -ni taqlid qiladi va u menga tanish bo'lgan Java -dan foydalanadi (agar siz Firmata -ni yuklasangiz, Arduino platasini Processing bilan ham boshqarishingiz mumkin). Qayta ishlash Arduino -ga ulangan portda eshitiladi va ketma -ket monitorda o'qiladigan ma'lumotlarni boshqarish imkoniyatiga ega. Ushbu port nomini topish uchun Arduino IDE faylingizga qayting va Asboblar> Port -ni tanlang.

Men ishlov berish kodini taqdim qildim, lekin bu erda kod qanday ishlashi haqida qisqacha ma'lumot.

O'rnatish funktsiyasidan oldin sizda port, o'zgaruvchi jadval, biz ishlaydigan qator va fayl nomi uchun o'zgaruvchilar borligiga ishonch hosil qiling. Keyin sozlash funktsiyasida ishga tushirish oynasining hajmini belgilaydigan parametrlar mavjud, lekin bu raqamlar bizning funksiyamizga ta'sir qilmaydi (masalan, ularni (500, 500) qilib belgilang). Portni ishga tushirayotganingizda, String shaklidagi port nomini va 9600 ta uzatma tezligini ishlating. Nihoyat, jadvalni ishga tushirish uchun to'qqizta ustunni (ettita GPS toifasi, vaqt va sana uchun) yarating.

O'ynash funktsiyasida biz har bir GPS ma'lumotlari qachon chiqarilishini kuzatib borish uchun o'rnatilgan sana va vaqt funktsiyalaridan foydalanamiz. Endi Arduino -dan ma'lumotlar oqimini o'qish va uni to'g'ri sarlavha ostiga to'g'ri vaqt va sana qo'yish uchun biz oddiy iboralarni ishlatamiz.

Men teng ma'lumotlarni va nuqta -vergul orasidagi har qanday ifodani qidiradigan matchAll funktsiyasi bilan aniq ma'lumotlarni ajratish uchun regexdan foydalanaman (men Arduino kodimga qo'ygan chegarachilar). Bu keyinchalik barcha mos keladigan teglarni, raqamli ma'lumotlarni ikki o'lchovli qatorga joylashtiradi. Keyin biz ushbu indekslarni Excel varag'ining sarlavhalari ostiga qo'yish uchun chaqira olamiz.

Yangi.csv faylini saqlash uchun "Run" oynasini yopish uchun tugmani bosamiz. Tugmani bosish uchun qancha kutsangiz, shuncha ko'p ma'lumotlar to'planadi. Boshqa yo'riqnomaga binoan, men ham faylni ma'lumotlar papkasida sana va vaqtni fayl nomi sifatida saqlashga qaror qildim.

5 -qadam: Tableau Public -da ma'lumotlarni ko'rsatish

Tableau Public -da ma'lumotlarni ko'rsatish
Tableau Public -da ma'lumotlarni ko'rsatish
Tableau Public -da ma'lumotlarni ko'rsatish
Tableau Public -da ma'lumotlarni ko'rsatish
Tableau Public -da ma'lumotlarni ko'rsatish
Tableau Public -da ma'lumotlarni ko'rsatish

Oxirgi bosqich ba'zi ma'lumotlarni vizualizatsiya qilishni o'z ichiga oladi. Ma'lumot vizualizatsiyasini yaratish va ko'rsatish uchun ko'plab dasturlar mavjud, ya'ni Plotly, lekin biz bu loyihada Tableau -dan foydalanamiz. Tableau Public -ni oching va saqlangan Excel faylini matnli fayl sifatida oching. Ishchi varaq yaratish uchun chap pastki burchakdagi 1 -varaqni bosing.

Biz GPS ma'lumotlari bilan ishlayotganimiz sababli, biz ma'lumotimizni tasvirlash uchun xaritadan foydalanamiz. O'lchovlar yozilgan chap ustunda biz uzunlikni ustunlarga, kenglikni esa satrlarga yuqoriga tortamiz. Tableau ikkala o'lchovni ham AVG -ga o'rnatadi, shuning uchun shartlar yonidagi ochiladigan belgini bosing va ikkalasini ham O'lchamga o'zgartiring. Endi xaritada to'plangan kenglik va uzunlik qiymatlari yordamida ko'rsatiladigan yo'l bo'lishi kerak.

Ma'lumotlaringizni xatolardan tozalash uchun (buni Tableau -ni ochishdan oldin ham qilish mumkin), siz ularni bosish va variantni tanlash orqali ba'zi joylashuv doiralarini chiqarib tashlashni tanlashingiz mumkin. Mening GPS modulim 100% aniq emas, chunki yo'lning ba'zi qismlari aniqlanmagan, lekin umumiy yo'l yozilgan.

6 -qadam: Vizni tozalash

Vizni tozalash
Vizni tozalash

Oxirgi qism - bu ma'lumotni yanada o'qiydigan qilish. Agar siz ko'cha kontekstini xohlasangiz, xarita> xarita qatlami> ko'chalar va avtomagistrallarga o'tishingiz mumkin. Boshqa belgilar bilan tajriba o'tkazing. Tezlik oshganda rangning qizg'inligi qanday oshishini ko'rsatish uchun Tezlikni Rang ustidan tortdim. Shuningdek, men "Kurs uchun yorliq" o'rniga "Tafsilot" dan foydalandim, chunki Label raqamlarni xaritada aks ettirar edi, men faqat ma'lumotni joylashuv nuqtalari ustida turganingizda paydo bo'lishini xohlardim.

Endi siz ma'lumotlarni yig'ish va ma'lumotlarni vizualizatsiya qilish jarayonini boshdan kechirgan bo'lsangiz, buni boshqa loyihalarga qo'llashingiz mumkin!

Pingdi Huang tomonidan, yoz 2018

Tavsiya: