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

גשש ריצה IDC2018 IOT: 6 שלבים
גשש ריצה IDC2018 IOT: 6 שלבים

וִידֵאוֹ: גשש ריצה IDC2018 IOT: 6 שלבים

וִידֵאוֹ: גשש ריצה IDC2018 IOT: 6 שלבים
וִידֵאוֹ: BP DOCTOR PRO Smart Watch Blood Pressure Monitor: Is It as Accurate as a Traditional BP Monitor? 2024, נוֹבֶמבֶּר
Anonim
גשש ריצה IDC2018 IOT
גשש ריצה IDC2018 IOT

את הרעיון הזה יצאנו במסגרת קורס "אינטרנט של דברים" במרכז הבינתחומי הרצליה.

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

לפני שתתחיל, ודא שיש לך:

* מכשיר NodeMCU.

* חיישן פיזואלקטרי אחד.

* חיישן MPU6050.

* מטריצה אחת גדולה.

* חבל אלסטי.

* חשבון Firebase.

אופציונאלי:

* חיישן פיזואלקטרי מרובה

* מרבב

שלב 1: הגדרה וכיול של MPU6050

Image
Image

"טוען =" עצלן"

הגדרת הפיאצו
הגדרת הפיאצו

הוראות:

  • חבר את הפיצו עם נגד 1M (ראה תמונה מצורפת).
  • העלה את הסקיצה המצורפת.
  • חבר את המכשיר לרגל אחת באמצעות החבל האלסטי.
  • פתח את "plotter serial".
  • צפו בסרטון המצורף לשלב זה.

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

Image
Image
שילוב החיישנים בארדואינו
שילוב החיישנים בארדואינו

ראינו כיצד לכייל את החיישנים, כעת אנו הולכים לשלב את שני החיישנים ב- NodeMCU!

  • חבר את שני החיישנים למכשיר, השתמש באותם סיכות כמו שלבים 1+2.
  • טען את הסקיצה המצורפת.
  • חבר את המכשיר עם 2 החיישנים לרגל אחת.
  • פתח את "plotter serial".
  • צפו בסרטון המצורף.

שלב 4: שליחת נתונים לענן

שליחת נתונים לענן!
שליחת נתונים לענן!
שליחת נתונים לענן!
שליחת נתונים לענן!
שליחת נתונים לענן!
שליחת נתונים לענן!

בשלב זה נחבר את המכשיר שלנו לענן ונשלח נתונים לראות כמה תרשימים מדהימים!

נשתמש בפרוטוקול MQTT ונשלח נתונים לשרת חינמי בשם "Adafruit".

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

* זמן זיהוי הצעדים יתהפך לשלבים לדקה. ניתן למצוא כל משך שלב על ידי (millis () - step_timestamp), וניתן לבצע את הממוצע באמצעות מסנן, כפי שראינו קודם: val = val * 0.7 + new_val * 0.3.

* כוח המדרגה יהפוך לעוצמת צעד ממוצעת. נשתמש באותה מתודולוגיה של שימוש ב"מקס "לכל שלב, אך נשתמש במסנן לביצוע ממוצע באמצעות ממוצע המסנן = ממוצע * 0.6 + new_val * 0.4.

הוראות:

  • היכנס לאתר של Adafruit בכתובת io.adafruit.com וודא שיש לך חשבון.
  • צור לוח מחוונים חדש, תוכל לקרוא לו בשם "גלאי הצעדים שלי".
  • בתוך לוח המחוונים, לחץ על כפתור + ובחר "תרשים קווים", וצור פיד בשם "צעד_הפעלה_דקה".
  • בתוך לוח המחוונים, לחץ על הלחצן + ובחר "תרשים קווים", וצור פיד בשם "ממוצע_ צעד_ כוח".
  • כעת אתה אמור לראות 2 תרשימים ריקים עבור כל אחד מהשדות.
  • השתמש בסקיצה המצורפת והגדר את התצורה הבאה:

USERNAME = שם המשתמש שלך ב- Adafruit.

