Mündəricat:

IDC2018IOT Ayaq Qaçışı: 6 addım
IDC2018IOT Ayaq Qaçışı: 6 addım

Video: IDC2018IOT Ayaq Qaçışı: 6 addım

Video: IDC2018IOT Ayaq Qaçışı: 6 addım
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Noyabr
Anonim
IDC2018IOT Ayaq Qaçış İzləyicisi
IDC2018IOT Ayaq Qaçış İzləyicisi

IDC Herzliya'da "Əşyaların İnterneti" kursunun bir hissəsi olaraq bu fikirlə gəldik.

Layihənin məqsədi, NodeMCU, bir neçə sensor və bir server istifadə edərək qaçmaq və ya gəzməkdən ibarət fiziki fəaliyyətləri artırmaqdır. Bu layihənin nəticəsi, gələcəkdə hər yerdə istifadə ediləcək real istehsal məhsuluna çevrilə biləcək çox faydalı bir IOT cihazıdır! Zəhmət olmasa fikirlərinizi bizə bildirin:)

Başlamazdan əvvəl əlinizdə olduğundan əmin olun:

* NodeMCU cihazı.

* 1 piezoelektrik sensor.

* MPU6050 sensoru

* Bir böyük matris.

* Elastik ip.

* Firebase hesabı.

İsteğe bağlı:

* Birdən çox piezoelektrik sensor

* multipleksor

Addım 1: MPU6050 -nin qurulması və kalibrlənməsi

Image
Image

"loading =" tənbəl"

Piezonun qurulması
Piezonun qurulması

Təlimatlar:

  • Piezoyu 1M rezistorla bağlayın (əlavə olunmuş şəklə baxın).
  • Əlavə edilmiş eskizi yükləyin.
  • Elastik ipdən istifadə edərək cihazı bir ayağa bağlayın.
  • "Serial plotter" i açın.
  • Bu addıma əlavə olunan videoya baxın.

Addım 3: Sensorları Arduinoya inteqrasiya edin

Image
Image
Sensorların Arduinoya inteqrasiyası
Sensorların Arduinoya inteqrasiyası

Sensorların necə kalibr ediləcəyini gördük, indi hər iki sensoru NodeMCU -ya birləşdirəcəyik!

  • Hər iki sensoru cihaza qoşun, 1+2 addımlarında olduğu kimi eyni pinləri istifadə edin.
  • Əlavə edilmiş eskizi yükləyin.
  • Cihazı 2 sensoru olan bir ayağa bağlayın.
  • "Serial plotter" i açın.
  • Əlavə edilmiş videoya baxın.

Addım 4: Məlumatı Buluda Göndərin

Məlumat Buluda Göndərilir!
Məlumat Buluda Göndərilir!
Məlumat Buluda Göndərilir!
Məlumat Buluda Göndərilir!
Məlumat Buluda Göndərilir!
Məlumat Buluda Göndərilir!

Bu addımda cihazımızı buluda bağlayacağıq və inanılmaz cədvəlləri görmək üçün məlumat göndərəcəyik!

MQTT protokolundan istifadə edəcəyik və məlumatları "Adafruit" adlı pulsuz bir serverə göndərəcəyik.

Qeyd: Adafruit hər saniyədə bir neçə dəfə məlumat göndərilməsini dəstəkləmir, daha yavaş sürətlə işləyir, buna görə də məlumat nöqtələrinin özlərini deyil, məlumat nöqtələrimizin ortalamasını göndərəcəyik. Aşağıdakı dəyişikliklərdən istifadə edərək 2 sensorumuzdakı məlumatları orta məlumatlara çevirəcəyik:

* Addım aşkarlama müddəti dəqiqədə addımlara çevriləcək. Hər addım müddəti (millis () - step_timestamp) ilə tapıla bilər və ortalamalar əvvəllər gördüyümüz kimi bir filtrdən istifadə etməklə edilə bilər: val = val * 0.7 + new_val * 0.3.

* Adım gücü orta addım gücünə çevriləcək. Hər bir addım üçün "max" istifadə etmək üçün eyni metodologiyadan istifadə edəcəyik, ancaq filtr ortalaması = orta * 0,6 + yeni_val * 0,4 olan filtrdən istifadə edərək ortalamanı etmək üçün bir filtrdən istifadə edəcəyik.

Təlimatlar:

  • İo.adafruit.com ünvanından Adafruit veb saytına daxil olun və hesabınızın olduğundan əmin olun.
  • Yeni bir tablosu yaradın, buna "Mənim addımlarım detektoru" adını verə bilərsiniz.
  • İdarə panelinin içərisində + düyməsini basın və "xətt qrafiki" ni seçin və "steps_per_min" adlı bir feed yaradın.
  • Göstərici panelinin içərisində + düyməsini basın və "xətt qrafiki" ni seçin və "average_step_power" adlı bir feed yaradın.
  • İndi hər bir sahə üçün 2 boş diaqram görməlisiniz.
  • Əlavə edilmiş eskizdən istifadə edin və aşağıdakı konfiqurasiyanı təyin edin:

