Tartalomjegyzék:
- 1. lépés: Az áramkör
- 2. lépés: A jelfeldolgozó kód és a szerverkommunikáció
- 3. lépés: A szerver és az adatkommunikáció
- 4. lépés: Az Android -alkalmazás
- 5. lépés: Következtetés
Videó: IOT pulzusmérő (ESP8266 és Android alkalmazás): 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Az utolsó éves projektem részeként olyan készüléket szerettem volna tervezni, amely figyeli a pulzusszámát, tárolja az adatait egy szerverre, és értesíti Önt értesítéssel, ha a pulzusszám abnormális. Ennek a projektnek az ötlete akkor merült fel, amikor megpróbáltam létrehozni egy fit-bit alkalmazást, amely értesíti a felhasználót, ha szívproblémái vannak, de nem tudtam rájönni a valós idejű információk felhasználásának módjára. A projekt négy fő részből áll beleértve a fizikai áramkört a szívverés mérésére, egy ESP8266 Wi-Fi modult jelfeldolgozó kóddal, a kód tárolására szolgáló szervert és egy Android alkalmazást a pulzus megjelenítésére.
A fizikai áramkört részletező videó fent látható. A projekt összes kódja megtalálható a Github -on.
1. lépés: Az áramkör
A szívverés mérésére két fő módszer létezik, de ebben a projektben úgy döntöttem, hogy fotoplettizmográfiát (PPG) használok, amely infravörös vagy vörös fényforrást használ, amely megtörik a bőr első rétegein. Fényérzékelővel mérik a fényintenzitás változását (amikor vér áramlik az edényen). A PPG jelek hihetetlenül zajosak, ezért sávszűrőt használtam a szükséges frekvenciák kiszűrésére. Az emberi szív 1 és 1,6 Hz közötti frekvencián ver. Az op-erősítőt használtam az lm324-et, amely a legjobb feszültség-eltolással rendelkezett az összes rendelkezésre álló op-erősítő közül. Ha újraalkotja ezt a projektet, akkor egy precíziós op-erősítő sokkal jobb választás lenne.
Csak két erősítést használtunk, mert az ESP8266 maximális feszültségtűrése 3.3v, és nem akartam megsérteni a táblát!
Kövesse a fenti áramkört, és próbálja meg kenyeretáblán működtetni. Ha nincs otthon oszcilloszkópja, csatlakoztathatja a kimenetet egy Arduino -hoz, és ábrázolhatja, de győződjön meg arról, hogy a feszültség nem magasabb, mint az arduino vagy a mikrokontroller tűrése.
Az áramkört kenyértáblán tesztelték, és a kimenet változását figyelték meg, amikor ujjat helyeztek a LED -re és a fototranzisztorra. Ezután úgy döntöttem, hogy összeforrasztom a táblát, ami nem látszik a videón.
2. lépés: A jelfeldolgozó kód és a szerverkommunikáció
Úgy döntöttem, hogy az Arduino IDE -t használom az ESP8266 -on, mert olyan könnyen használható. Amikor a jelet megrajzolták, még mindig nagyon zajos volt, ezért úgy döntöttem, hogy egy FIR mozgóátlag szűrővel tisztítom meg, tízmintás mintával. Ehhez módosítottam egy "simítás" nevű Arduino programot. Kicsit kísérleteztem, hogy megtaláljam a jel frekvenciájának mérési módját. Az impulzusok különböző hosszúságúak és amplitúdójúak voltak, mivel a szívnek négy különböző típusú impulzusa volt és a PPG jelek jellemzői. Egy ismert középértéket választottam, amelyen a jel mindig kereszteződött, mint referenciapont minden egyes impulzushoz. Gyűrűpufferrel határoztam meg, hogy a jel meredeksége mikor pozitív vagy negatív. E kettő kombinációja lehetővé tette számomra az impulzusok közötti időszak kiszámítását, amikor a jel pozitív volt és megegyezett egy adott értékkel.
A szoftver meglehetősen pontatlan BPM -et készített, amelyet valójában nem lehetett használni. További iterációkkal jobb programot lehetett tervezni, de az idő szűkössége miatt ez nem volt lehetőség. A kód megtalálható az alábbi linken.
ESP8266 szoftver
3. lépés: A szerver és az adatkommunikáció
Úgy döntöttem, hogy a Firebase -t használom az adatok tárolására, mivel ez ingyenes szolgáltatás, és nagyon könnyen használható mobilalkalmazásokkal. Az ESP8266 -nak nincs hivatalos API -ja a Firebase -hez, de azt találtam, hogy az Arduino könyvtár nagyon jól működött.
Az ESP8266WiFi.h könyvtárban található egy példaprogram, amely lehetővé teszi, hogy SSID -vel és jelszóval csatlakozzon egy útválasztóhoz. Ezt a tábla internethez való csatlakoztatására használták, így adatokat lehetett küldeni.
Bár az adatok tárolása könnyen elvégezhető, még mindig számos probléma merül fel a push értesítések HTTP POST kéréssel történő elküldésével. Találtam egy megjegyzést a Githubon, amely egy korábbi módszert használt erre a Google felhőalapú üzenetküldésén és az ESP8266 HTTP könyvtárán keresztül. Ez a módszer látható a Github kódomban.
A Firebase -en létrehoztam egy projektet, és a szoftverben használt API -t és regisztrációs kulcsokat használtam. A Firebase felhőalapú üzenetküldést az alkalmazással használták annak érdekében, hogy push értesítéseket küldjenek a felhasználónak. A kommunikáció tesztelésekor az ESP8266 működése közben az adatok láthatók voltak az adatbázisban.
4. lépés: Az Android -alkalmazás
Egy nagyon egyszerű Android -alkalmazást két tevékenységgel terveztek. Az első tevékenység bejelentette a felhasználót, vagy regisztrálta őket a Firebase API használatával. Kutattam az adatlapot, és különféle oktatóanyagokat találtam a Firebase mobilalkalmazással történő használatáról. A fő tevékenység, amely a felhasználó adatfelhasználóját valós idejű eseményfigyelőként jelenítette meg, így nem volt észrevehető késés a felhasználói BPM változásaiban. A push értesítések a korábban említett Firebase felhőalapú üzenetküldéssel történtek. A Firebase adatlapján sok hasznos információ található ennek megvalósításáról, és az alkalmazás tesztelhető, ha értesítéseket küld a Firebase webhelyének műszerfaláról.
A tevékenységek összes kódja és a felhőalapú üzenetküldés módszerei megtalálhatók a Github -táromban.
5. lépés: Következtetés
A felhasználó BPM mérésével kapcsolatban komoly problémák merültek fel. Az értékek nagyon eltérőek voltak, és nem használhatók a felhasználó egészségének meghatározására. Ez az ESP8266 -on megvalósított jelfeldolgozó kódra vezethető vissza. További kutatások után rájöttem, hogy egy szívnek négy különböző impulzusa van, amelyek változó periódusúak, így nem csoda, hogy a szoftver pontatlan volt. Ennek leküzdésének egyik módja az lenne, ha egy tömb négy impulzusának átlagát vesszük, és kiszámítjuk a szív periódusát e négy impulzus alatt.
A rendszer többi része működőképes volt, de ez egy nagyon kísérleti eszköz, amelyet meg akartam építeni, hogy lássam, lehetséges -e az objektum. A push -értesítések küldésére használt régebbi kód hamarosan használhatatlan lesz, ezért ha ezt 2018 végén vagy későn olvassa, akkor más módszerre lesz szükség. Ez a probléma csak az ESP -vel fordul elő, de ha ezt egy WiFi -képes Arduino -n szeretné megvalósítani, nem lenne probléma.
Ha bármilyen kérdése vagy problémája van, kérjük, írjon nekem üzenetet az Instructables oldalon.
Ajánlott:
Készítsen barkács Sonoff intelligens kapcsolót az Android alkalmazás használatával: 11 lépés
Készítsen barkács Sonoff intelligens kapcsolót az Android alkalmazás használatával: Mi az a Sonoff? A Sonoff az ITEAD által kifejlesztett intelligens otthoni intelligens kapcsoló eszközsor. A vonal egyik legrugalmasabb és legolcsóbb eszköze a Sonoff Basic és a Sonoff mini. Ezek Wi-Fi-kompatibilis kapcsolók, amelyek nagyszerű chipen, ESP8266/E-n alapulnak
ANDROID ALKALMAZÁS VEZÉRLETT EGYSZERŰ RGB LED Asztali lámpa: 5 lépés
ANDROID ALKALMAZÁS VEZÉRLETT EGYSZERŰ RGB LED Asztali lámpa: ezért ebben az oktatóanyagban megmutatom, hogyan vezérelhető az rgb led androidos okostelefonnal. Az RGB LED -ek az alapkoncepción dolgoznak, amely bármilyen árnyalat alapszínének, azaz a pirosnak, a zöldnek és a kéknek a kombinációját képezi. Minden színben van ez az elemi színösszeállítás
Android -alkalmazás létrehozása az Android Studio segítségével: 8 lépés (képekkel)
Android -alkalmazás létrehozása az Android Stúdióval: Ez az oktatóanyag megtanítja az Android -alkalmazás létrehozásának alapjait az Android Studio fejlesztői környezet használatával. Ahogy az Android -eszközök egyre gyakoribbak, az új alkalmazások iránti kereslet csak nőni fog. Az Android Studio könnyen használható (
Egyszerű IOT - Alkalmazás által vezérelt RF érzékelő hub közepes hatótávolságú IOT eszközökhöz: 4 lépés
Egyszerű IOT - Alkalmazás által vezérelt RF érzékelő hub közepes hatótávolságú IOT eszközökhöz: Ebben az oktatóanyag -sorozatban olyan eszközök hálózatát fogjuk felépíteni, amelyek egy központi hub eszközről rádiókapcsolaton keresztül vezérelhetők. A 433 MHz -es soros rádiókapcsolat előnye WIFI vagy Bluetooth helyett a sokkal nagyobb hatótávolság (jó
Az Android -alkalmazás csatlakoztatása az AWS IOT -hoz és a hangfelismerő API megértése: 3 lépés
Az Android -alkalmazás csatlakoztatása az AWS IOT -hoz és a Hangfelismerő API megértése: Ez az oktatóanyag megtanítja a felhasználónak, hogyan kell csatlakoztatni az Android -alkalmazást az AWS IOT szerverhez, és megérteni a hangfelismerő API -t, amely vezérli a kávéfőzőt. Az alkalmazás az Alexa segítségével vezérli a kávéfőzőt Hangszolgáltatás, minden alkalmazás c