Բովանդակություն:
- Քայլ 1: Շղթան
- Քայլ 2. Ազդանշանի մշակման ծածկագիրը և սերվերային հաղորդակցությունները
- Քայլ 3: Սերվեր և տվյալների հաղորդակցություն
- Քայլ 4: Android հավելված
- Քայլ 5: Եզրակացություն
Video: IOT Heart Rate Monitor (ESP8266 և Android հավելված) ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Որպես իմ վերջին տարվա ծրագրի մի մաս, ես ուզում էի նախագծել մի սարք, որը կհետևեր ձեր սրտի աշխատանքը, կպահեր ձեր տվյալները սերվերում և ձեզ կտեղեկացներ ծանուցման միջոցով, երբ ձեր սրտի բաբախյունը աննորմալ էր: Այս նախագծի գաղափարը ծագեց, երբ ես փորձեցի կառուցել հարմարեցված ծրագիր, որը կտեղեկացնի օգտվողին, երբ նրանք սրտի խնդիր ունեն, բայց ես չկարողացա գտնել իրական ժամանակի տեղեկատվության օգտագործման եղանակը: Նախագիծը չորս հիմնական մաս ունի ներառյալ սրտի բաբախման չափման ֆիզիկական միացում, ESP8266 Wi-Fi մոդուլ ՝ ազդանշանի մշակման կոդով, ծածկագիրը պահելու սերվեր և Android ծրագիր ՝ սրտի բաբախյունը ցուցադրելու համար:
Ֆիզիկական շրջանի մասին մանրամասն տեսանյութ կարող եք տեսնել վերևում: Նախագծի ամբողջ ծածկագիրը կարելի է գտնել իմ Github- ում:
Քայլ 1: Շղթան
Սրտի բաբախյունը չափելու երկու հիմնական մեթոդ կա, բայց այս նախագծի համար ես որոշեցի օգտագործել ֆոտոպոլթիսմոգրաֆիա (PPG), որն օգտագործում է ինֆրակարմիր կամ կարմիր լույսի աղբյուր, որը բեկվում է մաշկի առաջին մի քանի շերտերի միջոցով: Լուսանկարչությունը օգտագործվում է լույսի ինտենսիվության փոփոխությունը չափելու համար (երբ արյունը հոսում է անոթի միջով): PPG ազդանշաններն աներևակայելի աղմկոտ են, այնպես որ ես օգտագործեցի ժապավենի փոխանցման զտիչ `պահանջվող հատուկ հաճախականությունները զտելու համար: Մարդու սիրտը բաբախում է 1 -ից 1.6 Հց հաճախականությամբ: Իմ օգտագործած օպերատորը lm324- ն էր, որն ուներ ինձ հասանելի բոլոր op-amps- երից լավագույն լարման անջատումը: Եթե դուք վերստեղծում եք այս նախագիծը, ապա ճշգրիտ op-amp- ը շատ ավելի լավ ընտրություն կլինի:
Օգտագործվեց ընդամենը երկուսը, քանի որ ESP8266- ի լարման առավելագույն թույլատրելիությունը 3.3 վ է, և ես չէի ուզում վնասել իմ տախտակը:
Հետևեք վերը նշված սխեմային և փորձեք այն ստիպել աշխատել հացի տախտակի վրա: Եթե տանը չունեք օսլիլոսկոպ, կարող եք ելքը միացնել Arduino- ին և գծել այն, բայց համոզվեք, որ լարումը ավելի բարձր չէ, քան arduino- ի կամ միկրոկոնտրոլերի հանդուրժողականությունը:
Շղթան փորձարկվեց հացի տախտակի վրա, և ելքի փոփոխություն նկատվեց, երբ մատը տեղադրվեց LED- ի և լուսանկարչական տրանզիստորի վրայով: Հետո որոշեցի միասին կպցնել տախտակը, որը տեսանելի չէր տեսանյութում:
Քայլ 2. Ազդանշանի մշակման ծածկագիրը և սերվերային հաղորդակցությունները
Ես որոշեցի օգտագործել Arduino IDE- ն ESP8266- ում, քանի որ այն շատ հեշտ է օգտագործել: Երբ ազդանշանը գծված էր, այն դեռ շատ աղմկոտ էր, ուստի որոշեցի այն մաքրել FIR շարժական միջին զտիչով `տասը նմուշի օրինակով: Ես դրա համար փոփոխեցի Arduino- ի օրինակելի ծրագիրը, որը կոչվում է «հարթեցում»: Ես մի փոքր փորձ արեցի, որպեսզի գտնեմ ազդանշանի հաճախականությունը չափելու միջոց: Իմպուլսները տարբեր երկարությամբ և ամպլիտուդով էին պայմանավորված սրտի չորս տարբեր տեսակի զարկերակների և PPG ազդանշանների բնութագրերով: Ես ընտրեցի հայտնի միջին արժեք, որը ազդանշանը միշտ հատում էր որպես յուրաքանչյուր զարկերակի հղման կետ: Ես օղակաձեւ բուֆեր օգտագործեցի որոշելու համար, թե երբ է ազդանշանի լանջը դրական կամ բացասական: Այս երկուսի համադրությունը թույլ տվեց ինձ հաշվարկել իմպուլսների միջև ընկած ժամանակահատվածը, երբ ազդանշանը դրական էր և հավասար էր որոշակի արժեքի:
Theրագրակազմը արտադրեց բավականին ոչ ճշգրիտ BPM, որն իրականում հնարավոր չէր օգտագործել: Լրացուցիչ կրկնությունների դեպքում ավելի լավ ծրագիր կարող էր մշակվել, բայց ժամանակի սղության պատճառով դա տարբերակ չէր: Կոդին կարող եք ծանոթանալ ստորև բերված հղումով:
ESP8266 Softwareրագրակազմ
Քայլ 3: Սերվեր և տվյալների հաղորդակցություն
Ես որոշեցի օգտագործել Firebase- ը ՝ տվյալները պահելու համար, քանի որ դա անվճար ծառայություն է և շատ հեշտ է օգտագործել բջջային հավելվածների հետ: ESP8266- ի հետ Firebase- ի պաշտոնական API չկա, բայց ես գտա, որ Arduino գրադարանը շատ լավ էր աշխատում:
Կա օրինակելի ծրագիր, որը կարելի է գտնել ESP8266WiFi.h գրադարանում, որը թույլ է տալիս SSID- ով և գաղտնաբառով միանալ երթուղիչին: Սա օգտագործվում էր տախտակը ինտերնետին միացնելու համար, որպեսզի տվյալները ուղարկվեին:
Չնայած տվյալները հեշտությամբ պահելը, դեռևս կան մի շարք խնդիրներ ՝ HTTP POST հարցման միջոցով push ծանուցումներ ուղարկելու հետ: Ես գտա մեկնաբանություն Github- ի վերաբերյալ, որն օգտագործում էր Google Cloud հաղորդագրությունների և ESP8266- ի HTTP գրադարանի միջոցով դա անելու ժառանգական մեթոդ: Այս մեթոդը կարելի է տեսնել իմ Github- ի ծածկագրում:
Firebase- ում ես ստեղծեցի նախագիծ և օգտագործեցի API- ն և գրանցման բանալիները ծրագրակազմում: Firebase ամպային հաղորդագրությունները օգտագործվել են հավելվածի հետ `օգտագործողին push ծանուցումներ ուղարկելու համար: Երբ կապերը փորձարկվեցին, տվյալները կարող էին դիտվել տվյալների բազայում, մինչ ESP8266- ը աշխատում էր:
Քայլ 4: Android հավելված
Android- ի շատ հիմնական ծրագիր է մշակվել երկու գործողությամբ: Առաջին գործողությունը գրանցեց օգտվողին կամ գրանցեց դրանք Firebase API- ի միջոցով: Ես ուսումնասիրեցի տվյալների թերթիկը և գտա տարբեր ձեռնարկներ, թե ինչպես օգտագործել Firebase- ը բջջային հավելվածով: Հիմնական գործունեությունը, որը օգտագործողի տվյալների օգտագործողին ցուցադրեց իրական ժամանակի իրադարձությունների ունկնդիր, այնպես որ օգտագործողի BPM- ի փոփոխությունների նկատելի ուշացում չկար: Հրել ծանուցումները կատարվել են Firebase ամպային հաղորդագրությունների միջոցով, որոնք նշվել էին նախկինում: Firebase- ի տվյալների թերթիկի վրա կան շատ օգտակար տեղեկություններ, թե ինչպես դա իրականացնել, և ծրագիրը կարող է փորձարկվել ՝ Firebase կայքում վահանակից ծանուցումներ ուղարկելու համար:
Գործունեության ամբողջ ծածկագիրը և ամպային հաղորդագրությունների փոխանցման մեթոդները կարելի է գտնել իմ Github պահեստում:
Քայլ 5: Եզրակացություն
Օգտագործողի BPM- ի չափման հետ կապված կար մի քանի հիմնական խնդիր: Արժեքները մեծապես տարբերվում էին և օգտագործելի չէին օգտագործողի առողջությունը որոշելու համար: Սա հանգեցրեց ազդանշանի մշակման կոդի, որն իրականացվել էր ESP8266- ում: Լրացուցիչ հետազոտություններից հետո ես պարզեցի, որ սիրտը ունի չորս տարբեր իմպուլսներ `տարբեր ժամանակահատվածներով, ուստի զարմանալի չէ, որ ծրագրակազմը ճշգրիտ չէ: Դրա դեմ պայքարի միջոց կլինի միջինը չորս զարկերակի զանգվածը վերցնելը և հաշվարկել սրտի ժամանակահատվածը այդ չորս իմպուլսի նկատմամբ:
Մնացած համակարգը ֆունկցիոնալ էր, բայց սա շատ փորձարարական սարք է, որը ես ուզում էի կառուցել ՝ տեսնելու, թե արդյոք օբյեկտը հնարավոր է: Pushառանգական ծածկագիրը, որն օգտագործվել է push ծանուցումներ ուղարկելու համար, շուտով անօգտագործելի կլինի, այնպես որ, եթե դա կարդում եք 2018 -ի վերջին կամ ուշ, այլ մեթոդ է պահանջվում: Այս խնդիրը միայն ESP- ի դեպքում է, չնայած այնպես որ, եթե ցանկանայիք դա իրականացնել WiFi- ով աշխատող Arduino- ով, խնդիր չէր լինի:
Եթե ունեք որևէ հարց կամ խնդիր, խնդրում ենք ազատ զգալ ինձ ուղարկել Instructables- ին:
Խորհուրդ ենք տալիս:
Թվային ժամացույց LED Dot Matrix - ESP Matrix Android հավելված ՝ 14 քայլ
Թվային ժամացույց LED Dot Matrix - ESP Matrix Android հավելված. Այս հոդվածը հպարտորեն հովանավորվում է PCBWAY- ի կողմից: Փորձեք այն ինքներդ ձեզ համար և ստացեք 10 հատ PCB ընդամենը $ 5 -ով PCBWAY- ում ՝ շատ մեծ որակով: Շնորհակալություն PCBWAY: ESP Matrix Board- ը, որը ես պատրաստում եմ
Կատարեք DIY Sonoff Smart Switch Օգտագործեք Android հավելված ՝ 11 քայլ
Ստեղծեք DIY Sonoff խելացի անջատիչ Օգտագործեք Android հավելվածը. Այդ գծի ամենաճկուն և էժան սարքերից են Sonoff Basic- ը և Sonoff mini- ն: Սրանք Wi-Fi միացված անջատիչներ են ՝ հիմնված հիանալի չիպի ՝ ESP8266/E
Mini Drawing Bot - Live Android հավելված - Trignomentry: 18 քայլ (նկարներով)
Mini Drawing Bot-Live Android App-Trignomentry. Շնորհակալություն Աստծուն և ձեզ բոլորիդ `իմ նախագիծը Baby-MIT- Cheetah-Robot- ը շահեց առաջին մրցանակը Make it Move մրցույթում: Ես շատ ուրախ եմ, քանի որ շատ ընկերներ շատ հարցեր են տալիս զրույցի և հաղորդագրությունների մեջ: Կարևոր հարցերից մեկն այն էր, թե ինչպես
DIY Heart Rate Monitor (անտառահատ) ՝ 4 քայլ
DIY Heart Rate Monitor (անտառահատ). Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես է առևտրային խելացի ժամացույցը չափում և վերահսկում ձեր սրտի զարկերի հաճախականությունը, իսկ այնուհետև ձեզ ցույց կտամ, թե ինչպես ստեղծել DIY միացում, որը կարող է հիմնականում նույնը անել հավելումով, որ կարող է նաև պահել սրտի զարկերի տվյալները
Arduino Heart Rate Monitor: 5 քայլ
Arduino Heart Rate Monitor. Բարև բոլորին, ես կառուցել եմ այս ձեռքի Arduino վերահսկվող սրտի զարկերի մոնիտորը