USERNAME = Adafruit istifadəçi adınız.

KEY = Adafruit açarınız

WLAN_SSID = WIFI adı

WLAN_PASS = WIFI keçidi

mpuStepThreshold = 2 -ci addımdakı eşik

Sonra cihazı bir ayağa bağlaya bilərsiniz və eskiz serverə addımlar məlumatları göndərəcək!

Addım 5: Eyni anda 2 Cihazdan istifadə edin

Eyni anda 2 cihazdan istifadə
Eyni anda 2 cihazdan istifadə
Eyni anda 2 cihazdan istifadə
Eyni anda 2 cihazdan istifadə

Bu addımda, cihazla eyni vaxtda gəzən 2 nəfəri simulyasiya edəcəyik!

4 -cü addımda izah edildiyi kimi eyni məlumat nöqtələri olan 2 fərqli cihazdan istifadə edəcəyik.

Beləliklə, bu çox asandır, 3 sadə vəzifə var:

1) 2-ci cihazdan məlumatlar üçün əlavə lentlər yaradın, "_2" post-fix verməyi təklif edirik

2) hər iki kanaldan məlumat təqdim etmək üçün tablosundakı blokları dəyişdirin.

3) ikinci cihazın eskizindəki lentlərin adını dəyişdirin.

4) Nəticələrə baxın!

QEYD:

Adafruit çox sürətli gələn məlumatlara müqavimət göstərir, məlumatların serverə göndərilmə tezliyini tənzimləmək lazım ola bilər. Bunu eskizdə aşağıdakıları taparaq edin:

/ / Hər 5 saniyədə bir pulsuz istifadəçilər üçün Adafruit limitini aşmayın. // Premium və ya öz serverinizdən istifadə edirsinizsə, dəyişməkdən çekinmeyin. // Hər dəfə alternativ bir məlumat nöqtəsi göndərin. if (millis () - lastTimeDataSent> 5000) {

Addım 6: Təkmilləşdirmələr, Qeydlər və Gələcək Planlar

Əsas problem:

Layihədə əsas çətinlik NodeMCU -nu fiziki fəaliyyətdə sınamaq idi. Usb kabeli tez -tez ayrılır və sürətlə hərəkət etməyə çalışarkən sancaqları ayırmaq problemi yarana bilər. Çox vaxt əslində işləyən bir kod parçasını düzəldirdik və problem fiziki aləmdə idi.

Laptopu idmançının yanına yaxınlaşdıraraq və hər bir kodu bir anda yazaraq bu çətinliyi dəf etdik.

Başqa bir problem, fərqli komponentlərin hamar bir şəkildə qarşılıqlı əlaqədə olması idi:

  • Sürətləndirici ilə piezo: 3 -cü addımda təsvir olunduğu kimi, yaradıcı bir fikirlə.
  • Serveri olan sensorlar: 4 -cü addımda təsvir edildiyi kimi, dəyərləri daha yavaş bir sürətlə bir serverə göndərilə biləcək digər dəyərlərə çevirdik.

Sistemin məhdudiyyətləri:

  • İstifadədən əvvəl kalibrləmə lazımdır.
  • Fiziki fəaliyyətdə asanlıqla qırılmayan daha sərt bir məhsula çevrilməlidir.
  • Piezoelektrik sensoru çox dəqiq deyil.
  • Bir az wifi bağlantısı lazımdır. (Cib telefonu qaynar nöqtəsi ilə asanlıqla həll olunur)

Gələcək planlar

İndi tam işləyən bir ayaq izləmə cihazımız olduğuna görə edilə biləcək əlavə inkişaflar var!

Çoxlu pizzolar!

  • Piezosları ayağın müxtəlif sahələrinə bağlayın.
  • NodeMCU yalnız bir analog pin dəstəklədiyi üçün multiplexer istifadə edin.
  • Təsir sahələrini təsvir etmək üçün ayağın istilik xəritəsini göstərə bilər.
  • Yanlış duruş və bədən tarazlığı haqqında xəbərdarlıqlar yaratmaq üçün bu məlumatlardan istifadə edə bilər.

Bir çox cihaz!

  • Sizə eyni anda 2 cihazı necə bağlayacağınızı göstərdik, ancaq 22 futbolçuya 22 piezo bağlaya bilərsiniz!
  • Oyunçular haqqında bəzi maraqlı ölçüləri göstərmək üçün məlumatlar oyun zamanı ortaya çıxa bilər!

Qabaqcıl sensorlar

Piezo və akselerometrdən istifadə etdik, ancaq çıxışı zənginləşdirəcək və daha çox məlumat verən digər qurğular əlavə edə bilərsiniz:

  • Ayaq səslərini aşkar etmək üçün dəqiq lazerlər.
  • Ayaqla yer arasındakı məsafəni ölçün.
  • Fərqli oyunçular arasındakı məsafəni ölçün (birdən çox cihaz varsa)

Tövsiyə: