תוכן עניינים:

מפת הנתיבים: 6 שלבים
מפת הנתיבים: 6 שלבים

וִידֵאוֹ: מפת הנתיבים: 6 שלבים

וִידֵאוֹ: מפת הנתיבים: 6 שלבים
וִידֵאוֹ: מפלצת השתלטה על גן הילדים ?! (באנבאן 6) 2024, נוֹבֶמבֶּר
Anonim
מפת הנתיבים
מפת הנתיבים
מפת הנתיבים
מפת הנתיבים
מפת הנתיבים
מפת הנתיבים

בפרויקט IoT זה, אנו מחברים NEO-6M (מודול GPS) לאספקת נתוני מיקום באמצעות ה- Arduino לגיליון Excel שיישמר במחשב. לאחר מכן עם Tableau Public, אנו יוצרים הדמיה של נתונים של נתונים אלה כדי למפות את הנתיב שעשינו. זוהי אמנם דרך אחת לאסוף ולהציג נתונים בזמן אמת בנתונים המתואמים מאוד, כלומר, תהליך זה יכול להיות מיושם גם על פרויקטים אחרים המונעים על ידי נתונים.

שלב 1: רכישת חומרים

רכישת חומרים
רכישת חומרים

לפרויקט זה תזדקק לדברים הבאים:

  • מודול GPS NEO-6M
  • ארדואינו אונו
  • חוטי מגשר זכר/זכר (תצטרך 4 חוטים)
  • כבל USB 2.0 סוג A עד B
  • מחשב עם תוכניות אלה: Tableau Public, Arduino IDE (עם TinyGPS ++) ועיבוד

שלב 2: הגדרת המכשירים

הגדרת המכשירים
הגדרת המכשירים
הגדרת המכשירים
הגדרת המכשירים

תחילה עלינו להגדיר את מודול ה- GPS עם ה- Arduino UNO על מנת שהארדואינו ייתן לנו ממשק להצגת הנתונים. כל אחד מארבעת החוטים המחוברים ל- NEO-6M תואם יציאות ספציפיות. אם ה- NEO-6M שלך לא מגיע עם החוטים, יהיה עליך לחבר אותו ישירות באמצעות חוטי מגשר. בתרשים לעיל, אדום תואם כוח (VCC), שחור לקרקע (GND), צהוב להעברת נתונים (TxD) ולבן לקבלת נתונים (RxD). אנו מחברים חוטים אלה לחוטי מגשר זכר/זכר כך שנוכל לחבר אותם ל- Arduino. בעקבות התרשים לעיל, אנו מחברים את חוט הארקה לסיכה הדיגיטלית של GND בארדואינו, חוט TxD ל -4, חוט RxD ל- ~ 3 וחוט VCC ל- 5V למתח. בשלב עתידי, נצטרך להגדיר TxD ו- RxD עם המספרים הנכונים ב- SoftwareSerial.

לאחר חיבור שני המכשירים זה לזה, עלינו לספק מקור חשמל. חבר את כבל USB 2.0 למחשב הנייד שלך והתאורה ב- NEO-6M אמורה להידלק.

שלב 3: קידוד הארדואינו לחילוץ נתונים

קידוד הארדואינו לחילוץ נתונים
קידוד הארדואינו לחילוץ נתונים

כעת, לאחר שהגדרנו את המכשירים לאיסוף נתוני GPS מהלוויינים, נכתוב קוד כדי לנתח את נתוני ה- GPS שאנו רוצים. בהנחה שקלטת אות (מודול ה- GPS שלי היה מהבהב בכחול), NEO-6M כברירת מחדל מדפיס נתונים גולמיים על הצג הטורי בצורה של הודעות NMEA, שנראות בערך $ GP ואחריו עוד אותיות וסדרה של מספרים. התמונה למעלה נותנת מושג כללי לגבי מה שיש להציג במסך הטורי שלך לאחר הכנסת הקוד הבסיסי של הארדואינו.

כדי להסביר את הקוד שצירפתי (או אם ברצונך לנסות לקודד אותו בעצמך), עליך לכלול תחילה את הספרייות SoftwareSerial ו- TinyGPS ++ (עבור האחרונות, Sketch> Include> Add. ZIP). SoftwareSerial מאפשר לנו חיבור טורי; TinyGPS ++ נותן לנו כלי קל להדפיס את המידע הממוקד בצורה קריאה. הקפד לאתחל את האובייקט SoftwareSerial לפינים המתאימים ב- Arduino. בפונקציית ההתקנה, אנו משתמשים ב- 9600 כקצב השידור.

לצורך הוראה זו, נדפיס רק שבעה סוגי נתונים בפונקציית הלולאה: קו הרוחב (מעלות), אורך (מעלות), מהירות (ק"מ), מסלול (מעלות), גובה (ק"מ), מספר הלוויינים ב שימוש, ו- hdop. תוכל לחפש את התחביר להדפסת מידע זה בספריית Arduiniana. הצורה הכללית היא Serial.print (). לדוגמה להדפסת אורך, היינו מקלידים את Serial.print (gps.location.lng (), 6). ה -6 מייצג כמה ספרות נרצה מימין לנקודה העשרונית.

בקוד שלי מודפסים תווים נוספים למען regex בפורמט בקלות בשלב הבא. אם ברצונך לעצור בשלב זה, אל תהסס לעצב את הנתונים בצורה שונה כדי להקל על הצג הטורי.

שלב 4: שימוש בעיבוד להאזנה

שימוש בעיבוד להאזנה
שימוש בעיבוד להאזנה

אמנם יש לנו קוד להגדרת Arduino IDE, אך יש לנו בעיה של שמירת נתונים אלה. נכון לעכשיו, אנו יכולים להציג את הנתונים על הצג הסדרתי בזמן שאנו אוספים אותם. ישנן דרכים רבות לרשום נתונים אלה אך בחרתי בעיבוד בעיקר מכיוון שהממשק שלו מחקה את ה- Arduino IDE והוא משתמש ב- Java, שפה שאני מכיר (שים לב שאפשר גם לשלוט בלוח ה- Arduino בעיבוד אם מורידים Firmata). העיבוד מקשיב ליציאה המחוברת ל- Arduino ויש לו את היכולת לתפעל את הנתונים הנקראים על הצג הטורי. כדי למצוא את שם היציאה הזו, עיין בקובץ Arduino IDE שלך ובדוק בכלים> יציאה.

סיפקתי את קוד העיבוד, אך להלן סקירה מהירה כיצד פועל הקוד.

לפני פונקציית ההתקנה, ודא שיש לך משתנים עבור היציאה, הטבלה המתקבלת, השורה איתה נעבוד ושם הקובץ. לאחר מכן בפונקציית ההתקנה, ישנם פרמטרים לקביעת גודל חלון ההפעלה שלך אך מספרים אלה אינם משפיעים על הפונקציונליות שלנו (לדוגמה, הגדר אותם ל- (500, 500)). בעת אתחול היציאה, השתמש בשם היציאה בצורה מחרוזת ובקצב שידור של 9600. לבסוף, צור את תשע העמודות (עבור שבע קטגוריות ה- GPS, השעה והתאריך) כדי לאתחל את הטבלה.

בפונקציית הציור, אנו משתמשים בפונקציות התאריך והשעה המובנים כדי לעקוב אחר מתי כל קבוצת נתוני GPS מופקת. עכשיו כדי לקרוא את זרם הנתונים מהארדואינו ולשים אותו מתחת לכותרות המתאימות עם הזמן והתאריך הנכונים, אנו משתמשים בביטויים רגילים.

אני משתמש ב- regex כדי לנתח את הנתונים המדויקים עם הפונקציה matchAll שמחפשת כל ביטוי בין סימן השוויון לפסיק (המפרידים שהכנסתי בקוד הארדואינו שלי). לאחר מכן הוא ממקם את כל התגים המתאימים, הנתונים המספריים, במערך דו-ממדי. לאחר מכן נוכל לקרוא למדדי מערכים אלה לשים אותם מתחת לכותרות של גיליון ה- Excel.

כדי לשמור את קובץ ה- csv החדש, אנו משתמשים בלחיצת מקשים כדי לסגור את חלון ההפעלה. ככל שתחכו ללחוץ על מקש זמן רב יותר, כך תאספו יותר נתונים. בהתאם למדריך אחר, החלטתי גם לשמור את הקובץ בתיקיית הנתונים עם התאריך והשעה כשם הקובץ.

שלב 5: הצגת נתונים ב- Tableau Public

הצגת נתונים ב- Tableau Public
הצגת נתונים ב- Tableau Public
הצגת נתונים ב- Tableau Public
הצגת נתונים ב- Tableau Public
הצגת נתונים ב- Tableau Public
הצגת נתונים ב- Tableau Public

השלב האחרון כולל כמה הדמיה של נתונים. ישנן תוכניות רבות ליצירה והצגה של ויזואליזציות נתונים, כלומר בעלילה, אך עבור פרויקט זה נשתמש ב- Tableau. פתח את Tableau Public ופתח את קובץ ה- Excel השמור כקובץ טקסט. ליצירת דף עבודה, לחץ על גיליון 1 ביד השמאלית התחתונה.

מכיוון שאנו עובדים עם נתוני GPS, נשתמש במפה כדי לתאר את המידע שלנו. בעמודה השמאלית שבה כתוב מדידות, נגרור את אורך האורך לעמודות ואת הרוחב לשורות למעלה. טבלו מחדירה את ברירת המחדל של שני המדדים ל- AVG, לכן לחץ על התפריט הנפתח לצד המונחים ושנה את שניהם למימד. כעת המפה צריכה להציג נתיב באמצעות ערכי קו הרוחב והאורך שנאספו.

כדי לנקות את הנתונים שלך לאיתור שגיאות (שניתן לעשות זאת גם לפני פתיחת Tableau), תוכל לבחור לא לכלול כמה מעגלי מיקום על ידי לחיצה עליהם ובחירת האפשרות. מודול ה- GPS שלי אינו מדויק במאת האחוזים, מכיוון שחלקים מסוימים מהנתיב שלי לא אותרו, אך הנתיב הכללי נרשם.

שלב 6: חידוד הוויז

עידון הוויז
עידון הוויז

החלק האחרון הוא להפוך את הנתונים הללו קריא יותר. אם אתה רוצה הקשר רחוב, תוכל לעבור אל מפה> שכבת מפות> רחובות וכבישים. אל תהסס להתנסות עם מרקים אחרים. גררתי את Speed מעל הצבע כדי להראות כיצד עוצמת הצבע עולה כאשר המהירות עולה. השתמשתי גם בפרטי במקום ב- Label for Course מכיוון שהתווית תציג את המספרים על המפה ואילו רציתי שמידע יופיע רק כאשר תרחף מעל נקודות המיקום.

כעת, לאחר שחווית את כל התהליך של איסוף נתונים והצגת מה שיש לך בהדמיית נתונים, תוכל ליישם זאת על פרויקטים אחרים!

מאת פינגדי הואנג, קיץ 2018

מוּמלָץ: