Мазмуну:

IDC2018IOT Leg Running Tracker: 6 кадам
IDC2018IOT Leg Running Tracker: 6 кадам

Video: IDC2018IOT Leg Running Tracker: 6 кадам

Video: IDC2018IOT Leg Running Tracker: 6 кадам
Video: IoT Full Course - Learn IoT In 4 Hours | Internet Of Things | IoT Tutorial For Beginners | Edureka 2024, Июль
Anonim
IDC2018IOT Leg Running Tracker
IDC2018IOT Leg Running Tracker

Биз IDC Herzliyaдагы "Интернет нерселер" курсунун алкагында ушундай идея менен чыктык.

Долбоордун максаты - NodeMCU, бир нече сенсорлор жана мүмкүн болгон серверди колдонуу менен чуркоо же жөө басууну камтыган физикалык активдүүлүктү жогорулатуу. Бул долбоордун натыйжасы - келечекте бардык жерде колдонула турган чыныгы өндүрүштүк продуктка айландырылышы мүмкүн болгон абдан пайдалуу IOT түзмөгү! Сураныч, оюңузду бизге билдириңиз:)

Баштоодон мурун, сизде бар экенине ишениңиз:

* NodeMCU түзмөгү.

* 1 пьезоэлектрдик сенсор.

* MPU6050 сенсор.

* Бир чоң матрица.

* Эластикалык жип.

* Firebase эсеби.

Кошумча:

* Бир нече пьезоэлектрдик сенсор

* мультиплексор

1 -кадам: MPU6050 орнотуу жана калибрлөө

Image
Image

"loading =" жалкоо"

Piezo орнотуу
Piezo орнотуу

Нускамалар:

  • Пьезону 1М каршылыгы менен туташтырыңыз (тиркелген сүрөттү караңыз).
  • Тиркелген эскизди жүктөө.
  • Эпластикалык жипти колдонуп, бир бутуңузга туташтырыңыз.
  • "Сериялык плоттерди" ачыңыз.
  • Бул кадамга тиркелген видеону көрүңүз.

3 -кадам: сенсорлорду Arduino менен бириктирүү

Image
Image
Сенсорлорду Arduino менен бириктирүү
Сенсорлорду Arduino менен бириктирүү

Биз сенсорлорду кантип калибрлөөнү көрдүк, эми сенсорлордун экөөнү NodeMCUге бириктиребиз!

  • Эки сенсорду да түзмөккө туташтырыңыз, 1+2 -кадамдардагыдай эле төөнөгүчтөрдү колдонуңуз.
  • Тиркелген эскизди жүктөңүз.
  • Аппаратты 2 сенсор менен бир бутка туташтырыңыз.
  • "Сериялык плоттерди" ачыңыз.
  • Тиркелген видеону көрүңүз.

4 -кадам: Булутка маалыматтарды жөнөтүү

Булутка маалыматтарды жөнөтүү!
Булутка маалыматтарды жөнөтүү!
Булутка маалыматтарды жөнөтүү!
Булутка маалыматтарды жөнөтүү!
Булутка маалыматтарды жөнөтүү!
Булутка маалыматтарды жөнөтүү!

Бул кадамда биз түзмөгүбүздү булутка туташтырып, укмуш диаграммаларды көрүү үчүн маалыматтарды жөнөтөбүз!

Биз MQTT протоколун колдонобуз жана маалыматтарды "Adafruit" деп аталган бекер серверге жөнөтөбүз.

ЭСКЕРТҮҮ: Adafruit ар бир секундада бир нече жолу маалыматтарды жөнөтүүнү колдобойт, ал жайыраак ылдамдыкта иштейт, ошондуктан биз маалымат пункттарынын орточо көрсөткүчүн жөнөтөбүз, бирок маалымат пункттарынын өздөрү эмес. Биз 2 сенсорубуздагы маалыматтарды төмөнкү өзгөртүүлөрдү колдонуу менен орточо маалыматка айландырабыз:

* Кадам аныктоо убактысы мүнөтүнө кадамдарга которулат. Ар бир кадамдын узактыгын (millis () - step_timestamp) табууга болот жана орточо көрсөткүчтү биз мурда көргөндөй фильтрдин жардамы менен жасоого болот: val = val * 0.7 + new_val * 0.3.

* Кадам кубаты орточо тепкич кубатына айланат. Биз ар бир кадам үчүн "max" колдонуунун бирдей методологиясын колдонобуз, бирок орточо = орточо * 0,6 + жаңы_вал * 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 чегинен ашпаңыз. // Эгерде сиз премиумду же өзүңүздүн серверди колдонсоңуз, өзгөртө аласыз. // Ар бир жолу алмашуучу маалымат пунктун жөнөтүү. эгер (миллис () - lastTimeDataSent> 5000) {

6 -кадам: Күчөтүүлөр, эскертүүлөр жана келечектеги пландар

Негизги чакырык:

Долбоордогу негизги көйгөй NodeMCUду физикалык активдүүлүктө сынап көрүү болгон. USB кабели көбүнчө ажыратылат, жана тез кыймылдоого аракет кылганыңызда казыктарды ажыратуу көйгөйү жаралышы мүмкүн. Көп жолу биз чындыгында иштеген коддун бир бөлүгүн мүчүлүштүктөрдү оңдоп жатканбыз жана көйгөй физикалык чөйрөдө болгон.

Биз ноутбукту чуркоочуга жакын көтөрүп, ар бир кодду бир убакта жазуу менен бул кыйынчылыкты жеңдик.

Дагы бир көйгөй ар кандай компоненттердин жылмакай өз ара аракеттенүүсүн камсыз кылуу болгон:

  • Акселеромер менен пьезо: Совед 3 -кадамда сүрөттөлгөндөй, бизде жаратуучу идея менен.
  • Сервердеги сенсорлор: 4 -кадамда сүрөттөлгөндөй, биз баалуулуктарды жайыраак ылдамдыкта серверге жөнөтүлө турган башка баалуулуктарга айландырдык.

Системанын чектөөлөрү:

  • Колдонуу алдында калибрлөө керек.
  • Физикалык машыгууда оңой сынбай турган, катуураак продуктка айландыруу керек.
  • Пьезоэлектрдик сенсор өтө так эмес.
  • Wi -Fi туташуусу керек. (Уюлдук байланыш түйүнү аркылуу оңой чечилет)

Келечектеги пландар

Эми, бизде толук иштөөчү бутту көзөмөлдөөчү түзүлүшкө ээ болгондон кийин, мындан ары да жакшыртуулар бар!

Бир нече пизо!

  • Пьезону бутунун ар кайсы жерлерине туташтырыңыз.
  • NodeMCU бир аналогдук пинди колдогондуктан мультиплексорду колдонуңуз.
  • Таасир берүүчү жерлерди сүрөттөө үчүн тамандын жылуулук картасын көрсөтө алат.
  • Бул маалыматтарды туура эмес поза жана дене салмактуулугу боюнча эскертүүлөрдү түзүү үчүн колдоно алат.

Көптөгөн түзмөктөр!

  • Биз сизге бир эле убакта 2 түзмөктү кантип туташтыруу керектигин көрсөттүк, бирок 22 футболчуга 22 пьезону туташтыра аласыз!
  • Оюнчулар жөнүндө кызыктуу көрсөткүчтөрдү көрсөтүү үчүн оюн учурунда маалыматтар ачыкка чыгышы мүмкүн!

Өркүндөтүлгөн сенсорлор

Биз пьезо менен акселерометрди колдондук, бирок сиз өндүрүмдү байытуучу жана көбүрөөк маалымат бере турган башка түзмөктөрдү кошо аласыз:

  • Так лазерлер бут басууну аныктайт.
  • Бут менен жердин ортосундагы аралыкты өлчөө.
  • Ар кандай оюнчулардын ортосундагы аралыкты өлчөө (бир нече түзмөктөрдө)

Сунушталууда: