جدول المحتويات:

جهاز تتبع الجري IDC2018IOT: 6 خطوات
جهاز تتبع الجري IDC2018IOT: 6 خطوات

فيديو: جهاز تتبع الجري IDC2018IOT: 6 خطوات

فيديو: جهاز تتبع الجري IDC2018IOT: 6 خطوات
فيديو: كيفية اصلاح و تتبع اعطال كارت جهاز الجري الكهربائي (المشاية الرياضية) 2024, شهر نوفمبر
Anonim
IDC2018IOT جهاز تتبع الجري للساق
IDC2018IOT جهاز تتبع الجري للساق

خرجنا بهذه الفكرة كجزء من دورة "إنترنت الأشياء" في IDC Herzliya.

هدف المشروع هو تعزيز الأنشطة البدنية التي تتضمن الجري أو المشي باستخدام NodeMCU وعدد قليل من أجهزة الاستشعار وخادم يمكن. نتيجة هذا المشروع هي جهاز إنترنت الأشياء مفيد للغاية ويمكن تحويله في المستقبل إلى منتج إنتاج حقيقي سيتم استخدامه في كل مكان! اسمحوا لنا أن نعرف ما هو رأيك:)

قبل أن تبدأ ، تأكد من أن لديك:

* جهاز NodeMCU.

* 1 مستشعر كهرضغطية.

* مستشعر MPU6050.

* مصفوفة واحدة كبيرة.

* حبل مرن.

* حساب Firebase.

اختياري:

* مستشعر كهرضغطية متعدد

* المضاعف

الخطوة 1: إعداد ومعايرة MPU6050

Image
Image

"تحميل =" كسول"

إنشاء بيزو
إنشاء بيزو

تعليمات:

  • قم بتوصيل بيزو بمقاوم 1 متر (انظر الصورة المرفقة).
  • قم بتحميل الرسم المرفق.
  • قم بتوصيل الجهاز بقدم واحدة باستخدام الحبل المطاطي.
  • افتح "الراسمة التسلسلية".
  • شاهد الفيديو المرفق بهذه الخطوة.

الخطوة 3: دمج المستشعرات في Arduino

Image
Image
دمج المستشعرات في Arduino
دمج المستشعرات في Arduino

لقد رأينا كيفية معايرة المستشعرات ، والآن سنقوم بدمج كلا المستشعرين في NodeMCU!

  • قم بتوصيل كلا المستشعرين بالجهاز ، واستخدم نفس المسامير كما في الخطوتين 1 + 2.
  • قم بتحميل الرسم المرفق.
  • قم بتوصيل الجهاز بجهازين استشعار بقدم واحدة.
  • افتح "الراسمة التسلسلية".
  • شاهد الفيديو المرفق.

الخطوة 4: إرسال البيانات إلى السحابة

إرسال البيانات إلى السحابة!
إرسال البيانات إلى السحابة!
إرسال البيانات إلى السحابة!
إرسال البيانات إلى السحابة!
إرسال البيانات إلى السحابة!
إرسال البيانات إلى السحابة!

في هذه الخطوة ، سنقوم بتوصيل أجهزتنا بالسحابة وإرسال البيانات لمشاهدة بعض المخططات المذهلة!

سوف نستخدم بروتوكول MQTT ونرسل البيانات إلى خادم مجاني يسمى "Adafruit".

ملاحظة: Adafruit لا تدعم إرسال البيانات عدة مرات كل ثانية ، فهي تعمل بوتيرة أبطأ ، لذلك سنرسل متوسط نقاط البيانات لدينا ، وليس نقاط البيانات نفسها. سنحول البيانات من مستشعرين لدينا إلى بيانات متوسطة باستخدام التحولات التالية:

* سيتم تحويل وقت اكتشاف الخطوة إلى خطوات في الدقيقة. يمكن العثور على مدة كل خطوة بواسطة (millis () - step_timestamp) ، ويمكن عمل المتوسط باستخدام مرشح ، كما رأينا من قبل: val = val * 0.7 + new_val * 0.3.

* سيتم تحويل قوة الخطوة إلى متوسط قوة الخطوة. سنستخدم نفس المنهجية لاستخدام "max" لكل خطوة ، لكننا سنستخدم مرشحًا لإجراء حساب المتوسط باستخدام متوسط الفلتر = متوسط * 0.6 + new_val * 0.4.

تعليمات:

  • أدخل موقع Adafruit على العنوان io.adafruit.com وتأكد من أن لديك حسابًا.
  • قم بإنشاء لوحة تحكم جديدة ، يمكنك تسميتها "مكتشف خطواتي".
  • داخل لوحة القيادة ، اضغط على الزر + وحدد "مخطط خطي" ، وأنشئ موجزًا باسم "steps_per_min".
  • داخل لوحة القيادة ، اضغط على الزر + وحدد "مخطط خطي" ، وأنشئ موجزًا باسم "average_step_power".
  • يجب أن تشاهد الآن مخططين فارغين لكل حقل.
  • استخدم الرسم المرفق وقم بتعيين التكوين التالي:

