Nitakuonyesha kitu ambacho kitabadilisha jinsi unavyofikiria kuhusu ruta ya WiFi iliyokaa kwenye sebule yako. Si lango la intaneti tu. Ni mfumo wa rada unaoweza kukuona unavyopumua.
Si hadithi za kisayansi. Ni fizikia. Na unaweza kujenga moja mwenyewe wikendi hii.
Subiri, Nini? Ruta Yangu Inaweza Kuniona?
Hivi ndivyo kinachoendelea kweli: WiFi ya kisasa (802.11ac/ax) inatumia kitu kinachojulikana kama beamforming. Ruta yako ina antena nyingi, na badala ya kutangaza ishara kwa pande zote sawasawa, inalenga ishara kuelekea vifaa vyako. Fikiria kama tochi badala ya taa inayoangaza kila mahali.
Ili kufanya hivi, ruta yako na vifaa vinabadilishana maoni kuhusu ishara mara kwa mara, hasa kitu kinachojulikana kama BFI (Beamforming Feedback Information). Data hii inaelezea kwa usahihi jinsi mawimbi ya redio yanavyoruka ndani ya chumba chako.
Sehemu ya kushangaza ni hii: maoni haya hayajasimbwa kwa fiche. Mtu yeyote anaweza kuyakamata. Na unapotembea kwenye chumba, wewe ambaye ni mfuko mkubwa wa maji unaourudisha mawimbi ya redio, data ya BFI inabadilika. Tembea kupitia sebule yako, na hesabu inaonyesha harakati zako halisi.
Sayansi kwa Lugha Rahisi
Mwili wako unaurudisha ishara za WiFi. Unaposogea, mauuko yanabadilika. Ruta yako inafuatilia mabadiliko haya ili kuboresha nguvu ya ishara. Data hiyo ya ufuatiliaji inatangazwa waziwazi. Ikamata, na una sensora ya harakati inayofanya kazi kupitia kuta.
Watafiti wameitumia hii kugundua mifumo ya kupumua, kuhesabu watu katika chumba, kutambua ishara, na hata kutambua watu mahususi kwa jinsi wanavyotembea. Bidhaa za kibiashara tayari zipo ambazo zinageuza WiFi yako iliyopo kuwa mfumo wa kugundua harakati wa nyumba nzima.
Athari za Faragha (Ndiyo, Ni ya Kutia Wasiwasi)
Kabla hatujaendelea na sehemu ya mradi wa kufurahisha, hebu tuzungumze kuhusu suala kuu: hii ni tatizo la faragha.
Mtandao wako wa WiFi unatangaza habari mara kwa mara ambayo inaweza kufichua:
- Kama kuna mtu nyumbani
- Watu wangapi wako katika chumba
- Mifumo ya jumla ya harakati ndani ya nyumba yako
- Huenda, shughuli mahususi (kupika, kulala, kufanya mazoezi)
Mtu aliye na vifaa sahihi aliyeegeshwa nje ya nyumba yako anaweza kukamata data hii kwa nadharia. Hawahitaji kuwa kwenye mtandao wako. Wanahitaji tu kupokea fremu za BFI ambazo ruta yako inatangaza.
"Teknolojia ile ile inayofanya WiFi yako kuwa haraka zaidi pia inafanya nyumba yako kuwa wazi kwa mtu yeyote anayejua jinsi ya kuangalia."
Hii si nadharia tu. Karatasi za utafiti zimeithibitisha. Sababu pekee haijatumika sana ni kwamba watu wengi hawajui inawezekana. Hiyo... si usalama mzuri.
Kwa Nini Uijenge Mwenyewe?
Basi kwa nini ninakuambia jinsi ya kufanya hivi? Sababu kadhaa:
1. Kuelewa mfumo wa vitisho. Huwezi kujilinda dhidi ya kitu usichokielewa. Kuona hii ikifanya kazi kwa macho yako mwenyewe kunaifanya iwe halisi kwa njia ambayo kusoma tu hakuwezi.
2. Matumizi halali ni mazuri kweli. Kugundua harakati kwa nyumba mahiri bila kamera. Sensora za uwepo kwa otomesheni. Kugundua kuanguka kwa ndugu wakubwa. Kuokoa nishati kwa kujua vyumba vipi vina watu. Yote bila kuweka sensora kila mahali.
3. Ni ya kuvutia kweli kweli. Unabadilisha mawimbi ya redio kuwa taswira ya nafasi halisi. Hiyo ni cyberpunk kweli kabisa.
Tunachokijenga ni majaribio ya kimaadili, kwenye mtandao wako tu. Unafuatilia WiFi yako mwenyewe, katika nyumba yako mwenyewe, ili kuelewa teknolojia ambayo tayari unatumia. Hiyo si tu halali, ni busara.
Njia Mbili: Chagua Msafara Wako
Nitakupa chaguzi mbili kulingana na kiwango chako cha raha na vifaa unavyovimiliki.
Njia A: Uzoefu Kamili (Linux + Wi-BFI)
- Muda: Dakika 30-60
- Ugumu: Wastani (mstari wa amri unahitajika)
- Vifaa: Kompyuta ya Linux + adapta ya WiFi yenye hali ya kufuatilia
- Matokeo: Taswira ya moja kwa moja ya data ya BFI, angalia harakati zako katika michoro ya wakati halisi
Njia B: Tayari Kutumia (ESP32 + ESPectre)
- Muda: Dakika 15-30
- Ugumu: Rahisi (web flasher, nakili na ubandike usanidi)
- Vifaa: Bodi ya ESP32-S3 au ESP32-C6 (~$10)
- Matokeo: Sensora ya harakati inayofanya kazi katika Home Assistant
Njia A: Kuzamia Kirefu katika Wi-BFI
Hii ni mbinu ya "angalia data halisi". Utakamata fremu halisi za BFI kutoka kwa ruta yako na kuona zikibadilika unaposogea. Ni njia ile ile ambayo watafiti wanatumia katika machapisho ya kitaaluma.
Unachohitaji
- Kompyuta ya Linux — Ubuntu 22.04/24.04, au Raspberry Pi
- Adapta ya WiFi yenye hali ya kufuatilia — Chipu nyingi za ndani za Intel/Broadcom/Realtek zinafanya kazi. Kama si hivyo, dongle ya USB ya $15 kama TP-Link AC600 au Alfa AWUS036ACH itafanya kazi.
- Ruta yako ya WiFi iliyopo — Ruta yoyote ya 802.11ac au 802.11ax (ambayo ni ruta yoyote ya miaka 5 iliyopita)
Hatua ya 1: Sakinisha Zana
Fungua terminal na endesha:
# Install system dependencies
sudo apt update
sudo apt install tshark wireshark aircrack-ng git -y
# Install Miniconda (skip if you already have conda)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b
~/miniconda3/bin/conda init
# Close and reopen terminal after thisHatua ya 2: Nakili Wi-BFI
# Get the tool
git clone https://github.com/kfoysalhaque/Wi-BFI.git
cd Wi-BFI
# Create the environment
conda env create -f wi-bfi.yml
conda activate wi-bfiHatua ya 3: Tafuta Taarifa za Mtandao Wako
Unahitaji kujua chaneli na bandwidth ya ruta yako. Endesha:
# See your wireless interface name
iw dev
# Or open Wireshark and scan for networksAndika jina la interface yako (kawaida wlan0 au wlp2s0), chaneli (kama 36 au 149), na bandwidth (80MHz ni kawaida kwa 5GHz).
Hatua ya 4: Anza Kukamata
Fungua terminal mbili. Katika ya kwanza, anza kukamata:
cd ~/Wi-BFI/Demo
# Replace values with your actual settings
./angle_collection.sh my_capture wlan0 36 80MHz 1Katika terminal ya pili, anza taswira ya moja kwa moja:
cd ~/Wi-BFI
# Replace YOUR_PHONE_MAC with your phone's MAC address
# (find it in your router's admin page or phone settings)
python main_live_plot.py AX SU 4x2 80 YOUR_PHONE_MAC my_capture 1Hatua ya 5: Angalia Uchawi
Sasa tembea katika chumba. Angalia michoro. Unaona pembe na amplitudi zile zikiyumba? Hiyo ni mwili wako ukiurudisha mawimbi ya WiFi. Hesabu inafuatilia harakati zako kwenye nafasi halisi.
Simama sawa, na mchoro unaimarika. Pita mbele ya simu yako, na unashuka kwa kasi. Punga mikono, na utaona mabadiliko yanayolingana. Ni data ile ile inayoweza kutumika kwa kugundua harakati, kutambua ishara, au... ufuatiliaji.
Njia B: Hali Rahisi ya ESP32
Hutaki kushughulika na Linux na hali ya kufuatilia? Pata bodi ya ESP32 na upate sensora ya harakati inayofanya kazi ndani ya dakika 15.
Unachohitaji
- Bodi ya ESP32-S3 au ESP32-C6 — Karibu $8-12 kwenye Amazon. ESP32-C6 ni mpya zaidi na inafanya kazi vizuri.
- Kebo ya USB-C — Kwa ku-flash bodi
- Home Assistant — Si lazima lakini inapendekezwa kwa uzoefu kamili
Mradi wa ESPectre
ESPectre ni mradi wa chanzo wazi uliobuniwa mahususi ili kugeuza WiFi yako kuwa sensora ya harakati. Ni bora katika urahisi wake.
GitHub: github.com/francescopace/espectre
Hatua za Usanidi
1. Flash bodi — Nenda kwenye web flasher ya ESPectre (kiunganishi kipo kwenye repo yao). Unganisha ESP32 yako, bofya flash, umefanya.
2. Sanidi WiFi — Bodi inaunda hotspot. Unganisha kwake, ingiza nywila za WiFi yako ya nyumbani.
3. Ongeza kwenye Home Assistant — Ikiwa unaendesha Home Assistant, inajigundua kiotomatiki kama chombo cha sensora ya harakati. Kisha unaweza kuunda otomesheni: taa zinawaka harakati zinapogundulika, arifa ukiwa mbali, n.k.
4. Hiyo ndiyo yote. Sasa una sensora ya harakati inayofanya kazi kupitia kuta, haihitaji mstari wa kuona moja kwa moja, na inatumia miundombinu yako ya WiFi iliyopo.
Matumizi ya Ulimwengu Halisi
- Uwepo wa nyumba nzima: Jua vyumba vipi vina watu bila kamera
- Ufuatiliaji wa usingizi: Gundua mtu alipo kitandani (bila vifaa vya kuvaa)
- Usalama: Arifa ikiwa harakati zinagunduliwa watu wote wakiwa mbali
- Otomesheni: HVAC, taa kulingana na uhifadhi halisi wa vyumba
- Utunzaji wa wazee: Kugundua kuanguka, ufuatiliaji wa shughuli
Home Assistant: Hapa Ndipo Inakuwa Kufurahisha Kweli
Hapa ndipo tunapogeuza mradi wa kisayansi wa kupendeza kuwa otomesheni ya nyumba yenye manufaa kweli kweli. Mara sensora yako ya harakati ya WiFi inapowasiliana na Home Assistant, unaweza kuunda otomesheni ambazo kwa kawaida zingehitaji sensora nyingi za PIR, kamera, au mifumo ya kibiashara yenye gharama kubwa.
Uzuri wa kutambua kwa WiFi ni kwamba inafanya kazi kupitia kuta. ESP32 moja kwenye ukumbi wako inaweza kugundua harakati katika vyumba vingi. Hakuna haja ya mstari wa kuona moja kwa moja. Hakuna maeneo yasiyo na ishara. Hakuna betri za kubadilisha.
Mifano ya Otomesheni (YAML ya Kunakili na Kubandika)
1. Taa zinawaka unapoingia chumba:
automation:
- alias: "Living Room Motion Lights"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_living_room
to: "on"
condition:
- condition: sun
after: sunset
action:
- service: light.turn_on
target:
entity_id: light.living_room
data:
brightness_pct: 80
transition: 22. Arifa za usalama katika hali ya kutokuwepo:
automation:
- alias: "Motion Alert When Away"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_main_floor
to: "on"
condition:
- condition: state
entity_id: input_boolean.away_mode
state: "on"
action:
- service: notify.mobile_app
data:
title: "Motion Detected!"
message: "Movement in the house while you're away."
data:
priority: high
ttl: 03. HVAC mahiri kulingana na uhifadhi wa chumba:
automation:
- alias: "Office HVAC When Occupied"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_office
to: "on"
for:
minutes: 2
action:
- service: climate.set_temperature
target:
entity_id: climate.office
data:
temperature: 72
hvac_mode: heat_cool
- alias: "Office HVAC Standby When Empty"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_office
to: "off"
for:
minutes: 15
action:
- service: climate.set_temperature
target:
entity_id: climate.office
data:
temperature: 65
hvac_mode: auto4. Kugundua wakati wa kulala (bila vifaa vya kuvaa):
automation:
- alias: "Detect Bedtime"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_bedroom
to: "on"
condition:
- condition: time
after: "22:00:00"
before: "02:00:00"
- condition: state
entity_id: binary_sensor.wifi_motion_living_room
state: "off"
for:
minutes: 10
action:
- service: scene.turn_on
target:
entity_id: scene.goodnight
- service: lock.lock
target:
entity_id: lock.front_door
- service: alarm_control_panel.arm_night
target:
entity_id: alarm_control_panel.home5. Utunzaji wa wazee / arifa ya kutokuwa na harakati:
automation:
- alias: "No Motion Alert - Elder Care"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_parents_house
to: "off"
for:
hours: 4
condition:
- condition: time
after: "08:00:00"
before: "22:00:00"
action:
- service: notify.mobile_app
data:
title: "Check on Mom"
message: "No motion detected for 4 hours during daytime."
data:
priority: highVidokezo vya Kitaalamu kwa Kuunganisha na Home Assistant
- Sensora nyingi: Weka ESP32 2-3 kwa ufikiaji wa nyumba nzima. Moja kwa kila ghorofa inafanya kazi vizuri.
- Rekebisha unyeti: Rekebisha kizingiti cha kugundua katika usanidi wa ESPectre ili kuepuka matokeo ya uwongo kutoka kwa wanyama wa nyumbani.
- Changanya na sensora nyingine: Tumia harakati za WiFi kama kigundua cha "upana mpana", kisha boresha kwa sensora za mlango/dirisha kwa maelezo mahususi.
- Sensora za kiolezo: Unda sensora za binary zinazounganisha vyumba vingi kuwa maeneo (ghorofa ya juu, ghorofa ya chini, n.k.)
- Ufuatiliaji wa historia: Tumia sehemu ya Recorder kurekodi mifumo ya harakati kwa muda. Ni muhimu kwa uchambuzi wa usalama.
Matumizi Bora Zaidi: Uwepo wa Nyumba Nzima
Sensora za harakati za jadi (PIR) zinagundua joto na mwendo tu. Haziwezi kuambia kama mtu amekaa kimya. Kutambua kwa WiFi kunaweza. Kunagundua harakati ndogo za kupumua, kuandika, au kuwepo tu katika nafasi.
Hii inamaanisha unaweza kuunda otomesheni zinazojua uko katika chumba hata unapofanya kazi kimya kwenye meza yako. Taa hazitozima kwa sababu umesimama kusogea. HVAC haitapunguza joto kwa sababu unasoma kitabu.
Hiyo ni kugundua uwepo, si tu kugundua harakati. Na ulijenga kwa $10.
Kwenda Mbali Zaidi: Ongeza Kugundua Harakati
Mara una data ya BFI ikitiririka moja kwa moja (kutoka Njia A), unaweza kuongeza kugundua harakati halisi kwa mistari 10 hivi ya Python. Dhana ni rahisi: ikiwa tofauti ya pembe inazidi kizingiti, kitu kimesogea.
import numpy as np
# Assuming you have a stream of angle data
def detect_motion(angle_buffer, threshold=0.5):
"""Returns True if motion detected in recent samples"""
if len(angle_buffer) < 10:
return False
variance = np.var(angle_buffer[-10:])
return variance > threshold
# In your main loop:
if detect_motion(recent_angles):
print("Motion detected!")
# Trigger alert, log event, whatever you wantHii ni toleo la msingi. Karatasi za utafiti zinatumia mbinu za kisasa zaidi: viainishi vya kujifunza kwa mashine, mtiririko mwingi wa antena, mifumo ya muda, kutofautisha kati ya aina za harakati, kuhesabu watu, au hata kutambua shughuli mahususi.
Hii Inamaanisha Nini kwa Faragha
Sasa umeshakuona ikifanya kazi, hebu tuzungumze kuhusu maana yake:
WiFi yako inatangaza kila wakati. Hata usipotumia kikamilifu, ruta yako na vifaa vinabadilishana data ya BFI. Mtu yeyote ndani ya masafa ya redio anaweza kukamata fremu hizi.
Usimbaji fiche haisaidii hapa. BFI ni sehemu ya mchakato wa kupeana mikono wa safu ya kimwili. Inatokea kabla ya usimbaji fiche. WPA3, VPN, hakuna kinachofaa kwa data hii mahususi.
Njia pekee halisi ya kujikinga ni ya kimwili: Vizimba vya Faraday (si vitendo), kupunguza nguvu ya kutangaza (inavunja WiFi yako), au kukubali kwamba mfumo wa uhifadhi wa nyumba yako kimsingi ni habari ya umma ndani ya masafa ya redio.
Hii si kuhusu kutisha. Ni kuhusu ridhaa ya habari. Unatumia teknolojia yenye sifa hizi. Sasa unajua.
Kuhitimisha
Umejifunza tu kwamba ruta yako ya WiFi ni kimsingi mfumo wa rada, ulijenga kigundua harakati chako mwenyewe kwa kutumia mawimbi ya redio, na tunatarajia umepata uelewa bora wa jinsi ishara zisizoonekana zinazotuzunguka zinabeba habari kuhusu ulimwengu wetu wa kimwili.
Teknolojia ni ya upande wowote. Inaweza kutumika kwa otomesheni ya nyumba yenye urahisi au ufuatiliaji wa kutia wasiwasi. Kinachofaa ni kuielewa, ili uweze kufanya maamuzi sahihi kuhusu makubaliano unayoyafanya.
Na kwa njia, pia una mradi wa kupendeza wa wikendi wa kuonyesha. "Ndiyo, niligeuza WiFi yangu kuwa sensora ya harakati. Si jambo kubwa."
Ni ya kufurahisha kweli.
Rasilimali
- Wi-BFI: github.com/kfoysalhaque/Wi-BFI
- ESPectre: github.com/francescopace/espectre
- Karatasi ya utafiti kuhusu kutambua kwa WiFi: Tafuta "WiFi CSI human activity recognition" kwenye Google Scholar kwa uchambuzi wa kina