فهرست مطالب:

نقشه گیر مسیر: 6 قدم
نقشه گیر مسیر: 6 قدم

تصویری: نقشه گیر مسیر: 6 قدم

تصویری: نقشه گیر مسیر: 6 قدم
تصویری: بهترین قابلیت های گوگل مپ که باید فورا یاد بیگیرید #گوگل_مپ #موقعیت 2024, جولای
Anonim
نقشه گیر مسیر
نقشه گیر مسیر
نقشه گیر مسیر
نقشه گیر مسیر
نقشه گیر مسیر
نقشه گیر مسیر

در این پروژه اینترنت اشیا ، ما یک NEO-6M (ماژول GPS) را سیم کشی می کنیم تا داده های محلی را از طریق آردوینو به یک برگه اکسل منتقل کنیم که در رایانه ذخیره می شود. پس از آن با Tableau Public ، ما تجسم داده ای از این داده ها را ایجاد می کنیم تا مسیری را که طی کرده ایم ترسیم کنیم. در حالی که این یکی از روش های جمع آوری و ارائه داده های زمان واقعی در داده های بسیار مرتبط است ، این فرایند را می توان در پروژه های دیگر داده محور نیز اعمال کرد.

مرحله 1: به دست آوردن مواد

به دست آوردن مواد
به دست آوردن مواد

برای این پروژه به موارد زیر نیاز دارید:

  • ماژول GPS NEO-6M
  • آردوینو اونو
  • سیم بلوز نر/نر (به 4 سیم نیاز دارید)
  • کابل USB 2.0 نوع A تا B
  • رایانه با این برنامه ها: Tableau Public ، Arduino IDE (با TinyGPS ++) و پردازش

مرحله 2: راه اندازی دستگاه ها

راه اندازی دستگاه ها
راه اندازی دستگاه ها
راه اندازی دستگاه ها
راه اندازی دستگاه ها

ما ابتدا باید ماژول GPS را با Arduino UNO تنظیم کنیم تا Arduino رابط کاربری را برای نمایش داده ها به ما ارائه دهد. هر یک از چهار سیم متصل به NEO-6M مربوط به پورت های خاصی است. اگر سیم NEO-6M شما به همراه سیم نیست ، باید مستقیماً آن را با سیم های بلوز سیم کشی کنید. در نمودار بالا ، رنگ قرمز مربوط به قدرت (VCC) ، سیاه به زمین (GND) ، زرد برای انتقال داده (TxD) و سفید برای دریافت داده (RxD) است. ما این سیمها را به سیمهای بلوز نر/نر متصل می کنیم تا بتوانیم آنها را به آردوینو متصل کنیم. طبق نمودار بالا ، سیم زمین را به پین دیجیتال GND در آردوینو ، سیم TxD را به 4 ، سیم RxD را به 3 و سیم VCC را به 5 ولت برای ولتاژ متصل می کنیم. در مرحله بعدی ، ما باید TxD و RxD را با اعداد صحیح در SoftwareSerial تعریف کنیم.

هنگامی که این دو دستگاه به یکدیگر متصل می شوند ، باید منبع تغذیه را تأمین کنیم. کابل USB 2.0 را به لپ تاپ خود وصل کنید و چراغ NEO-6M باید روشن شود.

مرحله 3: کدگذاری آردوینو برای استخراج داده ها

برنامه نویسی آردوینو برای استخراج داده ها
برنامه نویسی آردوینو برای استخراج داده ها

اکنون که ما دستگاه هایی را برای جمع آوری داده های GPS از ماهواره ها راه اندازی کرده ایم ، کد را برای تجزیه و تحلیل داده های GPS مورد نظر خود می نویسیم. با فرض اینکه شما یک سیگنال دریافت کرده اید (ماژول GPS من به رنگ آبی چشمک می زند) ، NEO-6M به طور پیش فرض داده های خام روی مانیتور سریال را به صورت پیام های NMEA چاپ می کند ، که شبیه $ GP به دنبال حروف بیشتر و یک سری است. از اعداد تصویر بالا یک ایده کلی از آنچه باید در مانیتور سریال شما نشان داده شود پس از قرار دادن کد اصلی Arduino نشان می دهد.

برای توضیح کدی که پیوست کرده ام (یا اگر می خواهید خودتان آن را کدگذاری کنید) ، ابتدا باید هر دو کتابخانه SoftwareSerial و TinyGPS ++ را وارد کنید (برای مورد اخیر ، Sketch> Include> Add. ZIP Library). SoftwareSerial به ما امکان می دهد یک اتصال سریال داشته باشیم. TinyGPS ++ به ما ابزاری آسان برای چاپ اطلاعات مورد نظر به شکل خوانا می دهد. مطمئن شوید که شی SoftwareSerial را برای پین های مربوطه در آردوینو مقداردهی کنید. در تابع راه اندازی ، از 9600 به عنوان نرخ باود استفاده می کنیم.

به منظور این دستورالعمل ، ما فقط هفت نوع داده را در عملکرد حلقه چاپ می کنیم: عرض جغرافیایی (درجه) ، طول جغرافیایی (درجه) ، سرعت (کیلومتر) ، مسیر (درجه) ، ارتفاع (کیلومتر) ، تعداد ماهواره ها در استفاده کنید و hdop کنید. می توانید نحو را برای چاپ این اطلاعات در کتابخانه Arduiniana جستجو کنید. فرم کلی Serial.print () است. برای مثال برای چاپ طول جغرافیایی ، Serial.print (gps.location.lng () ، 6) را تایپ می کنیم. 6 نشان می دهد که چند رقم می خواهیم در سمت راست اعشار.

کد من دارای نویسه های اضافی است که بخاطر قالب بندی آسان قالب بندی شده در مرحله بعد چاپ می شود. اگر می خواهید در این مرحله متوقف نشوید ، با خیال راحت داده ها را برای سهولت مشاهده در مانیتور سریال فرمت کنید.

مرحله 4: استفاده از پردازش برای گوش دادن

استفاده از پردازش برای گوش دادن
استفاده از پردازش برای گوش دادن

در حالی که ما کد راه اندازی شده برای Arduino IDE داریم ، مشکلی در ذخیره این داده ها داریم. در حال حاضر ، ما فقط می توانیم داده ها را در مانیتور سریال هنگام جمع آوری مشاهده کنیم. روشهای زیادی برای ثبت این داده ها وجود دارد ، اما من در اصل پردازش را انتخاب کردم زیرا رابط آن از Arduino IDE تقلید می کند و از جاوا استفاده می کند ، زبانی که من با آن آشنا هستم (توجه داشته باشید که اگر Firmata را بارگیری کنید ، می توانید برد Arduino را با پردازش کنترل کنید). پردازش به پورت متصل به آردوینو گوش می دهد و این قابلیت را دارد که داده های خوانده شده روی مانیتور سریال را دستکاری کند. برای یافتن نام این پورت ، به فایل Arduino IDE خود مراجعه کرده و در قسمت Tools> Port چک کنید.

من کد پردازش را ارائه کرده ام ، اما در اینجا یک مرور سریع برای نحوه عملکرد کد است.

قبل از تابع راه اندازی ، مطمئن شوید که متغیرهایی برای پورت ، جدول به دست آمده ، سطری که با آن کار می کنیم و نام فایل دارید. سپس در تابع راه اندازی ، پارامترهایی برای تعیین اندازه پنجره Run وجود دارد ، اما این اعداد بر عملکرد ما تأثیر نمی گذارد (به عنوان مثال ، آنها را روی (500 ، 500) تنظیم کنید). هنگام راه اندازی اولیه پورت ، از نام پورت به شکل String و نرخ baud 9600 استفاده کنید. در نهایت ، نه ستون (برای هفت دسته GPS ، زمان و تاریخ) را برای مقداردهی اولیه جدول ایجاد کنید.