מפתח = מפתח Adafruit שלך

WLAN_SSID = שם WIFI

WLAN_PASS = כרטיס WIFI

mpuStepThreshold = סף משלב 2

לאחר מכן תוכל לחבר את המכשיר לרגל אחת והשרטוט ישלח נתוני צעדים לשרת!

שלב 5: שימוש בשני מכשירים בו זמנית

שימוש בשני מכשירים בו זמנית
שימוש בשני מכשירים בו זמנית
שימוש בשני מכשירים בו זמנית
שימוש בשני מכשירים בו זמנית

בשלב זה נדמה 2 אנשים שהולכים עם המכשיר באותו זמן!

נשתמש בשני מכשירים שונים - עם אותן נקודות נתונים כפי שהוסבר בשלב 4.

אז זה ממש קל, יש 3 משימות פשוטות:

1) צור הזנות נוספות לנתונים מהמכשיר השני, אנו ממליצים לתת תיקון לאחר של "_2"

2) שנה את הבלוקים בלוח המחוונים כדי להציג נתונים משני הזנות.

3) שנה את שם ההזנות בסקיצה של המכשיר השני.

4) צפו בתוצאות!

הערה:

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

/ / שלח כל 5 שניות לא יעלה על המגבלה של Adafruit למשתמשים בחינם. // אם אתה משתמש ב- premium או בשרת משלך, אל תהסס לשנות. // בכל פעם שלח נקודת נתונים מתחלפת. if (millis () - lastTimeDataSent> 5000) {

שלב 6: שיפורים, הערות ותוכניות עתידיות

האתגר העיקרי:

האתגר העיקרי בפרויקט היה בדיקת ה- NodeMCU בפעילות גופנית. כבל ה- USB מתנתק לעתים קרובות, וכאשר מנסים לנוע במהירות יכולות להיות בעיות של ניתוק סיכות. פעמים רבות ניסינו לאתר ניפוי קוד שעובד בפועל, והבעיה הייתה בתחום הפיזי.

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

אתגר נוסף היה לגרום לרכיבים השונים לפעול בצורה חלקה:

  • הפאיזו עם המאיץ: התרשמתי מזה כפי שתואר בשלב 3, על ידי רעיון יצירתי שהיה לנו.
  • החיישנים עם השרת: כמתואר בשלב 4, הפכנו את הערכים לערכים אחרים אותם ניתן לשלוח לשרת בקצב איטי יותר.

מגבלות המערכת:

  • צריך כיול לפני השימוש.
  • צריך להפוך למוצר נוקשה יותר, שלא נשבר בקלות בפעילות גופנית.
  • החיישן הפיזואלקטרי אינו מדויק במיוחד.
  • צריך חיבור wifi כלשהו. (נפתר בקלות באמצעות נקודה חמה של טלפון סלולרי)

תוכניות עתידיות

כעת, כשיש לנו מכשיר לניטור רגליים שעובד במלואו, יש שיפורים נוספים שניתן לבצע!

פיז'ו מרובים!

  • חבר פיאז לאזורים שונים בכף הרגל.
  • השתמש במרבב מכיוון ש NodeMCU תומך בסיכה אנלוגית אחת בלבד.
  • יכול להציג מפת חום של כף הרגל לתיאור אזורי השפעה.
  • יכול להשתמש בנתונים אלה כדי ליצור התראות על יציבה לא נכונה ואיזון הגוף.

מכשירים רבים!

  • הראינו לך כיצד לחבר 2 מכשירים בו זמנית, אך תוכל לחבר 22 פיצות ל -22 שחקני כדורגל!
  • ניתן לחשוף את הנתונים במהלך המשחק כדי להציג כמה מדדים מעניינים על השחקנים!

חיישנים מתקדמים

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

  • עצלות מדויקות לאיתור צעדים.
  • מדוד את המרחק בין כף הרגל לאדמה.
  • מדוד מרחק בין שחקנים שונים (במקרה של מספר מכשירים)

מוּמלָץ: