
WiFi Spatial Radar
Rozproszone sensowanie Wi-Fi: obecność i ruch bez kamery, bez chmury i bez identyfikacji osób.
- PROJECT
- LAB-032
- JĘZYK
- PYTHON
- CZUJNIKI
- ESP32 (WRCS, UDP)
- DSP
- STFT · DOPPLER · RTI
- UI
- WEB + RADAR 3D
- STATUS
- PROTOTYP
- DATA
- 31 sierpnia 2026
System traktuje otoczenie jako rozproszoną sieć czujników radiowych: każde wykryte urządzenie to węzeł RFNode, każda mierzalna relacja nadajnik–odbiornik to RFLink. Wykrywa anonimową obecność i ruch — nigdy tożsamość. Bez rozpoznawania twarzy, bez biometrii, bez chmury.
PROBLEM
Sensowanie Wi-Fi jest tematem, w którym najłatwiej o nieuczciwość. Kanał radiowy niesie informację o ruchu, ale pozycja człowieka jest estymatą probabilistyczną, nie obrazem z kamery. Większość demonstracji pokazuje ładne ślady osób, przemilczając, na jakich danych powstały.
POMYSŁ
Zbudować to samo, ale z wbudowaną uczciwością: system ma mówić UNKNOWN, kiedy nie wie, NO CSI, kiedy nie ma danych kanałowych, i LOW CONFIDENCE, kiedy sygnał jest słaby. Zero zmyślonych danych i zero fikcyjnej dokładności.
Ograniczenie prawne postawione na wstępie: wyłącznie własna sieć i kontrolowana przestrzeń, wyłącznie pasywne odkrywanie — bez łamania haseł, deautentykacji i logowania domyślnymi poświadczeniami.
PROJEKT
Pipeline zaczyna się od „hardware doctora”, który sprawdza, co sprzęt faktycznie potrafi. Referencyjny laptop ma kartę Intel AX201 bez publicznej ścieżki CSI — system jawnie traktuje ją jako interfejs sieciowy i węzeł obliczeniowy, a cały tor uruchamia na syntetycznym CSI, oznaczonym jako symulacja.
Dalej: odkrywanie sieci i macierz możliwości węzłów, budowa łączy RFLink z rankingiem przydatności do sensowania, tryb adaptacyjny (od NO_CSI po ADVANCED), tor DSP, detekcja obecności i ruchu, oraz vitals — oddech i tętno odzyskiwane realnym DSP, gdy obiekt jest nieruchomy.
Tryb adaptacyjny jest sednem uczciwości tego projektu: system nie udaje, że ma dane, których nie ma. Przy braku ścieżki CSI schodzi do trybu, w którym raportuje wyłącznie to, co da się wyliczyć z siły sygnału — i mówi o tym wprost w interfejsie, zamiast rysować ładny ślad osoby.
REALIZACJA
Działa laboratorium syntetycznego CSI z dziewięcioma scenariuszami, Signal Lab (waterfall, STFT, Doppler), zapis i odtwarzanie przez ten sam tor co dane na żywo, edytor pomieszczenia MiniCAD oraz Radar 3D z obrotem, węzłami, łączami i zgrubnym polem RTI — napisany bez Three.js.
Gotowa jest ścieżka bezprzewodowa: firmware ESP32 z binarnym protokołem WRCS (serial + UDP), automatyczne wykrywanie czujników po włączeniu zasilania oraz emulator ESP32 pozwalający przejść całą ścieżkę bez sprzętu.
Emulator okazał się najważniejszym narzędziem projektu. Pozwala rozwijać i testować cały łańcuch — od wykrycia czujnika, przez transmisję UDP, po prezentację w Radarze 3D — bez czekania na sprzęt i bez ryzyka, że błąd w firmware zablokuje pracę nad resztą systemu.
Animowana postać w widoku 3D (chód z kierunkiem, upadek, oddech widoczny w klatce piersiowej) pochodzi z prawdy podstawowej symulacji i jest tak oznaczona. Nie jest wynikiem detekcji — jest odniesieniem, względem którego detekcję się ocenia.
EFEKT
Na danych syntetycznych i w emulatorze cały łańcuch działa end-to-end, a moduł vitals odzyskuje wstrzyknięte częstotliwości oddechu i tętna. Realna lokalizacja na prawdziwym CSI czeka na fizyczny ESP32 lub Nexmon/PicoScenes — oprogramowanie jest gotowe, sprzętu brakuje.
WNIOSKI
Najcenniejszą decyzją projektową było oznaczanie każdego wyniku źródłem danych. Wykres z symulacji wygląda identycznie jak z pomiaru — bez etykiety po tygodniu nikt nie pamięta, który jest który.