در تابع رسم ، از توابع تاریخ و زمان ساخته شده برای پیگیری زمان استخراج هر مجموعه داده GPS استفاده می کنیم. اکنون برای خواندن جریان داده ها از آردوینو و قرار دادن آن در زیر سرفصل های مناسب با زمان و تاریخ صحیح ، از عبارات معمولی استفاده می کنیم.

من از regex برای تجزیه و تحلیل داده های دقیق با تابع matchAll استفاده می کنم که به دنبال عبارت بین علامت مساوی و نقطه ویرگول (محدود کننده هایی که در کد آردوینو قرار داده ام) می باشد. این متعاقباً همه برچسب های منطبق ، داده های عددی را در یک آرایه دو بعدی قرار می دهد. سپس می توانیم این شاخص های آرایه را فراخوانی کنیم تا آنها را در زیر سربرگ های صفحه Excel قرار دهند.

برای ذخیره فایل.csv جدید ، از یک کلید کلید برای بستن پنجره Run استفاده می کنیم. هرچه بیشتر برای فشار دادن یک کلید منتظر بمانید ، اطلاعات بیشتری جمع آوری می کنید. به دنبال راهنمای دیگری ، من همچنین تصمیم گرفتم فایل را در پوشه داده با تاریخ و زمان به عنوان نام فایل ذخیره کنم.

مرحله 5: نمایش داده ها در Tableau Public

نمایش داده ها در Tableau Public
نمایش داده ها در Tableau Public
نمایش داده ها در Tableau Public
نمایش داده ها در Tableau Public
نمایش داده ها در Tableau Public
نمایش داده ها در Tableau Public

مرحله نهایی شامل تجسم داده ها است. برنامه های زیادی برای ایجاد و نمایش تجسم داده ها مانند Plotly وجود دارد ، اما برای این پروژه ما از Tableau استفاده می کنیم. Tableau Public را باز کرده و فایل ذخیره شده Excel را به عنوان یک فایل متنی باز کنید. برای ایجاد کاربرگ ، روی صفحه 1 در سمت چپ پایین کلیک کنید.

از آنجا که ما با داده های GPS کار می کنیم ، از نقشه برای نمایش اطلاعات خود استفاده خواهیم کرد. در ستون سمت چپ که در آن Measures آمده است ، طول طول را به ستون ها و عرض جغرافیایی را به سطرها در بالا می کشیم. Tableau به طور پیش فرض هر دو اندازه گیری را به AVG نشان می دهد ، بنابراین روی کشویی که در کنار شرایط قرار دارد کلیک کرده و هر دو را به Dimension تغییر دهید. اکنون نقشه باید دارای مسیری باشد که با استفاده از مقادیر عرض و طول جغرافیایی جمع آوری شده نمایش داده می شود.

برای پاکسازی داده های خود از خطا (که قبل از باز کردن Tableau نیز قابل انجام است) ، می توانید برخی از حلقه های مکان را با کلیک روی آنها و انتخاب گزینه حذف کنید. ماژول GPS من 100٪ دقیق نیست ، زیرا برخی از قسمتهای مسیر من واقع نشده است ، اما مسیر کلی ثبت شده است.

مرحله 6: اصلاح Viz

پالایش Viz
پالایش Viz

قسمت آخر این است که این داده ها را بیشتر خوانا کنیم. اگر زمینه خیابان را می خواهید ، می توانید به نقشه> لایه نقشه> خیابانها و بزرگراهها بروید. با خیال راحت با مارک های دیگر آزمایش کنید. سرعت را روی رنگ کشیدم تا نشان دهم که چگونه شدت رنگ با افزایش سرعت افزایش می یابد. من همچنین از Detail به جای Label for Course استفاده کردم زیرا Label اعداد را روی نقشه نشان می دهد در حالی که من فقط می خواستم اطلاعات را هنگامی که روی نقاط مکان قرار می دهید ظاهر شود.

اکنون که کل فرآیند جمع آوری داده ها و نمایش آنچه در تجسم داده دارید را تجربه کرده اید ، می توانید این را در پروژه های دیگر اعمال کنید!

توسط پینگدی هوانگ ، تابستان 2018

توصیه شده: