मैं आपको कुछ ऐसा दिखाने जा रहा हूं जो आपके लिविंग रूम में बैठे WiFi राउटर के बारे में आपकी सोच बदल देगा। यह सिर्फ इंटरनेट का गेटवे नहीं है। यह एक रडार सिस्टम है जो आपको सांस लेते हुए देख सकता है।
साइंस फिक्शन नहीं। फिजिक्स। और आप इस वीकेंड खुद एक बना सकते हैं।
रुको, क्या? मेरा राउटर मुझे देख सकता है?
यहां वास्तव में क्या हो रहा है: मॉडर्न WiFi (802.11ac/ax) कुछ ऐसा इस्तेमाल करता है जिसे बीमफॉर्मिंग कहते हैं। आपके राउटर में कई एंटीना होते हैं, और सिग्नल को सभी दिशाओं में समान रूप से ब्रॉडकास्ट करने के बजाय, यह सिग्नल को आपके डिवाइसेज़ की ओर फोकस करता है। इसे एक स्पॉटलाइट की तरह सोचें, फ्लडलाइट की जगह।
ऐसा करने के लिए, आपका राउटर और डिवाइसेज़ लगातार सिग्नल के बारे में फीडबैक का आदान-प्रदान करते हैं, खासकर कुछ जिसे BFI (Beamforming Feedback Information) कहा जाता है। यह डेटा बिल्कुल बताता है कि रेडियो वेव्स आपके कमरे में कैसे बाउंस हो रही हैं।
और यहां सबसे दिलचस्प बात है: यह फीडबैक एन्क्रिप्टेड नहीं है। कोई भी इसे कैप्चर कर सकता है। और जब आप, पानी का एक बड़ा थैला जो रेडियो वेव्स को रिफ्लेक्ट करता है, कमरे में चलते हैं, तो BFI डेटा बदल जाता है। अपने लिविंग रूम में चलकर जाइए, और गणित सचमुच आपकी मूवमेंट दिखाता है।
विज्ञान सरल भाषा में
आपका शरीर WiFi सिग्नल को रिफ्लेक्ट करता है। जब आप चलते हैं, तो रिफ्लेक्शन बदलते हैं। आपका राउटर सिग्नल स्ट्रेंथ ऑप्टिमाइज़ करने के लिए इन बदलावों को ट्रैक करता है। वह ट्रैकिंग डेटा खुले तौर पर ब्रॉडकास्ट होता है। इसे कैप्चर करें, और आपके पास एक मोशन सेंसर है जो दीवारों के आर-पार काम करता है।
शोधकर्ताओं ने इसका इस्तेमाल सांस लेने के पैटर्न का पता लगाने, कमरे में लोगों की गिनती करने, जेस्चर पहचानने और यहां तक कि विशिष्ट व्यक्तियों को उनके चलने के तरीके से पहचानने के लिए किया है। कमर्शियल प्रोडक्ट पहले से मौजूद हैं जो आपके मौजूदा WiFi को पूरे घर की मोशन डिटेक्शन सिस्टम में बदल देते हैं।
प्राइवेसी पर प्रभाव (हां, यह चिंताजनक है)
प्रोजेक्ट के मजेदार हिस्से में जाने से पहले, कमरे में मौजूद हाथी को संबोधित करते हैं: यह एक प्राइवेसी मुद्दा है।
आपका WiFi नेटवर्क लगातार ऐसी जानकारी ब्रॉडकास्ट कर रहा है जो बता सकती है:
- कोई घर पर है या नहीं
- कमरे में कितने लोग हैं
- आपके घर में सामान्य मूवमेंट पैटर्न
- संभवतः, विशिष्ट गतिविधियां (खाना बनाना, सोना, एक्सरसाइज़)
सही उपकरण वाला कोई व्यक्ति आपके घर के बाहर पार्क करके सैद्धांतिक रूप से यह डेटा कैप्चर कर सकता है। उन्हें आपके नेटवर्क पर होने की जरूरत नहीं। उन्हें बस आपके राउटर द्वारा ब्रॉडकास्ट किए जा रहे BFI फ्रेम्स प्राप्त करने हैं।
"वही तकनीक जो आपके WiFi को तेज़ बनाती है, आपके घर को भी पारदर्शी बनाती है किसी के लिए भी जो जानता है कैसे देखना है।"
यह काल्पनिक नहीं है। रिसर्च पेपर्स ने इसे प्रदर्शित किया है। इसका व्यापक रूप से शोषण न होने का एकमात्र कारण यह है कि अधिकांश लोगों को पता नहीं कि यह संभव है। वो... बहुत अच्छी सुरक्षा नहीं है।
इसे खुद क्यों बनाएं?
तो मैं आपको यह करना क्यों सिखा रहा हूं? कुछ कारण:
1. थ्रेट मॉडल को समझना। आप किसी ऐसी चीज़ से अपनी रक्षा नहीं कर सकते जो आप समझते नहीं। इसे अपनी आंखों से काम करते देखना इसे वास्तविक बनाता है उस तरह से जो पढ़ने से नहीं होता।
2. वैध उपयोग वाकई बढ़िया हैं। बिना कैमरों के स्मार्ट होम मोशन डिटेक्शन। ऑटोमेशन के लिए प्रेज़ेंस सेंसिंग। बुज़ुर्ग रिश्तेदारों के लिए फॉल डिटेक्शन। यह जानकर ऊर्जा बचत कि कौन से कमरे इस्तेमाल में हैं। सब कुछ बिना हर जगह सेंसर लगाए।
3. यह वाकई मोहक है। आप रेडियो वेव्स को भौतिक स्थान के विज़ुअलाइज़ेशन में बदल रहे हैं। वो साइबरपंक लेवल का है।
जो हम बना रहे हैं वह नैतिक, केवल अपने नेटवर्क पर प्रयोग है। आप अपना WiFi मॉनिटर कर रहे हैं, अपने घर में, उस तकनीक को समझने के लिए जो आप पहले से इस्तेमाल कर रहे हैं। यह सिर्फ कानूनी नहीं है, यह स्मार्ट है।
दो रास्ते: अपनी एडवेंचर चुनें
मैं आपको दो विकल्प दूंगा आपके कम्फर्ट लेवल और आपके पास मौजूद हार्डवेयर के अनुसार।
रास्ता A: पूर्ण अनुभव (Linux + Wi-BFI)
- समय: 30-60 मिनट
- कठिनाई: मध्यम (कमांड लाइन आवश्यक)
- हार्डवेयर: Linux मशीन + मॉनिटर मोड वाला WiFi एडाप्टर
- परिणाम: BFI डेटा का लाइव विज़ुअलाइज़ेशन, रियल-टाइम प्लॉट में अपनी मूवमेंट देखें
रास्ता B: प्लग एंड प्ले (ESP32 + ESPectre)
- समय: 15-30 मिनट
- कठिनाई: आसान (वेब फ्लैशर, कॉपी-पेस्ट कॉन्फिग)
- हार्डवेयर: ESP32-S3 या ESP32-C6 बोर्ड (~$10)
- परिणाम: Home Assistant में काम करने वाला मोशन सेंसर
रास्ता A: Wi-BFI डीप डाइव
यह "असली डेटा देखें" वाला तरीका है। आप अपने राउटर से असली BFI फ्रेम्स कैप्चर करेंगे और उन्हें बदलते हुए विज़ुअलाइज़ करेंगे जब आप इधर-उधर चलते हैं। यह वही तरीका है जो शोधकर्ता अकादमिक पेपर्स में इस्तेमाल करते हैं।
आपको क्या चाहिए
- Linux मशीन — Ubuntu 22.04/24.04, या Raspberry Pi
- मॉनिटर मोड वाला WiFi एडाप्टर — ज़्यादातर बिल्ट-इन Intel/Broadcom/Realtek चिप्स काम करते हैं। नहीं तो, $15 का USB डॉंगल जैसे TP-Link AC600 या Alfa AWUS036ACH काम करेगा।
- आपका मौजूदा WiFi राउटर — कोई भी 802.11ac या 802.11ax राउटर (यानी पिछले 5 सालों का कोई भी राउटर)
स्टेप 1: टूल्स इंस्टॉल करें
टर्मिनल खोलें और चलाएं:
# 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 thisस्टेप 2: 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-bfiस्टेप 3: अपनी नेटवर्क जानकारी खोजें
आपको अपने राउटर का चैनल और बैंडविड्थ जानना होगा। चलाएं:
# See your wireless interface name
iw dev
# Or open Wireshark and scan for networksअपने इंटरफ़ेस का नाम नोट करें (आमतौर पर wlan0 या wlp2s0), चैनल (जैसे 36 या 149), और बैंडविड्थ (80MHz 5GHz के लिए आम है)।
स्टेप 4: कैप्चरिंग शुरू करें
दो टर्मिनल खोलें। पहले में, कैप्चर शुरू करें:
cd ~/Wi-BFI/Demo
# Replace values with your actual settings
./angle_collection.sh my_capture wlan0 36 80MHz 1दूसरे टर्मिनल में, लाइव विज़ुअलाइज़ेशन शुरू करें:
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 1स्टेप 5: जादू देखें
अब कमरे में चलें। प्लॉट्स देखें। वो एंगल्स और एम्प्लीट्यूड्स हिलते हुए दिख रहे हैं? यह आपका शरीर WiFi वेव्स को रिफ्लेक्ट कर रहा है। गणित सचमुच स्पेस में आपकी मूवमेंट ट्रैक कर रहा है।
स्थिर खड़े रहें, और प्लॉट स्थिर हो जाता है। अपने फोन के पास से गुज़रें, और स्पाइक आता है। हाथ हिलाएं, और आपको संबंधित बदलाव दिखेंगे। यही वो डेटा है जो मोशन डिटेक्शन, जेस्चर रिकग्निशन, या... निगरानी के लिए इस्तेमाल किया जा सकता है।
रास्ता B: ESP32 का आसान तरीका
Linux और मॉनिटर मोड से उलझना नहीं चाहते? ESP32 बोर्ड लें और 15 मिनट में एक काम करने वाला मोशन सेंसर पाएं।
आपको क्या चाहिए
- ESP32-S3 या ESP32-C6 बोर्ड — Amazon पर लगभग $8-12। ESP32-C6 नया है और बढ़िया काम करता है।
- USB-C केबल — बोर्ड फ्लैश करने के लिए
- Home Assistant — वैकल्पिक लेकिन पूर्ण अनुभव के लिए अनुशंसित
ESPectre प्रोजेक्ट
ESPectre एक ओपन-सोर्स प्रोजेक्ट है जो विशेष रूप से आपके WiFi को मोशन सेंसर में बदलने के लिए डिज़ाइन किया गया है। यह अपनी सरलता में शानदार है।
GitHub: github.com/francescopace/espectre
सेटअप स्टेप्स
1. बोर्ड फ्लैश करें — ESPectre वेब फ्लैशर पर जाएं (उनके repo में लिंक है)। अपना ESP32 प्लग करें, फ्लैश पर क्लिक करें, हो गया।
2. WiFi कॉन्फ़िगर करें — बोर्ड एक हॉटस्पॉट बनाता है। उससे कनेक्ट करें, अपने होम WiFi की जानकारी डालें।
3. Home Assistant में जोड़ें — अगर आप Home Assistant चला रहे हैं, तो यह ऑटो-डिस्कवर होता है मोशन सेंसर एंटिटी के रूप में। फिर आप ऑटोमेशन ट्रिगर कर सकते हैं: मोशन डिटेक्ट होने पर लाइट्स ऑन, जब आप बाहर हों तो अलर्ट, आदि।
4. बस इतना ही। अब आपके पास एक मोशन सेंसर है जो दीवारों के आर-पार काम करता है, लाइन ऑफ़ साइट की ज़रूरत नहीं, और आपका मौजूदा WiFi इंफ्रास्ट्रक्चर इस्तेमाल करता है।
वास्तविक दुनिया के उपयोग
- पूरे घर में प्रेज़ेंस: बिना कैमरों के जानें कौन से कमरे इस्तेमाल में हैं
- स्लीप ट्रैकिंग: पता लगाएं कि कोई बिस्तर पर कब है (बिना wearables)
- सुरक्षा: जब सब बाहर हों तो मोशन डिटेक्ट होने पर अलर्ट
- ऑटोमेशन: वास्तविक रूम ऑक्यूपेंसी पर आधारित HVAC, लाइटिंग
- बुज़ुर्गों की देखभाल: फॉल डिटेक्शन, एक्टिविटी मॉनिटरिंग
Home Assistant: जहां यह सच में मज़ेदार हो जाता है
यहां हम एक कूल साइंस प्रोजेक्ट को वाकई उपयोगी होम ऑटोमेशन में बदलते हैं। जब आपका WiFi मोशन सेंसर Home Assistant से बात कर रहा हो, तो आप ऐसे ऑटोमेशन बना सकते हैं जिनके लिए अन्यथा दर्जनों PIR सेंसर, कैमरे, या महंगे कमर्शियल सिस्टम चाहिए होंगे।
WiFi सेंसिंग की खूबसूरती यह है कि यह दीवारों के आर-पार काम करता है। आपके हॉलवे में एक ESP32 कई कमरों में मोशन डिटेक्ट कर सकता है। लाइन-ऑफ-साइट की ज़रूरत नहीं। डेड ज़ोन नहीं। बैटरी बदलने की ज़रूरत नहीं।
उदाहरण ऑटोमेशन (कॉपी-पेस्ट YAML)
1. कमरे में प्रवेश करने पर लाइट्स ऑन:
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. अवे मोड सुरक्षा अलर्ट:
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:
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. बेडटाइम डिटेक्शन (बिना wearables):
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. बुज़ुर्ग देखभाल / फॉल डिटेक्शन अलर्ट:
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: highHome Assistant इंटीग्रेशन के लिए प्रो टिप्स
- एकाधिक सेंसर: पूरे घर की कवरेज के लिए 2-3 ESP32 लगाएं। प्रति फ्लोर एक अच्छा काम करता है।
- सेंसिटिविटी ट्यून करें: पालतू जानवरों से फॉल्स पॉज़िटिव से बचने के लिए ESPectre कॉन्फिग में डिटेक्शन थ्रेशोल्ड एडजस्ट करें।
- अन्य सेंसरों के साथ मिलाएं: WiFi मोशन को "मोटा स्ट्रोक" डिटेक्टर के रूप में इस्तेमाल करें, फिर विशिष्ट जानकारी के लिए दरवाज़े/खिड़की सेंसरों से रिफाइन करें।
- टेम्पलेट सेंसर: बाइनरी सेंसर बनाएं जो कई कमरों को ज़ोन में जोड़ें (ऊपरी मंज़िल, निचली मंज़िल, आदि)
- हिस्ट्री ट्रैकिंग: समय के साथ मोशन पैटर्न लॉग करने के लिए Recorder कंपोनेंट इस्तेमाल करें। सुरक्षा विश्लेषण के लिए उपयोगी।
किलर यूज़ केस: पूरे घर में प्रेज़ेंस
पारंपरिक मोशन सेंसर (PIR) केवल गर्मी और मूवमेंट डिटेक्ट करते हैं। वे नहीं बता सकते कि कोई चुपचाप बैठा है। WiFi सेंसिंग बता सकती है। यह सांस लेने, टाइप करने, या बस किसी स्थान में मौजूद होने की सूक्ष्म गतिविधियों को डिटेक्ट करती है।
इसका मतलब है कि आप ऐसे ऑटोमेशन बना सकते हैं जो जानते हैं कि आप कमरे में हैं, तब भी जब आप अपने डेस्क पर चुपचाप काम कर रहे हों। लाइट्स बंद नहीं होतीं क्योंकि आपने हिलना बंद कर दिया। HVAC कम नहीं होता क्योंकि आप किताब पढ़ रहे हैं।
वह प्रेज़ेंस डिटेक्शन है, सिर्फ मोशन डिटेक्शन नहीं। और आपने इसे $10 में बनाया।
आगे बढ़ें: मोशन डिटेक्शन जोड़ें
जब आपके पास लाइव BFI डेटा स्ट्रीमिंग हो (रास्ता A से), तो आप लगभग 10 लाइन्स Python से वास्तविक मोशन डिटेक्शन जोड़ सकते हैं। कॉन्सेप्ट सरल है: अगर एंगल्स का वेरिएंस एक थ्रेशोल्ड से ज़्यादा हो, तो कुछ हिला।
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 wantयह एक बेसिक वर्शन है। रिसर्च पेपर्स ज़्यादा सोफिस्टिकेटेड तकनीकें इस्तेमाल करते हैं: मशीन लर्निंग क्लासिफायर, मल्टीपल एंटीना स्ट्रीम्स, टेम्पोरल पैटर्न, मोशन के प्रकारों में भेद करने, लोगों की गिनती करने, या विशिष्ट गतिविधियों को पहचानने के लिए।
प्राइवेसी के लिए इसका क्या मतलब है
अब जब आपने इसे काम करते देख लिया है, तो बात करते हैं कि इसका क्या मतलब है:
आपका WiFi हमेशा ब्रॉडकास्ट कर रहा है। जब भी आप इसे सक्रिय रूप से इस्तेमाल नहीं कर रहे, आपका राउटर और डिवाइसेज़ BFI डेटा एक्सचेंज कर रहे हैं। रेडियो रेंज में कोई भी इन फ्रेम्स को कैप्चर कर सकता है।
एन्क्रिप्शन यहां मदद नहीं करता। BFI फिज़िकल लेयर हैंडशेक का हिस्सा है। यह एन्क्रिप्शन से पहले होता है। WPA3, VPN, इनमें से कुछ भी इस विशिष्ट डेटा के लिए मायने नहीं रखता।
एकमात्र वास्तविक समाधान भौतिक है: फैराडे केज (अव्यावहारिक), ट्रांसमिट पावर कम करना (आपका WiFi खराब करता है), या स्वीकार करना कि आपके घर का ऑक्यूपेंसी पैटर्न रेडियो रेंज में प्रभावी रूप से सार्वजनिक जानकारी है।
यह डराने के बारे में नहीं है। यह सूचित सहमति के बारे में है। आप ऐसी तकनीक इस्तेमाल कर रहे हैं जिसमें ये विशेषताएं हैं। अब आप जानते हैं।
अंत में
आपने अभी सीखा कि आपका WiFi राउटर मूल रूप से एक रडार सिस्टम है, रेडियो वेव्स का इस्तेमाल करके अपना खुद का मोशन डिटेक्टर बनाया, और उम्मीद है कि बेहतर समझ हासिल की कि हमारे चारों ओर के अदृश्य सिग्नल हमारे भौतिक संसार के बारे में जानकारी कैसे ले जाते हैं।
तकनीक तटस्थ है। इसका इस्तेमाल सुविधाजनक होम ऑटोमेशन या चिंताजनक निगरानी के लिए किया जा सकता है। जो मायने रखता है वह इसे समझना है, ताकि आप अपने द्वारा किए जा रहे समझौतों के बारे में सूचित निर्णय ले सकें।
और हां, आपके पास दिखाने के लिए एक कूल वीकेंड प्रोजेक्ट भी है। "हां, मैंने अपने WiFi को मोशन सेंसर में बदल दिया। कोई बड़ी बात नहीं।"
यह काफ़ी मज़ेदार है।
संसाधन
- Wi-BFI: github.com/kfoysalhaque/Wi-BFI
- ESPectre: github.com/francescopace/espectre
- WiFi सेंसिंग पर रिसर्च पेपर: गहन अध्ययन के लिए Google Scholar पर "WiFi CSI human activity recognition" खोजें