Πίνακας περιεχομένων:

IDC2018IOT Tracker ποδιών: 6 βήματα
IDC2018IOT Tracker ποδιών: 6 βήματα

Βίντεο: IDC2018IOT Tracker ποδιών: 6 βήματα

Βίντεο: IDC2018IOT Tracker ποδιών: 6 βήματα
Βίντεο: I walked 15000 steps a day for 365 days 2024, Ιούλιος
Anonim
IDC2018IOT Tracker για τρέξιμο ποδιών
IDC2018IOT Tracker για τρέξιμο ποδιών

Βγήκαμε με αυτήν την ιδέα ως μέρος του μαθήματος "Internet Of Things" στο IDC Herzliya.

Ο στόχος του έργου είναι να ενισχύσει τις φυσικές δραστηριότητες που περιλαμβάνουν τρέξιμο ή περπάτημα χρησιμοποιώντας το NodeMCU, μερικούς αισθητήρες και έναν διακομιστή θα μπορούσε. Το αποτέλεσμα αυτού του έργου είναι μια πολύ χρήσιμη συσκευή IOT που μπορεί να μετατραπεί στο μέλλον σε ένα πραγματικό προϊόν παραγωγής που θα χρησιμοποιηθεί παντού! Παρακαλούμε να μας ενημερώσετε τι σκέφτεστε:)

Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε:

* Συσκευή NodeMCU.

* 1 Πιεζοηλεκτρικός αισθητήρας.

* Αισθητήρας MPU6050.

* Μια μεγάλη μήτρα.

* Ελαστικό σχοινί.

* Λογαριασμός Firebase.

Προαιρετικός:

* Πολλαπλός πιεζοηλεκτρικός αισθητήρας

* πολυπλέκτης

Βήμα 1: Ρύθμιση και βαθμονόμηση του MPU6050

Image
Image

"φόρτωση =" τεμπέλης"

Ρύθμιση του πιέζου
Ρύθμιση του πιέζου

Οδηγίες:

  • Συνδέστε το πιεζό με αντίσταση 1Μ (δείτε συνημμένη εικόνα).
  • Ανεβάστε το συνημμένο σκίτσο.
  • Συνδέστε τη συσκευή σε ένα πόδι χρησιμοποιώντας το ελαστικό σχοινί.
  • Ανοίξτε το "serial plotter".
  • Δείτε το βίντεο που επισυνάπτεται σε αυτό το βήμα.

Βήμα 3: Ενσωμάτωση των αισθητήρων στο Arduino

Image
Image
Ενσωμάτωση των αισθητήρων στο Arduino
Ενσωμάτωση των αισθητήρων στο Arduino

Είδαμε πώς να βαθμονομούμε τους αισθητήρες, τώρα πρόκειται να ενσωματώσουμε και τους δύο αισθητήρες στο NodeMCU!

  • Συνδέστε και τους δύο αισθητήρες στη συσκευή, χρησιμοποιήστε τις ίδιες ακίδες όπως στα βήματα 1+2.
  • Φορτώστε το συνημμένο σκίτσο.
  • Συνδέστε τη συσκευή με τους 2 αισθητήρες στο ένα πόδι.
  • Ανοίξτε το "serial plotter".
  • Δείτε το συνημμένο βίντεο.

Βήμα 4: Αποστολή δεδομένων στο Cloud

Αποστολή δεδομένων στο Cloud!
Αποστολή δεδομένων στο Cloud!
Αποστολή δεδομένων στο Cloud!
Αποστολή δεδομένων στο Cloud!
Αποστολή δεδομένων στο Cloud!
Αποστολή δεδομένων στο Cloud!

Σε αυτό το βήμα θα συνδέσουμε τη συσκευή μας στο cloud και θα στείλουμε δεδομένα για να δούμε μερικά καταπληκτικά γραφήματα!

Θα χρησιμοποιήσουμε το πρωτόκολλο MQTT και θα στείλουμε δεδομένα σε έναν δωρεάν διακομιστή που ονομάζεται "Adafruit".

ΣΗΜΕΙΩΣΗ: Το Adafruit δεν υποστηρίζει την αποστολή δεδομένων μερικές φορές κάθε δευτερόλεπτο, λειτουργεί σε πιο αργούς ρυθμούς, επομένως θα στείλουμε ένα μέσο όρο των σημείων δεδομένων μας και όχι των ίδιων των σημείων δεδομένων. Θα μετατρέψουμε τα δεδομένα από τους 2 αισθητήρες μας σε μέσο όρο χρησιμοποιώντας τους ακόλουθους μετασχηματισμούς:

* Ο χρόνος ανίχνευσης βημάτων θα μετατραπεί σε βήματα ανά λεπτό. Η διάρκεια κάθε βήματος μπορεί να βρεθεί κατά (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".
  • Θα πρέπει τώρα να δείτε 2 κενά γραφήματα για καθένα από τα πεδία.
  • Χρησιμοποιήστε το συνημμένο σκίτσο και ορίστε την ακόλουθη διαμόρφωση:

USERNAME = το όνομα χρήστη Adafruit.

ΚΛΕΙΔΙ = το κλειδί σας Adafruit

WLAN_SSID = Όνομα WIFI

WLAN_PASS = WIFI πάσο

mpuStepThreshold = Όριο από το βήμα 2

Στη συνέχεια, μπορείτε να συνδέσετε τη συσκευή σε ένα πόδι και το σκίτσο θα στείλει δεδομένα βημάτων στον διακομιστή!

Βήμα 5: Χρήση 2 συσκευών ταυτόχρονα

Χρήση 2 συσκευών ταυτόχρονα
Χρήση 2 συσκευών ταυτόχρονα
Χρήση 2 συσκευών ταυτόχρονα
Χρήση 2 συσκευών ταυτόχρονα

Σε αυτό το βήμα, θα προσομοιώσουμε 2 άτομα που περπατούν με τη συσκευή ταυτόχρονα!

Θα χρησιμοποιήσουμε 2 διαφορετικές συσκευές - με τα ίδια σημεία δεδομένων όπως εξηγείται στο βήμα 4.

Αυτό είναι πραγματικά εύκολο, υπάρχουν 3 απλές εργασίες:

1) δημιουργήστε επιπλέον ροές δεδομένων για τα δεδομένα από τη 2η συσκευή, προτείνουμε να δώσετε μια επιδιόρθωση "_2"

2) αλλάξτε τα μπλοκ στον πίνακα ελέγχου για να παρουσιάσετε δεδομένα και από τις δύο ροές.

3) αλλάξτε το όνομα των ροών στο σκίτσο της δεύτερης συσκευής.

4) Δείτε τα αποτελέσματα!

ΣΗΜΕΙΩΣΗ:

Τα δεδομένα αντίστασης Adafruit έρχονται πολύ γρήγορα, μπορεί να χρειαστεί για να προσαρμόσετε τη συχνότητα αποστολής δεδομένων στον διακομιστή. κάντε το βρίσκοντας τα εξής στο σκίτσο:

/ / Η αποστολή κάθε 5 δευτερόλεπτα δεν υπερβαίνει το όριο του Adafruit για δωρεάν χρήστες. // Εάν χρησιμοποιείτε premium ή τον δικό σας διακομιστή, μπορείτε να αλλάξετε. // Κάθε φορά στέλνετε ένα εναλλασσόμενο σημείο δεδομένων. εάν (millis () - lastTimeDataSent> 5000) {

Βήμα 6: Βελτιώσεις, σημειώσεις και μελλοντικά σχέδια

Η κύρια πρόκληση:

Η κύρια πρόκληση στο έργο ήταν η δοκιμή του NodeMCU σε φυσική δραστηριότητα. Το καλώδιο usb αποσυνδέεται συχνά και όταν προσπαθείτε να κινηθείτε γρήγορα μπορεί να προκύψουν προβλήματα αποσύνδεσης των ακίδων. Πολλές φορές κάναμε εντοπισμό σφαλμάτων σε ένα κομμάτι κώδικα που πραγματικά λειτουργούσε και το πρόβλημα ήταν στο φυσικό πεδίο.

Ξεπεράσαμε αυτήν την πρόκληση μεταφέροντας το φορητό υπολογιστή κοντά στον δρομέα και γράφοντας κάθε κομμάτι κώδικα τη φορά.

Μια άλλη πρόκληση ήταν να επιτευχθούν ομαλά τα διαφορετικά συστατικά:

  • Το πίεζο με τον επιταχυντή: Το απολάβαμε όπως περιγράφεται στο βήμα 3, από μια δημιουργική ιδέα που είχαμε.
  • Οι αισθητήρες με το διακομιστή: όπως περιγράφεται στο βήμα 4, μετατρέψαμε τις τιμές σε άλλες τιμές που μπορούν να σταλούν σε διακομιστή με πιο αργό ρυθμό.

Οι περιορισμοί του συστήματος:

  • Χρειάζεται βαθμονόμηση πριν από τη χρήση.
  • Πρέπει να μετατραπεί σε ένα πιο άκαμπτο προϊόν, που δεν σπάει εύκολα σε μια σωματική δραστηριότητα.
  • Ο πιεζοηλεκτρικός αισθητήρας δεν είναι πολύ ακριβής.
  • Χρειάζεται κάποια σύνδεση wifi. (Επιλύεται εύκολα χρησιμοποιώντας το hotspot κινητού τηλεφώνου)

Μελλοντικά σχέδια

Τώρα, που έχουμε μια πλήρως λειτουργική συσκευή παρακολούθησης ποδιών, υπάρχουν περαιτέρω βελτιώσεις που μπορούν να γίνουν!

Πολλαπλές πίζες!

  • Συνδέστε πιέζο σε διαφορετικές περιοχές στο πόδι.
  • Χρησιμοποιήστε πολυπλέκτη αφού το NodeMCU υποστηρίζει μόνο ένα αναλογικό pin.
  • Μπορεί να δείξει έναν θερμικό χάρτη του ποδιού για να περιγράψει τις περιοχές πρόσκρουσης.
  • Μπορεί να χρησιμοποιήσει αυτά τα δεδομένα για να δημιουργήσει ειδοποιήσεις για λάθος στάση σώματος και ισορροπία σώματος.

Πολλές συσκευές!

  • Σας δείξαμε πώς μπορείτε να συνδέσετε 2 συσκευές ταυτόχρονα, αλλά μπορείτε να συνδέσετε 22 πίζες με 22 ποδοσφαιριστές!
  • Τα δεδομένα μπορούν να εκτεθούν κατά τη διάρκεια του παιχνιδιού για να δείξουν μερικές ενδιαφέρουσες μετρήσεις για τους παίκτες!

Προηγμένοι αισθητήρες

Χρησιμοποιήσαμε πιεζογράφο και επιταχυνσιόμετρο, αλλά μπορείτε να προσθέσετε άλλες συσκευές που θα εμπλουτίσουν την έξοδο και θα δώσουν περισσότερα δεδομένα:

  • Ακριβείς λέιζερ για τον εντοπισμό βημάτων.
  • Μετρήστε την απόσταση μεταξύ του ποδιού και του εδάφους.
  • Μετρήστε την απόσταση μεταξύ διαφορετικών παικτών (Σε περίπτωση πολλαπλών συσκευών)

Συνιστάται: