Я не раз чытаў, што Wi-Fi бачыць людзей праз сцены. У агульных рысах я ў гэта верыў. Цела ў асноўным вада, вада паглынае 2,4 ГГц, значыць чалавек у пакоі павінен мяняць сігнал. Гэты сігнал і так паказвае любы кліент Wi-Fi, iw dev wlan0 link друкуе яго ў dBm. Калі гэтага ліку дастаткова, зразумець, ці пусты пакой, можна без камеры і без новага жалеза.
Што насамрэч паказвае адзін такі лік, я ні разу не правяраў. Жалеза для нармальнай праверкі ў мяне таксама няма, таму я ўзяў чужыя запісы.
Даныя
Себасціян Шойрэр з University College Cork выклаў набор даных на Zenodo ў 2020 годзе. Запісаны ён у ліпені 2018 года з дапамогай Intel 5300 CSI Tool. У кожным пакоі стаяць кропка доступу і 3 кліенты на Raspberry Pi. Для кожнага пакета на кожнай звязцы кропкі доступу з кліентам у файле ёсць узровень сігналу на 3 антэнах і ўзмацненне прымача. Чалавек быў звонку, сядзеў у пакоі або хадзіў па ім. Сядзенне і хада ідуць блокамі прыкладна па 5 хвілін, пустыя прамежкі доўжацца ад 5 да 14 хвілін. Час кожнай змены запісаны ў файле разметкі.
З 4 пакояў я ўзяў 2, у якіх удзельнічае толькі адзін чалавек. Гэта 6 звязак і 3 дні на пакой. На пакой у разметцы каля 3 гадзін сядзення, ад 77 да 87 хвілін пустога пакоя і менш за гадзіну хады. Для часткі гэтых хвілін запісу няма. Хвіліны ў дзвярах і ў калідоры я выкінуў.
Набор дае сырыя лікі для кожнай антэны. Я перавёў іх у dBm гэтак жа, як гэта робіць get_total_rss.m з самога інструмента: скласці магутнасць 3 антэн, адняць 44 і ўзмацненне. У сярэднім звязка шле каля 95 або 155 пакетаў у секунду, залежна ад пакоя. Я ўсярэдніў іх да аднаго значэння ў секунду, прыкладна столькі паказвае індыкатар сігналу ў ноўтбуку. Далей глядзеў вокны па 10 секунд. Для кожнага акна ўзяў раскід і сярэдняе.
Хаду відаць адразу
Калі чалавек ходзіць, медыянны раскід у акне вырастае ў 8 разоў на адной звязцы і ў 21 раз на іншай. У пустым пакоі медыянны раскід акна складае ад 0,04 да 0,06 dB, а пры хадзе ад 0,45 да 0,95 dB. Лікі маленькія, але пусты пакой вельмі ціхі.
Каб з гэтага выйшаў дэтэктар, патрэбны быў парог. Для кожнага дня я браў вокны пустога пакоя за 2 іншыя дні на той жа звязцы. Парог я ставіў так, каб вышэй за яго апынуліся 5% з іх. Значыць, памылковая трывога павінна быць прыкладна ў 5% пустых вокнаў. Выйшла ад 4,3% да 8,5%, у другім пакоі больш. Хада перавысіла парог у 80% вокнаў на горшай звязцы і ў 99% на лепшай.
Гэтая частка сыходзіцца з тым, што я чытаў. Уілсан і Патвары пабудавалі сваё сачэнне “праз сцены” на дысперсіі ўзроўню сігналу, артыкул выйшаў у 2011 годзе. Аўтары гэтага набору займаліся распазнаваннем прысутнасці і руху.
Чалавек, які сядзіць
Калі чалавек сядзіць, той жа парог перавысілі 12% вокнаў на горшай звязцы і 43% на лепшай. Гэта прыкметна больш, чым у пустога пакоя, так што цела ўсё ж відаць. Але нават на лепшай звязцы больш за палову вокнаў з чалавекам унутры выглядаюць пустымі.
Наступная думка была такая: адказ раз на 10 секунд нікому не патрэбны. Датчык руху ў калідоры не выключае святло яшчэ некалькі хвілін пасля таго, як вас убачыў. Я паспрабаваў тое ж правіла: пакой заняты, калі за апошнія 5 хвілін хоць адно акно было вышэй за парог. Правіла лічыла пусты пакой занятым у 42% яго вокнаў на адной звязцы і ў 82% на іншай. Я даволі доўга шукаў памылку. Часткова справа была ў сцэнарыі запісу, бо пусты блок пачынаецца адразу пасля сыходу чалавека. Але нават калі я ўлічваў за апошнія 5 хвілін толькі трывогі самога пустога пакоя, ён лічыўся занятым ад 18% да 60% часу.
Таму я пачаў лічыць па цэлых блоках. Блок заўважаны, калі хаця б адно акно ўнутры яго вышэй за парог. З парогам, які прапускае 5% пустых вокнаў, кожная звязка заўважыла ад 23 да 31 са сваіх 30 або 31 блока сядзення. Яна ж заўважыла ад 4 да 7 са сваіх 9 або 11 пустых блокаў. 5% на акно гучыць няшмат, але ў пустым блоку ад 5 да 7 хвілін ад 30 да 45 вокнаў. Тады я падняў парог да самага вялікага раскіду сярод пустых вокнаў іншых дзён. Заўважаным застаўся толькі 1 пусты блок на звязку, але і заўважаных блокаў сядзення засталося ад 5 да 21 прыкладна з 30.
Калі я ўпершыню так лічыў, звязкі аднаго пакоя цалкам прапусцілі 2 з 9 блокаў хады. Пры 99% вокнаў з хадой над парогам такога быць не магло. Высветлілася, што для гэтых блокаў у пакоі няма запісу ўвогуле, на ўсіх 3 звязках. Я выкінуў усе блокі, дзе даныя ёсць менш чым у паловы вокнаў.
Узровень зрушваецца сам
Другая ідэя была пра сярэдняе. Калі чалавек паглынае частку сігналу, узровень павінен знізіцца, пакуль ён сядзіць у пакоі. Унутры аднаго дня сярэдняе пры сядзенні адрозніваецца ад сярэдняга пустога пакоя на велічыню ад −1,41 да +0,69 dB. Знак мяняецца паміж звязкамі і нават паміж днямі на адной звязцы. У 8 выпадках з 18 узровень вырас.
На 5 звязках з 6 узровень пустога пакоя паміж днямі мяняўся мацней, чым яго зрушваў чалавек на той жа звязцы. На адной звязцы ўзровень пустога пакоя ў першы дзень быў −51,85 dBm, а ў трэці −48,42, пры тым што чалавек па разметцы адсутнічаў. Што яго зрушыла, я не ведаю. Дзверы, перасунутае крэсла або людзі ў суседнім пакоі мяняюць шлях сігналу. Можа ўплываць і само абсталяванне.
Адно мяне здзівіла. Я паспрабаваў яшчэ лічыць раскід па сырых пакетах, а не па сярэдніх за секунду. Чакаў, што больш даных дапаможа. Для сядзення на ўсіх 6 звязках стала горш. Падазраю, што чалавек, які сядзіць, рухаецца павольна, а ўсярэдненне прыбірае толькі хуткі шум, але я гэтага не правяраў.
Што засталося неправераным
- Сапраўдная кватэра. Гэта 2 універсітэцкія пакоі 2018 года і адзін чалавек, які мяняў стан кожныя 5 хвілін. Чалавека, які гадзіну чытае і не рухаецца, хутчэй за ўсё, убачыць цяжэй.
- Некалькі звязак адразу. У наборы 3 звязкі на пакой, а я глядзеў кожную асобна. Радыётамаграфія аб’ядноўвае шмат звязак, а CSI у тым жа наборы дае 30 паднясучых замест аднаго сумарнага ліку. Хутчэй за ўсё, абодва спосабы бачаць больш, але я не спрабаваў.
- Дыханне. Чалавек, які не рухаецца, усё роўна дыхае. Патвары з калегамі выявілі дыханне ва ўзроўні сігналу ў 2014 годзе з дапамогай сеткі з многіх звязак. Яны пішуць, што адна звязка надзейна яго не выяўляе. Пазней яго выявілі ў CSI. Тут я яго не шукаў.
- Іншыя сеткавыя карты. Intel 5300 дае ўзровень кожнай антэны з дакладнасцю да цэлага dB. Іншая карта або тэлефон могуць даць іншы вынік.