Мазмуну:

IOT Heart Rate Monitor (ESP8266 жана Android App): 5 кадам
IOT Heart Rate Monitor (ESP8266 жана Android App): 5 кадам

Video: IOT Heart Rate Monitor (ESP8266 жана Android App): 5 кадам

Video: IOT Heart Rate Monitor (ESP8266 жана Android App): 5 кадам
Video: Удаленно контролировать энергопотребление дома | ПЗЭМ-004Т | Облако Интернета вещей RemoteXY 2024, Ноябрь
Anonim
Image
Image

Акыркы жылдык долбоорумдун бир бөлүгү катары мен сиздин жүрөктүн кагышын көзөмөлдөгөн, маалыматыңызды серверде сактаган жана жүрөгүңүздүн согушу нормалдуу болбогондо сизге билдирүү аркылуу билдирүүчү түзүлүштү жасоону кааладым. Бул долбоордун артында идея мен колдонуучуга жүрөк оорусуна кабылганда, бирок мен реалдуу убакытта маалыматты колдонуунун жолун таба албаган fit-bit тиркемесин түзүүгө аракет кылганымда келди. Долбоор төрт негизги бөлүктөн турат анын ичинде жүрөктүн согуусун өлчөө үчүн физикалык схема, сигналды иштетүү коду бар ESP8266 Wi-Fi модулу, кодду сактоо үчүн сервер жана жүрөктүн кагышын көрсөтүү үчүн Android колдонмосу.

Физикалык схеманы чагылдырган видеону жогоруда көрүүгө болот. Долбоордун бардык кодун менин Githubдан тапса болот.

1 -кадам: Circuit

Circuit
Circuit

Жүрөктүн согуусун өлчөөнүн эки негизги ыкмасы бар, бирок бул долбоор үчүн мен теринин алгачкы бир нече катмарлары аркылуу сынган инфракызыл же кызыл жарык булагын колдонгон фотоплетизмографияны (PPG) колдонууну чечтим. Фото сенсор жарыктын интенсивдүүлүгүнүн өзгөрүшүн өлчөө үчүн колдонулат (кан идиш аркылуу кан агып жатканда). PPG сигналдары абдан ызы -чуу болуп саналат, ошондуктан мен керектүү конкреттүү жыштыктарды чыпкалоо үчүн диапазондуу чыпканы колдондум. Адамдын жүрөгү 1-1,6 Гц жыштыкта согот. Мен колдонгон оп-амп lm324 болчу, ал мага жеткиликтүү болгон бардык оп-амперлердин эң жакшы чыңалуусуна ээ болчу. Эгерде сиз бул долбоорду кайра жаратып жатсаңыз, анда тактык оп-амп бир кыйла жакшы тандоо болмок.

ESP8266 боюнча максималдуу чыңалуу толеранттуулугу 3.3v болгондуктан, экөөнүн гана пайдасы колдонулду, мен тактайыма зыян келтиргим келген жок!

Жогорудагы схеманы ээрчип, аны нан тактасында иштетүүгө аракет кылыңыз. Эгерде сизде үйдө осциллограф жок болсо, анда сиз чыгууну Arduinoго туташтырып, аны пландаштырсаңыз болот, бирок чыңалуу arduino же микроконтроллердин толеранттуулугунан жогору эмес экенин текшериңиз.

Схема нан тактасында сыналган жана LED жана фото транзисторго манжа салынганда чыгуунун өзгөрүшү байкалган. Анан видеодо көрсөтүлбөгөн тактайды чогуу ширетүүнү чечтим.

2 -кадам: Сигналды иштетүү коду жана Server Communications

Image
Image
Сигналды иштетүү коду жана Server Communications
Сигналды иштетүү коду жана Server Communications

Мен Arduino IDEди ESP8266да колдонууну чечтим, анткени аны колдонуу оңой. Сигнал пландалганда ал дагы эле абдан ызы-чуу болгон, ошондуктан мен аны он үлгүдөгү FIR жылуучу орточо чыпкасы менен тазалоону чечтим. Мен бул үчүн "тегиздөө" деп аталган Arduino программасынын мисалын өзгөрттүм. Сигналдын жыштыгын өлчөө жолун табуу үчүн бир аз эксперимент кылдым. Импульстар жүрөктүн төрт түрдүү импульсуна жана PPG сигналдарынын өзгөчөлүктөрүнө байланыштуу ар кандай узундукта жана амплитудада болушкан. Мен белги ар бир импульс үчүн таяныч чекит катары өткөн орточо маанини тандадым. Сигналдын эңкейиши оң же терс болгондо аныктоо үчүн шакек буферин колдондум. Бул экөөнүн айкалышы мага сигнал оң болгондо жана белгилүү бир мааниге барабар болгондо импульс ортосундагы мезгилди эсептөөгө мүмкүндүк берди.

