Skip to main content


Po nějaké době jsem se v rámci svých experimentů s DIY "smart home" vrátil k detekci přítomnosti (aka "indoor positioning"). Je to dost zajímavej problém - jak technicky, tak z hlediska zpracování dat, protože to vůbec není tak snadný, jak to vypadá. Dostal jsem se k tomu hlavně přes hluboké _filosofické_ přemýšlení o tom, k čemu je vlastně vypínač - které vyústilo k (zatím slabému) dojmu, že v jedenadvacátém století k ničemu, protože je to relikt 19. století ;)

Zatím mám trochu vyzkoušený dvě nejjednodušší technologie:
1. klasický jednoduchý detektor pohybu (PIR)
2. detekce bluetooth

Slibně vypadá ještě mikrovlnná detekce pohybu, ale do té se mi moc nechce - nějak pocitově nemám chuť prát si v domácnosti do sebe další vlny, pokud to není nutný. I když vím, že to není nijak racionálně podložený (vln máme kolem sebe habaděj), pokud by se dařilo použít pasivní PIR, byl bych radši.

Technologie, u které bych ale vlny akceptoval, protože by mohla dávat výrazně lepší výsledky, je tohle: https://www.xandem.com/product - nemyslím tenhle konkrétní produkt, ten je nehorázně drahý, ale ten princip - chytře rozmístit sensory a zpracovávat RSSI data. To by teoreticky, při vyladěné konfiguraci, mohlo dávat hodně muziky za relativně dost málo peněz a především bez jakýhokoli dopadu na komfort. Navíc nějaká ta čidla, u kterých umím RSSI číst, už mám.

Zajímavý je ale ten problém zpracování dat. Už jenom taková blbost jako že PIR sensor detekuje pohyb - tj. nemusí zaznamenat osobu, která v místnosti je, ale nehýbe se, vytváří sposutu otázek pro design analytiky.

Udělal jsem si takovej malej pokus s následujícími podmínkami:
1. mám jenom data z PIR sensorů - tj. pozitivní signál znamená _jistotu_, že v místnosti někdo je, ale negativní nutně neznamená, že v ní nikdo není
2. mám informaci o tom, kolik lidí je v baráku celkově

První přískok jsem chtěl udělat co nejpřímočařeji, takže jsem zkusil constraint-based programming - knihovnu https://pypi.org/project/python-constraint/ do které jsem ládoval (smyšlené) informace typu:
- v obyváku je nejmíň jeden člověk
- v kuchyni je nejmíň jeden člověk
- celkem jsou v baráku 4 lidi
a nechal si vypočítat množství možných variant přítomnosti lidí v jednotlivých pokojích.

Samozřejmě dle očekávání průměrně inteligentní sasanky bylo množství variant enormně vysoký. Tak jsem to ještě zkusil mírně vylepšit jednoduchým váhováním - k místnostem jsem přiřadil pravděpodobnost, s jakou tam někdo je, a za primární hypotézu vyvbral tu s nejvyššími váhami.

...což je ale jenom o málo inteligentnější, než kdybych prostě předpokládal, že v místnostech jsou lidi přesně s tou pravděpodobností těch vah a vůbec žádný sensory neměl ;) (odbočka: nápad na reklamu: Heleno ty kupuješ sensory? Kde na to bereš?)

Prostě, je to zábava a výzva. Zatím moc nevím, jak se k tomu postavit. Jít spíš cestou "výpočtu" (logika, statistika -> náročné na implementaci), nebo to nechat na nějakou neuronovou síť (nebezpečí nepříjemných chyb, který nepůjdou doladit)?

Nejspíš to prostě zkusím na vlastní kůži a uvidím, jestli to celkově dává smysl nebo ne 😀 Zatím mám jenom dva PIR sensory v obýváku a kuchyni - čistě proto, abych si vyzkoušel, jak dobře fungují. Mám objednané další a jakmile budu mít barák aspoň trochu pokrytý, začnu testovat různé přístupy k analytice. Je to rajcovní problém 😀

Unknown parent

Miroslav Prýmek
Ja mam prave porad takovej gut feeling, ze doplneny vhodnyma pravidlama by k nicemu byt nemuselo. Prece jenom "nekdo tady urcite je" je silna informace - a temer stopro platna, dokud ten nekdo neni detekovanej jinde...

Samozrejme v takove te klasicke podobe "rozsvit a pokud neni pohyb, za tri minuty zhasni" je to akorat opruz, to nesnasim. Hlavne na zachodech, kde mivam tendenci sedet dyl a kdyz cloveku zhasne svetlo nad hlavou, je to radost 😀

Zavory na dverich zvazuju taky, to jsem zapomnel zminit. Jinak ale nejlepsi je samozrejme BLE beacon s rozumnou periodou vysilani a co nejmensimi rozmery.
in reply to Miroslav Prýmek

Mimochodem, jeste k tomu zachodu - v jedne hospode to maji dokonce udelany tak inteligentne, ze PIR je v pruchozi mistnosti. Cili kdyz se clovek na zachode zdrzi dyl, tak mu ani zadny mavani nepomuze, musi proste doresit problem potme 😀))
Unknown parent

Miroslav Prýmek
Jo, tohodle jsem si vědom. Zároveň ale tohle jsou argumenty, proč nemůžeš s jistotou zjistit, kolik osob je kde. A spekuluju nad tím, že to možná ani nepotřebuješ.

Pokud by se použily jenom PIRs, vznikala by nějaká míra nejistoty. Otázka je, jestli to pravdu vadí (nemůže být systém funkční i tak?) a jestli se ta nejistota dá snížit nějakou další informací.

Mám například vyzkoušený, že ty PIRs, co mám, jsou natolik citlivý, že i když "se nehejbu" (např. sedím u stolu a pracuju u počítače), tak mě tak cca jednou za minutu sensor stejně postřehne. Už tohle samo o sobě dost snižuje nejistotu.

Nepředpokládám, že by systém postavený jenom na PIRs byl dobrý. Ale spekuluju nad tím, jestli by náhodou nemohl být lepší, než by člověk čekal. A pokud by se doplnil o další informace (např. to RSSI + jeden člověk ze 4 má BLE beacon), tak by to třeba mohlo fungovat.

Každopádně je to experiment, zkoumání. Možná že nakonec fakt dojdu k tomu, že PIRs jsou úplně useless 😀