USERNAME = اسم مستخدم Adafruit الخاص بك.

KEY = مفتاح Adafruit الخاص بك

WLAN_SSID = اسم WIFI

WLAN_PASS = تمرير WIFI

mpuStepThreshold = العتبة من الخطوة 2

ثم يمكنك توصيل الجهاز بقدم واحدة وسيقوم الرسم بإرسال بيانات الخطوات إلى الخادم!

الخطوة 5: استخدام جهازين في نفس الوقت

باستخدام جهازين في نفس الوقت
باستخدام جهازين في نفس الوقت
باستخدام جهازين في نفس الوقت
باستخدام جهازين في نفس الوقت

في هذه الخطوة ، سنقوم بمحاكاة شخصين يمشيان بالجهاز في نفس الوقت!

سنستخدم جهازين مختلفين - بنفس نقاط البيانات كما هو موضح في الخطوة 4.

هذا سهل حقًا ، هناك 3 مهام بسيطة:

1) إنشاء خلاصات إضافية للبيانات من الجهاز الثاني ، نقترح إجراء إصلاح لاحق لـ "_2"

2) قم بتغيير الكتل في لوحة القيادة لعرض البيانات من كلا الخلاصتين.

3) قم بتغيير اسم الأعلاف في مخطط الجهاز الثاني.

4) انظر النتائج!

ملاحظة:

Adafruit تقاوم البيانات التي تأتي بسرعة كبيرة ، فقد تكون هناك حاجة لضبط التردد الذي يتم فيه إرسال البيانات إلى الخادم. افعل ذلك من خلال إيجاد ما يلي في الرسم التخطيطي:

/ / إرسال كل 5 ثوانٍ بما لا يتجاوز حد Adafruit للمستخدمين المجانيين. // إذا كنت تستخدم الإصدار المميز أو الخادم الخاص بك ، فلا تتردد في التغيير. // في كل مرة ترسل نقطة بيانات بديلة. إذا (millis () - lastTimeDataSent> 5000) {

الخطوة السادسة: التحسينات والملاحظات والخطط المستقبلية

التحدي الرئيسي:

كان التحدي الرئيسي في المشروع هو اختبار NodeMCU في نشاط بدني. ينقطع كبل USB كثيرًا ، وعند محاولة التحرك بسرعة قد تكون هناك مشاكل في فصل المسامير. في كثير من الأحيان كنا نصحح قطعة من التعليمات البرمجية التي نجحت بالفعل ، وكانت المشكلة في المجال المادي.

لقد تغلبنا على هذا التحدي من خلال حمل الكمبيوتر المحمول بالقرب من العداء ، وكتابة كل جزء من التعليمات البرمجية في وقت واحد.

كان التحدي الآخر هو جعل المكونات المختلفة تتفاعل بسلاسة:

  • الانغماس في المعجل: لقد أحببنا ذلك كما هو موضح في الخطوة 3 ، بفكرة إبداعية كانت لدينا.
  • أجهزة الاستشعار مع الخادم: كما هو موضح في الخطوة 4 ، قمنا بتحويل القيم إلى قيم أخرى يمكن إرسالها إلى الخادم بوتيرة أبطأ.

حدود النظام:

  • يحتاج إلى معايرة قبل استخدامه.
  • تحتاج إلى أن تتحول إلى منتج أكثر صلابة ، لا ينكسر بسهولة في نشاط بدني.
  • المستشعر الكهروإجهادي ليس دقيقًا جدًا.
  • يحتاج إلى بعض الاتصال بشبكة wifi. (يتم حلها بسهولة باستخدام نقطة اتصال الهاتف الخلوي)

خطط مستقبلية

الآن ، بعد أن أصبح لدينا جهاز مراقبة الساق يعمل بكامل طاقته ، هناك المزيد من التحسينات التي يمكن القيام بها!

متعددة بيزيو!

  • قم بتوصيل البيزو بمناطق مختلفة من القدم.
  • استخدم مُضاعِف الإرسال نظرًا لأن NodeMCU يدعم دبوسًا واحدًا تمثيليًا فقط.
  • يمكن أن تظهر خريطة حرارية للقدم لوصف مناطق التأثير.
  • يمكن استخدام هذه البيانات لإنشاء تنبيهات حول الوضع الخاطئ وتوازن الجسم.

العديد من الأجهزة!

  • لقد أوضحنا لك كيفية توصيل جهازين في نفس الوقت ، ولكن يمكنك توصيل 22 بيزو بـ 22 لاعب كرة قدم!
  • يمكن الكشف عن البيانات أثناء اللعبة لإظهار بعض المقاييس المثيرة للاهتمام حول اللاعبين!

مستشعرات متقدمة

استخدمنا بيزو ومقياس تسارع ، لكن يمكنك إضافة أجهزة أخرى من شأنها إثراء المخرجات وإعطاء المزيد من البيانات:

  • ليزرات دقيقة لاكتشاف خطى الأقدام.
  • قياس المسافة بين القدم والأرض.
  • قياس المسافة بين اللاعبين المختلفين (في حالة وجود أجهزة متعددة)

موصى به: