česky english Vítejte, dnes je neděle 22. prosinec 2024

Návrh krokoměru s rozhraním Bluetooth LE

DPS 5/2017 | Články
Autor: Zhang Feng, Microchip

S nositelnými technologiemi se v novinkách z našeho oboru setkáváme v takové míře jako nikdy předtím. A zdá se, že pokrok související s „wearables“, běžným pojmem pro elektronické systémy nošené na těle, kde budou sledovat jeho činnost, již prostě nezastavíme. Typickou součástí zmiňovaného trendu budou rovněž systémy pro vyhodnocování aktivity s funkcí počítání ušlých kroků, které tak svého nositele vybízejí k náležitému každodennímu pohybu, třeba s cílem snižovat jeho krevní tlak nebo index tělesné hmotnosti. Oblíbeným motivačním nástrojem pro všechny, kdo se chtějí hýbat a pečovat při tom o své zdraví, se pak stávají sledovací systémy na způsob náramku spojující počítadlo kroků s rozhraním Bluetooth Low Energy.

Bez názvu

Přenosným elektronickým zařízením počítajícím na základě detekce pohybu osoby s akcelerometrem každý její krok rozumíme digitální krokoměry – pedometry. Navrhnout je můžeme s 8bitovým mikrokontrolérem, modulem pro Bluetooth Low Energy a číslicovým tříosým akcelerometrem. Zařízení takového typu pak může být nošeno na zápěstí stejně jako náramek či hodinky. Komunikaci krokoměru s chytrým telefonem nebo tabletem, na nichž uživatelé své pokroky vysledují zajišťuje osazený modul Bluetooth LE.

Blokový diagram zmiňovaného pedometru s využitím mikrokontroléru PIC16LF1718 od Microchipu, modulu Bluetooth LE 4.1 RN4020 stejného výrobce, digitálního tříosého akcelerometru Bosch Sensortec BMA250E a 3 V lithiové baterie mincového typu CR2032 vidíme na obr. 1.

Obr. 1 Blokový diagram vzorového krokoměru

Popis činnosti

Pohyb uživatele zde detekuje 10bitový akcelerometr. Algoritmus pro sledování kroků vyvinutý v Bosch Sensortec bude součástí firmwaru mikrokontroléru, přičemž funkce detekce kroků je v této knihovně pravidelně volána uživatelskou aplikací. Při volání funkce detekce mikrokontrolér vyčte údaje o zrychlení z akcelerometru v osách x, y a z přes rozhraní I²C. Shromážděná data pak funkce analyzuje a ke stanovení ušlých kroků využívá rozpoznávání vzorů. Nahromaděný počet kroků zobrazíme na třímístném sedmisegmentovém displeji s LED, příp. přes rozhraní Bluetooth LE v aplikaci běžící na chytrém telefonu nebo tabletu. Vývojový diagram zachycující jednotlivé fáze činnosti vzorového krokoměru zachycuje obr. 2.

Obr. 2 Posloupnost firmwarově řešených procesů pedometru

Modul Bluetooth LE, se kterým vše bude párováno, vyhovuje specifikaci jádra Bluetooth 4.1 a podporuje 13 veřejných profilů a 17 veřejných služeb založených na GATT. Mezi podporovanými profily nalezneme též čtyři související se zdravotním stavem. Půjde o monitor tepové frekvence, teploměr, glukometr a sledování krevního tlaku. Modul rovněž podporuje uživatelsky definované soukromé profily nebo služby, přesně s ohledem na danou aplikaci. V tomto případě naše demo definuje privátní službu pro využití krokoměru. Veškeré konfigurace máme uloženy v non volatilní paměti modulu Bluetooth LE, takže uživatel modul nastavuje pouze jednou.

Bude-li komunikace přes Bluetooth LE stiskem tlačítka na desce povolena, mikrokontrolér modul aktivuje a ten se pak dokáže s chytrým telefonem či tabletem spárovat. Po úspěšném spojení odesílá mikrokontrolér pravidelně do modulu údaj o počtu kroků přes rozhraní UART. Informaci pak modul vysílá do spárovaného mobilního zařízení k zobrazení výsledku kompatibilní aplikací.

Pokud však bude mít zařízení instalován HealthKit od Applu (iOS 8 a výše) podporující specifikace GATT pro Bluetooth LE, obejdeme se i bez doprovodné aplikace. Zdravotnická technika typu monitorů tepové frekvence a krevního tlaku, teploměrů či glukometrů vystavěná na modulech RN4020 tak bude podporována přímo ze strany HealthKitu. Místo vývoje vlastní aplikace mohou proto výrobci ponechat automatické řízení přístroje či doplňků po spárování s modulem Bluetooth LE na HealthKitu od Applu.

Rychlé řízení funkcí pedometru zajišťuje díky rozhraní IOC (interrupt-onchange) jedno tlačítko. K zapnutí nebo vypnutí displeje s LED je potřebujeme stisknout a do jedné vteřiny rychle uvolnit. Povolení nebo zakázání komunikace přes Bluetooth LE definujeme stiskem a přidržením po dobu od jedné až do maximálně čtyř sekund. Počítadlo kroků pak po uvolnění nulujeme stiskem delším než čtyři vteřiny.

Vlastní spotřeba

Energii krokoměru dodává jediná 3V lithiová baterie mincového typu, přičemž z úsporných důvodů dochází po deseti vteřinách k automatickému vypnutí displeje s LED. V případě komunikace přes UART bude nastavena rychlost 2 400 kbit/s, takže pokud zde nemáme žádná data, může modul Bluetooth LE setrvat v režimu hlubokého spánku.

Obr. 3 Přední a zadní část demo desky krokoměru

Nedojde-li po dobu 16 vteřin k žádnému pohybu, akcelerometr vyšle mikrokontroléru přes rozhraní IOC přerušení „no-motion“. V takovém případě mikrokontrolér překonfiguruje akcelerometr na přerušení s vysokým g a nechá jej vstoupit do režimu nízké spotřeby, po němž se mikrokontrolér sám přepíná do režimu spánku a umožňuje tak celému systému vykazovat nejmenší možnou spotřebu.

Během nízkopříkonového režimu akcelerometr pravidelně přepíná mezi fázemi spánku a probouzením. V případě spánku pak bude celá analogová část akcelerometru vypnuta. S probouzením již obvod pracuje normálně, funkce přerušení vysokým g běží a rozhoduje tak o případném probuzení z režimu nízké spotřeby. Přerušení „high-g“ akcelerometr generuje s cílem aktivovat mikrokontrolér po překročení přednastavené prahové úrovně události s vysokým zrychlením při chůzi, uchopení krokoměru nebo mávnutí či otočení ve vzduchu. Po probuzení již systém pokračuje dále v běžné činnosti.

Závěr

Článek ukazuje, jakým způsobem vystavět pro vývojové účely krokoměr, který by komunikoval přes rozhraní Bluetooth LE. Pro léčebné, diagnostické ani další zdravotnické využití sice zamýšlen není, nicméně dobře poslouží všem, kteří své pohybové aktivity rádi monitorují a chtějí se v nich dále zlepšovat.