Propagazione
Le onde radio si diffondono in tutte le direzioni. Pareti, mobili e corpi introducono assorbimento, riflessione e diffrazione.
Vedere il movimento, non le persone.
Le onde Wi-Fi non servono solo a trasportare dati: si propagano nell'ambiente, rimbalzano sulle pareti e attraversano gli oggetti. Quando una persona si muove in una stanza, il suo corpo altera leggermente quei segnali. In laboratori controllati questa variazione viene analizzata per riconoscere presenza, movimento, postura grossolana, respiro o cadute — senza videocamere e senza identificare nessuno.
Le onde radio si diffondono in tutte le direzioni. Pareti, mobili e corpi introducono assorbimento, riflessione e diffrazione.
Il segnale ricevuto (RSSI / CSI) varia nel tempo. Un ambiente vuoto è quasi stabile; un corpo in movimento produce oscillazioni misurabili.
Algoritmi di analisi del segnale o modelli statistici stimano lo stato della stanza (vuota / occupata / movimento) con un certo livello di confidenza.
Niente immagini, niente identità. Questa app è solo una simulazione: nessun segnale radio reale viene letto o trasmesso.
Stanza vista dall'alto. Il router emette onde Wi-Fi. La persona stilizzata può muoversi, restare ferma, respirare o cadere a seconda della modalità scelta. Il segnale stimato cambia di conseguenza.
Visualizzazione 2D: stanza rettangolare con un router emittente onde concentriche e una persona stilizzata il cui comportamento dipende dalla modalità selezionata.
Quattro tracciati simulati che mostrano come variano le metriche tipiche in funzione della modalità selezionata.
Questa app è una simulazione: i numeri sono generati localmente. Se vuoi passare a un sistema che lavora su segnali Wi-Fi veri, il percorso open source è ben tracciato — hardware accessibile, tool maturi, dataset pubblici, pipeline Python. La dashboard che hai davanti può poi essere riusata come front-end, sostituendo i dati simulati con un feed reale.
I router commerciali standard espongono solo RSSI (un singolo numero). Per il sensing serio serve la Channel State Information (CSI): ampiezza e fase per ogni sottoportante OFDM. Opzioni accessibili:
Progetti che fanno il lavoro sporco di estrarre il CSI dal firmware e renderlo accessibile da userspace:
Prima di addestrare un modello, leggi qualche paper e parti da dataset pubblici per evitare di raccogliere ore di registrazioni.
"WiFi CSI human activity recognition",
"device-free localization",
"WiFi respiration estimation".Una pipeline minima riceve i pacchetti CSI, li ripulisce, estrae feature e classifica. Esempio scheletrico:
import numpy as np, pandas as pd
from scipy.signal import butter, filtfilt
from sklearn.ensemble import RandomForestClassifier
# 1. Acquisizione: serial (ESP32) o UDP (Nexmon)
csi = read_csi_stream(source="serial:/dev/ttyUSB0") # shape: (T, subcarriers)
# 2. Pre-processing: ampiezza, denoise, detrend
amp = np.abs(csi)
b, a = butter(4, [0.5, 5], btype="band", fs=100) # banda 0.5–5 Hz (movimento)
amp_f = filtfilt(b, a, amp, axis=0)
# 3. Feature: varianza, entropia, PCA, spettrogrammi STFT…
features = extract_features(amp_f, win=2.0, hop=0.5)
# 4. Modello: da Random Forest a CNN/LSTM su spettrogrammi
clf = RandomForestClassifier().fit(X_train, y_train)
pred = clf.predict(features)
# 5. Output: stato + confidenza → WebSocket verso la dashboard
publish({"state": pred[-1], "confidence": float(clf.predict_proba(features)[-1].max())})
In progetti più maturi si usano CNN, LSTM o Transformer su spettrogrammi tempo-frequenza, con tecniche di domain adaptation per generalizzare tra ambienti diversi.
Il front-end che stai usando può diventare la UI del sistema reale. L'interfaccia tra pipeline e dashboard è banale:
{ state, confidence, rssi, ts } a ~20 Hz.In altre parole: il modello mentale costruito qui (RSSI, Δ, σ, confidenza, classi di stato) è già quello di un sistema reale. Cambia solo la sorgente del segnale.
Passare al reale significa anche assumersi responsabilità: informativa chiara alle persone monitorate, finalità lecita, minimizzazione dei dati, sicurezza del trasporto, possibilità di disattivazione. Il WiFi sensing non è "innocuo per design" — lo diventa solo con scelte progettuali esplicite.
Per essere trasparenti: il WiFi sensing non è una telecamera invisibile. Ecco cosa non è e cosa non fa.
Tecnologie di rilevamento radio possono avere usi positivi (assistenza ad anziani, sicurezza domestica) ma comportano rischi se applicate senza consenso. Trasparenza, informativa e finalità chiare sono imprescindibili.