Orodha ya maudhui:
- Hatua ya 1: Mzunguko
- Hatua ya 2: Nambari ya Usindikaji wa Ishara na Mawasiliano ya Seva
- Hatua ya 3: Mawasiliano ya Seva na Takwimu
- Hatua ya 4: Programu ya Android
- Hatua ya 5: Hitimisho
Video: Ufuatiliaji wa Kiwango cha Moyo cha IOT (ESP8266 na Programu ya Android): Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Kama sehemu ya mradi wangu wa mwaka wa mwisho nilitaka kubuni kifaa ambacho kitafuatilia mapigo ya moyo wako, kuhifadhi data yako kwenye seva na kukuarifu kupitia arifa wakati kiwango cha moyo wako kilikuwa cha kawaida. Wazo nyuma ya mradi huu lilikuja wakati nilijaribu kuunda programu inayofaa ambayo inamwarifu mtumiaji anapokuwa na shida ya moyo lakini sikuweza kujua njia ya kutumia habari ya wakati halisi. Mradi huo una sehemu kuu nne pamoja na mzunguko wa mwili wa kupima mapigo ya moyo, moduli ya Wi-Fi ya ESP8266 na nambari ya kusindika ishara, seva ya kuhifadhi nambari na programu ya Android ya kuonyesha kiwango cha moyo.
Video inayoelezea mzunguko wa mwili inaweza kuonekana hapo juu. Nambari yote ya mradi inaweza kupatikana kwenye Github yangu.
Hatua ya 1: Mzunguko
Kuna njia mbili kuu za kupima mapigo ya moyo lakini kwa mradi huu niliamua kutumia photoplethysmography (PPG) ambayo hutumia infrared au chanzo nyekundu cha taa ambacho kimechorwa kupitia matabaka machache ya kwanza ya ngozi. Sensor ya picha hutumiwa kupima mabadiliko katika kiwango cha mwanga (wakati damu inapita kupitia chombo). Ishara za PPG zina kelele sana kwa hivyo nilitumia kichujio cha kupitisha bendi kuchuja masafa maalum yanayotakiwa. Moyo wa mwanadamu hupiga kati ya 1 na 1.6 Hz frequency. Op-amp niliyotumia ilikuwa lm324 ambayo ilikuwa na upunguzaji bora wa voltage ya op-amps zote ambazo zilinipata. Ikiwa unarudia mradi huu basi op-amp ya usahihi itakuwa chaguo bora zaidi.
Faida ya mbili tu ilitumika kwa sababu uvumilivu wa kiwango cha juu cha ESP8266 ni 3.3v na sikutaka kuharibu bodi yangu!
Fuata mzunguko hapo juu na ujaribu kuifanya ifanye kazi kwenye bodi ya mkate. Ikiwa huna oscilloscope nyumbani unaweza kuziba pato kwenye Arduino na kuipanga lakini hakikisha kuwa voltage sio kubwa kuliko uvumilivu wa arduino au microcontroller.
Mzunguko ulijaribiwa kwenye ubao wa mkate na mabadiliko katika pato yalionekana wakati kidole kilipowekwa kwenye LED na picha transistor. Kisha nikaamua kuunganisha bodi pamoja ambayo haikuonyeshwa kwenye video.
Hatua ya 2: Nambari ya Usindikaji wa Ishara na Mawasiliano ya Seva
Niliamua kutumia Arduino IDE kwenye ESP8266 kwa sababu ni rahisi kutumia. Wakati ishara ilipangwa bado ilikuwa na kelele sana kwa hivyo niliamua kuisafisha na kichujio cha wastani cha kusonga kwa FIR na nambari ya sampuli ya kumi. Nilibadilisha mfano mpango wa Arduino unaoitwa "kulainisha" kufanya hivi. Nilijaribu kidogo ili kupata njia ya kupima masafa ya ishara. Kunde zilikuwa za urefu na urefu tofauti kutokana na moyo kuwa na aina nne za kunde na sifa za ishara za PPG. Nilichagua thamani ya kati inayojulikana ambayo ishara kila wakati ilivuka kama hatua ya kumbukumbu kwa kila kunde. Nilitumia bafa ya pete kuamua wakati mteremko wa ishara ulikuwa mzuri au hasi. Mchanganyiko wa hizi mbili ziliniruhusu kuhesabu kipindi kati ya kunde wakati ishara ilikuwa nzuri na ilikuwa sawa na thamani maalum.
Programu hiyo ilizalisha BPM isiyo sahihi ambayo haiwezi kutumika. Pamoja na maagizo ya ziada mpango bora unaweza kutengenezwa lakini kwa sababu ya vikwazo vya wakati hii haikuwa chaguo. Nambari inaweza kupatikana kwenye kiunga hapa chini.
Programu ya ESP8266
Hatua ya 3: Mawasiliano ya Seva na Takwimu
Niliamua kutumia Firebase kuhifadhi data kwani ni huduma ya bure na ni rahisi kutumia na programu za rununu. Hakuna API rasmi ya Firebase na ESP8266 lakini nimeona maktaba ya Arduino ilifanya kazi vizuri sana.
Kuna mpango wa mfano ambao unaweza kupatikana kwenye maktaba ya ESP8266WiFi.h ambayo hukuruhusu kuungana na router na SSID na Nenosiri. Hii ilitumika kuunganisha bodi kwenye mtandao ili data iweze kutumwa.
Ingawa kuhifadhi data kulifanywa kwa urahisi bado kuna maswala kadhaa na kutuma arifa za kushinikiza kupitia ombi la HTTP POST. Nilipata maoni juu ya Github ambayo ilitumia njia ya urithi ya kufanya hivi kupitia ujumbe wa wingu wa Google na maktaba ya HTTP ya ESP8266. Njia hii inaweza kuonekana kwenye nambari kwenye Github yangu.
Kwenye Firebase niliunda mradi na nikatumia API na funguo za usajili kwenye programu. Ujumbe wa wingu la moto ulitumiwa na programu ili kutuma arifa za kushinikiza kwa mtumiaji. Wakati mawasiliano yalipimwa data inaweza kuonekana kwenye hifadhidata wakati ESP8266 ilikuwa ikiendesha.
Hatua ya 4: Programu ya Android
Programu ya msingi sana ya Android iliundwa na shughuli mbili. Shughuli ya kwanza imesaini mtumiaji au kuwasajili kwa kutumia Firebase API. Nilichunguza data na kupata mafunzo kadhaa juu ya jinsi ya kutumia Firebase na programu ya rununu. Shughuli kuu iliyoonyesha mtumiaji wa data ya mtumiaji msikilizaji wa hafla ya kweli kwa hivyo hakukuwa na ucheleweshaji dhahiri wa mabadiliko kwa BPM ya mtumiaji. Arifa za kushinikiza zilifanywa kwa kutumia ujumbe wa wingu wa Firebase ambao ulitajwa hapo awali. Kuna habari nyingi muhimu kwenye data ya Firebase juu ya jinsi ya kutekeleza hii na programu inaweza kujaribiwa kutuma arifa kutoka kwa dashibodi kwenye wavuti ya Firebase.
Nambari yote ya shughuli na njia za kutuma ujumbe wa wingu zinaweza kupatikana katika Jalada langu la Github.
Hatua ya 5: Hitimisho
Kulikuwa na maswala kadhaa makubwa kwa kupima BPM ya mtumiaji. Maadili yalitofautiana sana na hayakutumika kuamua afya ya mtumiaji. Hii ilichemka kwa nambari ya usindikaji wa ishara ambayo ilitekelezwa kwenye ESP8266. Baada ya utafiti wa ziada niligundua kuwa moyo una kunde nne tofauti na vipindi tofauti kwa hivyo haishangazi kwamba programu hiyo haikuwa sahihi. Njia ya kupambana na hii itakuwa kuchukua wastani wa kunde nne kwa safu na kuhesabu kipindi cha moyo juu ya zile kunde nne.
Mfumo uliobaki ulikuwa ukifanya kazi lakini hiki ni kifaa cha majaribio sana ambacho nilitaka kujenga ili kuona ikiwa kitu hicho kinawezekana. Nambari ya urithi ambayo ilitumiwa kutuma arifa za kushinikiza hivi karibuni haitatumika kwa hivyo ikiwa unasoma hii mwishoni mwa 2018 au marehemu njia tofauti itahitajika. Suala hili linatokea tu na ESP ingawa hivyo ikiwa ungetaka kutekeleza hii kwenye Arduino yenye uwezo wa WiFi haitakuwa shida.
Ikiwa una maswali yoyote au maswala tafadhali jisikie huru kunitumia ujumbe kwenye Maagizo.
Ilipendekeza:
Sensorer ya Mapigo ya Moyo Kutumia Arduino (Mfuatiliaji wa Kiwango cha Moyo): Hatua 3
Sensor ya Mapigo ya Moyo Kutumia Arduino (Monitor Rate Rate): Sensor ya Mapigo ya Moyo ni kifaa cha elektroniki ambacho hutumiwa kupima kiwango cha moyo yaani kasi ya mapigo ya moyo. Ufuatiliaji wa joto la mwili, mapigo ya moyo na shinikizo la damu ni vitu vya msingi ambavyo tunafanya ili kutuweka sawa. Kiwango cha Moyo kinaweza kuwa bora
Ufuatiliaji wa Kiwango cha Moyo wa DIY (logger): 4 Hatua
DIY Monitor Rate Rate (logger): Katika mradi huu nitakuonyesha jinsi smartwatch ya kibiashara inavyopima na kufuatilia mapigo ya moyo wako na baadaye nitakuonyesha jinsi ya kuunda mzunguko wa DIY ambao unaweza kufanya sawa na kuongeza ambayo inaweza pia kuhifadhi data ya mapigo ya moyo
Zwift Ambilight na Kiwango cha Kiwango cha Moyo Taa ya Smartbulb: Hatua 4
Zwift Ambilight na Kiwango cha Kiwango cha Moyo cha Taa ya Smartbulb: Hapa tunaunda uboreshaji mdogo wa BIG kwa Zwift.Una mwisho mwishoni mwa nuru ya kujifurahisha zaidi gizani.Na una taa (Yeelight) kwa maeneo ya mapigo ya moyo wako. Ninatumia hapa 2 Raspberry PI, ikiwa unataka tu Mwangaza unahitaji tu PI 1 ikiwa
Upimaji wa Kiwango cha Moyo Wako Uko Ncha ya Kidole Chako: Njia ya Photoplethysmography ya Kuamua Kiwango cha Moyo: Hatua 7
Upimaji wa Kiwango cha Moyo Wako Uko Kwenye Kidokezo cha Kidole Chako: Njia ya Photoplethysmography ya Kuamua Kiwango cha Moyo: Photoplethysmograph (PPG) ni mbinu rahisi na ya bei ya chini ambayo hutumiwa mara nyingi kugundua mabadiliko ya ujazo wa damu kwenye kitanda cha tishu ndogo. Inatumiwa sana bila uvamizi kufanya vipimo kwenye uso wa ngozi, kawaida
Ufuatiliaji wa Kiwango cha Moyo wa Arduino: Hatua 5
Mfuatiliaji wa Kiwango cha Moyo wa Arduino: Halo kila mtu, nimejenga kifaa hiki cha mkono cha Arduino kinachodhibitiwa kwa kiwango cha moyo