Mundarija:
- 1 -qadam: O'chirish davri
- 2 -qadam: Signalni qayta ishlash kodi va server aloqalari
- 3 -qadam: Server va ma'lumotlar aloqasi
- 4 -qadam: Android ilovasi
- 5 -qadam: Xulosa
Video: IOT yurak urish tezligi monitor (ESP8266 va Android ilovasi): 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Yakuniy yilgi loyiham doirasida men sizning yurak urish tezligingizni kuzatadigan, ma'lumotlarni serverda saqlaydigan va yurak urish tezligi g'ayritabiiy bo'lganda sizni xabarnoma orqali xabardor qiladigan qurilmani yaratmoqchi edim. Loyihaning g'oyasi men foydalanuvchiga yurak muammosi haqida xabar beradigan fit-bitli dastur yaratmoqchi bo'lganimda paydo bo'ldi, lekin men real vaqtda ma'lumotni qanday ishlatishni aniqlay olmadim. Loyihaning to'rtta asosiy qismi bor shu jumladan yurak urishini o'lchash uchun fizik zanjir, signalni qayta ishlash kodli ESP8266 Wi-Fi moduli, kodni saqlash serveri va yurak urish tezligini aks ettiruvchi Android ilovasi.
Jismoniy zanjir haqida batafsil videoni yuqorida ko'rish mumkin. Loyihaning barcha kodlarini mening Github -da topish mumkin.
1 -qadam: O'chirish davri
Yurak urishini o'lchashning ikkita asosiy usuli bor, lekin men bu loyihada terining dastlabki bir necha qatlamlari orqali singan infraqizil yoki qizil yorug'lik manbasini ishlatadigan fotopletismografiya (PPG) dan foydalanishga qaror qildim. Fotosurat sensori yorug'lik intensivligining o'zgarishini o'lchash uchun ishlatiladi (qon tomir orqali o'tayotganda). PPG signallari juda shovqinli, shuning uchun men kerakli chastotalarni filtrlash uchun tarmoqli o'tish filtridan foydalandim. Inson yuragi 1 dan 1,6 Gts gacha tezlikda uradi. Men ishlatgan op-amp lm324 edi, u men uchun mavjud bo'lgan barcha op-amperlarning eng yaxshi kuchlanishiga ega edi. Agar siz ushbu loyihani qayta yaratayotgan bo'lsangiz, unda aniq op-ampni tanlash yaxshiroq bo'lar edi.
ESP8266 -dagi maksimal kuchlanish tolerantligi 3,3v bo'lgani uchun men faqat ikkita yutuqdan foydalanardim va men taxtamga zarar etkazishni xohlamadim!
Yuqoridagi sxemaga rioya qiling va uni non taxtasida ishlashga harakat qiling. Agar uyingizda osiloskop bo'lmasa, siz Arduino -ga ulanishingiz va uni chizishingiz mumkin, lekin kuchlanish arduino yoki mikrokontroller toleransidan yuqori emasligiga ishonch hosil qiling.
Sxema non taxtasida sinovdan o'tkazildi va LED va foto tranzistor bo'ylab barmoq qo'yilganda chiqishning o'zgarishi kuzatildi. Keyin men videoda ko'rsatilmagan taxtani birga lehimlashga qaror qildim.
2 -qadam: Signalni qayta ishlash kodi va server aloqalari
Men Arduino IDE -ni ESP8266 -da ishlatishga qaror qildim, chunki uni ishlatish juda oson. Signal tuzilganda, u hali ham shovqinli edi, shuning uchun men uni o'nta namunali FIR harakatlanuvchi o'rtacha filtri bilan tozalashga qaror qildim. Men "silliqlash" deb nomlangan Arduino dasturining misolini o'zgartirdim, signal chastotasini o'lchash usulini topish uchun biroz tajriba o'tkazdim. Yurakning to'rt xil puls turiga ega bo'lishi va PPG signallarining xarakteristikasi tufayli pulslar har xil uzunlik va amplituda edi. Men ma'lum bir o'rtacha qiymatni tanladim, bu signal har bir puls uchun har doim tayanch nuqtasi sifatida o'tadi. Signalning qiyaligi qachon ijobiy yoki salbiy ekanligini aniqlash uchun halqa buferidan foydalanardim. Bu ikkalasining kombinatsiyasi menga signal ijobiy bo'lgan va ma'lum bir qiymatga teng bo'lgan pulslar orasidagi davrni hisoblash imkonini berdi.
Dastur juda aniq bo'lmagan BPM ishlab chiqardi, uni aslida ishlatib bo'lmaydi. Qo'shimcha yinelemelerle yaxshi dastur ishlab chiqish mumkin edi, lekin vaqt cheklanganligi uchun bu variant emas edi. Kodni quyidagi havolada topish mumkin.
ESP8266 uchun dasturiy ta'minot
3 -qadam: Server va ma'lumotlar aloqasi
Men ma'lumotni saqlash uchun Firebase -dan foydalanishga qaror qildim, chunki bu bepul xizmat va uni mobil ilovalarda ishlatish juda oson. ESP8266 bilan Firebase uchun rasmiy API yo'q, lekin men Arduino kutubxonasi juda yaxshi ishlaganini topdim.
ESP8266WiFi.h kutubxonasida SSID va parol bilan yo'riqchiga ulanish imkonini beruvchi dastur mavjud. Bu ma'lumotni yuborish uchun taxtani Internetga ulash uchun ishlatilgan.
Ma'lumotni saqlash oson bajarilgan bo'lsa -da, HTTP POST so'rovi orqali push -bildirishnomalarni yuborishda hali ham bir qancha muammolar mavjud. Men Google bulutli xabarlar va ESP8266 uchun HTTP kutubxonasi orqali eski usulni ishlatgan Github -da izoh topdim. Bu usulni mening Github kodimdan ko'rish mumkin.
Firebase -da men loyiha yaratdim va dasturiy ta'minotdagi API va ro'yxatdan o'tish kalitlarini ishlatdim. Firebase bulutli xabarlar ilovasi foydalanuvchiga push -bildirishnomalarni yuborish uchun ishlatilgan. Aloqa tekshirilganda, ma'lumotlar ESP8266 ishlayotganda ma'lumotlar bazasida ko'rish mumkin edi.
4 -qadam: Android ilovasi
Android -ning juda oddiy ilovasi ikkita ish bilan yaratilgan. Birinchi harakat foydalanuvchini Firebase API yordamida imzoladi yoki ro'yxatdan o'tkazdi. Ma'lumotlar varag'ini o'rganib chiqdim va Firebase -ni mobil ilova bilan qanday ishlatishni o'rgatdim. Foydalanuvchi ma'lumotlarini real vaqt rejimida tinglovchini ko'rsatadigan asosiy faoliyat, shuning uchun foydalanuvchining BPM o'zgarishida sezilarli kechikish bo'lmagan. Push xabarnomalari yuqorida aytib o'tilgan Firebase bulutli xabarlar yordamida amalga oshirildi. Buni qanday amalga oshirish kerakligi haqida Firebase ma'lumotlar jadvalida juda ko'p foydali ma'lumotlar mavjud va ilovani Firebase veb -saytidagi boshqaruv panelidan xabarlar yuborish orqali sinab ko'rish mumkin.
Faoliyat uchun barcha kodlar va bulutli xabar almashish usullarini mening Github omboridan topishingiz mumkin.
5 -qadam: Xulosa
Foydalanuvchining BPM o'lchash bilan bog'liq ba'zi katta muammolar bor edi. Qiymatlar juda xilma -xil bo'lib, foydalanuvchining sog'lig'ini aniqlash uchun ishlatilmadi. Bu ESP8266 -da o'rnatilgan signalni qayta ishlash kodiga tushdi. Qo'shimcha tadqiqotlardan so'ng, men bilardimki, yurakda turli davrli to'rt xil puls bor, shuning uchun dasturiy ta'minot noto'g'ri ekanligi ajablanarli emas. Bunga qarshi kurashish usuli - o'rtacha to'rtta pulsni massivdan olish va yurakning bu to'rt pulsdagi davrini hisoblash.
Qolganlari funktsional edi, lekin bu ob'ektning mumkin yoki yo'qligini bilish uchun men yaratmoqchi bo'lgan juda eksperimental qurilma. Push -bildirishnomalarni yuborish uchun ishlatilgan eski kod tez orada yaroqsiz bo'lib qoladi, shuning uchun agar siz buni 2018 yil oxirida yoki kech o'qigan bo'lsangiz, boshqa usul kerak bo'ladi. Bu muammo faqat ESP bilan sodir bo'ladi, lekin agar siz buni WiFi -ga ega Arduino -da amalga oshirmoqchi bo'lsangiz, muammo bo'lmaydi.
Agar sizda biron bir savol yoki muammo bo'lsa, iltimos, Instructables -da menga xabar yuboring.
Tavsiya:
Arduino yordamida yurak urish sensori (yurak urish tezligi monitor): 3 qadam
Arduino yordamida yurak urishi sensori (yurak urish tezligi o'lchagichi): yurak urish sensori - bu yurak urish tezligini, ya'ni yurak urish tezligini o'lchash uchun ishlatiladigan elektron qurilma. Tana harorati, yurak urish tezligi va qon bosimini kuzatish - bizni sog'lom saqlash uchun qiladigan asosiy ishimiz. Yurak urishi tez bo'lishi mumkin
DIY yurak urish tezligi monitor (logger): 4 qadam
DIY yurak urish tezligi o'lchagichi (logger): Ushbu loyihada men sizga tijorat aqlli soati sizning yurak urish tezligingizni qanday o'lchashini va kuzatib borishini ko'rsataman, shundan so'ng men sizga qanday qilib DIY sxemasini yaratish kerakligini ko'rsataman, u ham xuddi shunday qila oladi yurak urish tezligi ma'lumotlarini saqlash
Arduino yurak urish tezligi monitor: 5 qadam
Arduino yurak urish tezligi monitori: Hammaga salom, men qo'lda ishlaydigan Arduino yurak urish tezligi monitorini qurdim
Yurak urish tezligi monitor AD8232, Arduino, ishlov berish: 4 qadam
AD8232 yurak urish tezligi monitori, Arduino, ishlov berish: AD8232 analog qurilmalari - bu milliVolt darajadagi EKG (ElectroCardioGram) signallarini olish uchun mo'ljallangan, analog analog. AD8232 -ni ulash va natijada paydo bo'lgan EKG signalini osiloskopda ko'rish oddiy ish bo'lsa -da
EKG va yurak urish tezligi monitor: 6 qadam
EKG va yurak urish tezligi monitori: EKG deb ham ataladigan elektrokardiogramma - bu odamning yurakning elektr faolligini aniqlaydigan va qayd etadigan test. U yurak urish tezligini, yurakning har bir qismidan o'tadigan elektr impulslarining kuchini va vaqtini aniqlay oladi, bu esa