Программалык камсыздоо иш жүзүндө колдонууга мүмкүн болбогон так эмес BPM чыгарды. Кошумча кайталоолор менен жакшыраак программа иштелип чыгышы мүмкүн, бирок убакыттын тардыгына байланыштуу бул мүмкүнчүлүк болгон эмес. Кодду төмөнкү шилтемеден тапса болот.

Программа ESP8266

3 -кадам: Сервер жана маалымат байланыштары

Сервер жана маалымат байланыштары
Сервер жана маалымат байланыштары

Мен маалыматтарды сактоо үчүн Firebase колдонууну чечтим, анткени бул бекер кызмат жана мобилдик тиркемелер менен колдонуу абдан оңой. ESP8266 менен Firebase үчүн расмий API жок, бирок Arduino китепканасы абдан жакшы иштегенин байкадым.

ESP8266WiFi.h китепканасынан SSID жана Сырсөз менен роутерге туташууга мүмкүнчүлүк берген мисал программасы бар. Бул тактанын интернетке туташуусу үчүн колдонулган, андыктан маалыматтарды жөнөтүүгө болот.

Маалыматтарды сактоо оңой эле жасалганына карабастан, HTTP POST сурамы аркылуу push эскертмелерин жөнөтүү менен дагы эле бир топ көйгөйлөр бар. Мен Google булут кабарлашуу жана ESP8266 үчүн HTTP китепканасы аркылуу мурунку ыкманы колдонгон Github боюнча комментарий таптым. Бул ыкманы менин Githubдагы коддон көрүүгө болот.

Firebaseде мен долбоор түздүм жана программалык камсыздоонун API жана каттоо ачкычтарын колдондум. Firebase булут кабарлашуусу колдонуучуга push эскертмелерин жөнөтүү үчүн колдонулган. Байланыштар текшерилгенде, маалыматтар ESP8266 иштеп жатканда маалымат базасынан көрүнүшү мүмкүн.

4 -кадам: Android колдонмосу

Android колдонмосу
Android колдонмосу

Негизги Android колдонмосу эки иш менен иштелип чыккан. Биринчи аракет колдонуучуга Firebase API аркылуу кол койгон же катталган. Мен маалымат барагын иликтеп көрдүм жана Firebaseди мобилдик тиркеме менен кантип колдонуу боюнча ар кандай окуу куралдарын таптым. Колдонуучунун маалымат колдонуучусун реалдуу убакытта окуяны угуучуну көрсөткөн негизги иш -аракет, ошондуктан колдонуучунун BPM өзгөрүүсүндө эч кандай кечигүү болгон жок. Түртүү эскертмелери буга чейин айтылган Firebase булут кабарлашуусу аркылуу жасалган. Муну кантип ишке ашыруу боюнча Firebase маалымат таблицасында көптөгөн пайдалуу маалыматтар бар жана колдонмону Firebase веб -сайтынын тактасынан эскертмелерди жөнөтүү аркылуу текшерүүгө болот.

Булут кабарлашуу үчүн бардык коддорду жана аракеттерди менин Github репозиторийимден тапса болот.

5 -кадам: Жыйынтык

Колдонуучунун BPMин өлчөөдө кээ бир чоң маселелер бар болчу. Маанилер абдан ар түрдүү жана колдонуучунун ден соолугун аныктоо үчүн колдонууга жараксыз болгон. Бул ESP8266да ишке ашырылган сигналды иштетүү кодуна чейин жетти. Кошумча изилдөөлөрдөн кийин, жүрөктүн ар кандай мезгилдеги төрт башка импульсу бар экенин билдим, андыктан программалык камсыздоонун так эместиги таң калыштуу эмес. Муну менен күрөшүүнүн бир жолу - орточо эсеп менен төрт импульсту алуу жана жүрөктүн ошол төрт импульстун мезгилин эсептөө.

Калган системалар функционалдуу болчу, бирок бул объектинин мүмкүн экендигин билүү үчүн кургум келген абдан эксперименталдык түзмөк. Эскертмелерди жөнөтүү үчүн колдонулган эски код тез арада жараксыз болуп калат, андыктан сиз муну 2018 -жылдын аягында же кеч окуп жатсаңыз, башка ыкма талап кылынат. Бул маселе ESP менен гана болот, бирок эгер сиз муну WiFi жөндөмдүү Arduinoдо ишке ашыргыңыз келсе, анда эч кандай көйгөй болбойт.

Эгерде сизде кандайдыр бир суроолор же көйгөйлөр болсо, Instructables'ге мага жазуудан тартынба.

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