Θα σου δείξω κάτι που θα αλλάξει τον τρόπο που σκέφτεσαι για το WiFi router που κάθεται στο σαλόνι σου. Δεν είναι απλά μια πύλη στο internet. Είναι ένα σύστημα radar που μπορεί να σε δει να αναπνέεις.
Δεν είναι επιστημονική φαντασία. Φυσική. Και μπορείς να φτιάξεις ένα μόνος σου αυτό το Σαββατοκύριακο.
Περίμενε, Τι; Το Router Μου Μπορεί Να Με Δει;
Να τι συμβαίνει πραγματικά: Το σύγχρονο WiFi (802.11ac/ax) χρησιμοποιεί κάτι που λέγεται beamforming (διαμόρφωση δέσμης). Το router σου έχει πολλαπλές κεραίες, και αντί να εκπέμπει σήμα προς όλες τις κατευθύνσεις εξίσου, εστιάζει το σήμα προς τις συσκευές σου. Σκέψου το σαν ένα προβολέα αντί για φωτισμό πλημμύρας.
Για να το κάνει αυτό, το router και οι συσκευές σου ανταλλάσσουν συνεχώς ανατροφοδότηση για το σήμα, συγκεκριμένα κάτι που ονομάζεται BFI (Beamforming Feedback Information). Αυτά τα δεδομένα περιγράφουν ακριβώς πώς τα ραδιοκύματα αναπηδούν μέσα στο δωμάτιό σου.
Και εδώ είναι το ενδιαφέρον: αυτή η ανατροφοδότηση δεν είναι κρυπτογραφημένη. Οποιοσδήποτε μπορεί να την καταγράψει. Και όταν εσύ, ένας μεγάλος σάκος νερό που αντανακλά ραδιοκύματα, κινείσαι μέσα στο δωμάτιο, τα δεδομένα BFI αλλάζουν. Περπάτα στο σαλόνι σου, και τα μαθηματικά κυριολεκτικά δείχνουν την κίνησή σου.
Η Επιστήμη σε Απλά Λόγια
Το σώμα σου αντανακλά σήματα WiFi. Όταν κινείσαι, οι αντανακλάσεις αλλάζουν. Το router σου παρακολουθεί αυτές τις αλλαγές για να βελτιστοποιήσει την ισχύ σήματος. Αυτά τα δεδομένα παρακολούθησης εκπέμπονται ανοιχτά. Κατέγραψέ τα, και έχεις έναν αισθητήρα κίνησης που λειτουργεί μέσα από τοίχους.
Οι ερευνητές έχουν χρησιμοποιήσει αυτό για να ανιχνεύσουν μοτίβα αναπνοής, να μετρήσουν ανθρώπους σε ένα δωμάτιο, να αναγνωρίσουν χειρονομίες, ακόμα και να αναγνωρίσουν συγκεκριμένα άτομα από τον τρόπο που περπατούν. Εμπορικά προϊόντα υπάρχουν ήδη που μετατρέπουν το υπάρχον WiFi σου σε σύστημα ανίχνευσης κίνησης για όλο το σπίτι.
Οι Επιπτώσεις στην Ιδιωτικότητα (Ναι, Είναι Ανησυχητικό)
Πριν μπούμε στο διασκεδαστικό κομμάτι του project, ας αντιμετωπίσουμε τον ελέφαντα στο δωμάτιο: αυτό είναι θέμα ιδιωτικότητας.
Το δίκτυο WiFi σου εκπέμπει συνεχώς πληροφορίες που μπορούν να αποκαλύψουν:
- Αν κάποιος είναι σπίτι
- Πόσοι άνθρωποι είναι σε ένα δωμάτιο
- Γενικά μοτίβα κίνησης σε όλο το σπίτι σου
- Δυνητικά, συγκεκριμένες δραστηριότητες (μαγείρεμα, ύπνο, γυμναστική)
Κάποιος με τον κατάλληλο εξοπλισμό παρκαρισμένος έξω από το σπίτι σου θα μπορούσε θεωρητικά να καταγράψει αυτά τα δεδομένα. Δεν χρειάζεται να είναι στο δίκτυό σου. Απλά χρειάζεται να λάβει τα BFI frames που εκπέμπει το router σου.
"Η ίδια τεχνολογία που κάνει το WiFi σου πιο γρήγορο κάνει επίσης το σπίτι σου διαφανές για οποιονδήποτε ξέρει πώς να κοιτάξει."
Αυτό δεν είναι υποθετικό. Ερευνητικές εργασίες το έχουν αποδείξει. Ο μόνος λόγος που δεν εκμεταλλεύεται ευρύτερα είναι ότι οι περισσότεροι δεν ξέρουν ότι είναι δυνατό. Αυτό... δεν είναι και τόσο καλή ασφάλεια.
Γιατί Να Το Φτιάξεις Μόνος Σου;
Γιατί σου λέω λοιπόν πώς να το κάνεις αυτό; Μερικοί λόγοι:
1. Κατανόηση του μοντέλου απειλής. Δεν μπορείς να προστατευτείς από κάτι που δεν καταλαβαίνεις. Το να το δεις να λειτουργεί με τα ίδια σου τα μάτια το κάνει πραγματικό με έναν τρόπο που η ανάγνωση δεν πετυχαίνει.
2. Οι νόμιμες χρήσεις είναι πραγματικά cool. Ανίχνευση κίνησης για έξυπνο σπίτι χωρίς κάμερες. Αισθητήρες παρουσίας για αυτοματισμό. Ανίχνευση πτώσεων για ηλικιωμένους συγγενείς. Εξοικονόμηση ενέργειας γνωρίζοντας ποια δωμάτια είναι κατειλημμένα. Όλα χωρίς εγκατάσταση αισθητήρων παντού.
3. Είναι πραγματικά συναρπαστικό. Μετατρέπεις ραδιοκύματα σε οπτικοποίηση του φυσικού χώρου. Αυτό είναι cyberpunk στο φουλ.
Αυτό που φτιάχνουμε είναι ηθικό πείραμα, μόνο στο δικό σου δίκτυο. Παρακολουθείς το δικό σου WiFi, στο δικό σου σπίτι, για να καταλάβεις τεχνολογία που ήδη χρησιμοποιείς. Αυτό δεν είναι μόνο νόμιμο, είναι έξυπνο.
Δύο Δρόμοι: Διάλεξε Την Περιπέτειά Σου
Θα σου δώσω δύο επιλογές ανάλογα με το επίπεδο άνεσής σου και τι hardware έχεις τριγύρω.
Δρόμος A: Η Πλήρης Εμπειρία (Linux + Wi-BFI)
- Χρόνος: 30-60 λεπτά
- Δυσκολία: Μέτρια (απαιτείται γραμμή εντολών)
- Hardware: Μηχάνημα Linux + WiFi adapter με monitor mode
- Αποτέλεσμα: Ζωντανή οπτικοποίηση δεδομένων BFI, δες την κίνησή σου σε γραφήματα πραγματικού χρόνου
Δρόμος B: Plug and Play (ESP32 + ESPectre)
- Χρόνος: 15-30 λεπτά
- Δυσκολία: Εύκολη (web flasher, copy-paste config)
- Hardware: ESP32-S3 ή ESP32-C6 board (~$10)
- Αποτέλεσμα: Λειτουργικός αισθητήρας κίνησης στο Home Assistant
Δρόμος A: Η Βαθιά Ανάλυση Wi-BFI
Αυτή είναι η προσέγγιση "δες τα πραγματικά δεδομένα". Θα καταγράψεις πραγματικά BFI frames από το router σου και θα τα οπτικοποιήσεις καθώς αλλάζουν ενώ κινείσαι. Είναι η ίδια μέθοδος που χρησιμοποιούν οι ερευνητές σε ακαδημαϊκές εργασίες.
Τι Χρειάζεσαι
- Μηχάνημα Linux — Ubuntu 22.04/24.04, ή Raspberry Pi
- WiFi adapter με monitor mode — Τα περισσότερα ενσωματωμένα Intel/Broadcom/Realtek chips λειτουργούν. Αν όχι, ένα USB dongle των $15 όπως το TP-Link AC600 ή Alfa AWUS036ACH θα κάνει τη δουλειά.
- Το υπάρχον WiFi router σου — Οποιοδήποτε 802.11ac ή 802.11ax router (δηλαδή βασικά οποιοδήποτε router των τελευταίων 5 χρόνων)
Βήμα 1: Εγκατάσταση Εργαλείων
Άνοιξε ένα terminal και τρέξε:
# 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: Βρες τις Πληροφορίες Δικτύου Σου
Πρέπει να ξέρεις το κανάλι και το bandwidth του router σου. Τρέξε:
# See your wireless interface name
iw dev
# Or open Wireshark and scan for networksΣημείωσε το όνομα της διεπαφής σου (συνήθως wlan0 ή wlp2s0), κανάλι (όπως 36 ή 149) και bandwidth (80MHz είναι συνηθισμένο για 5GHz).
Βήμα 4: Ξεκίνα την Καταγραφή
Άνοιξε δύο terminals. Στο πρώτο, ξεκίνα την καταγραφή:
cd ~/Wi-BFI/Demo
# Replace values with your actual settings
./angle_collection.sh my_capture wlan0 36 80MHz 1Στο δεύτερο terminal, ξεκίνα τη ζωντανή οπτικοποίηση:
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 και monitor mode; Πάρε ένα ESP32 board και έχε έναν λειτουργικό αισθητήρα κίνησης σε 15 λεπτά.
Τι Χρειάζεσαι
- ESP32-S3 ή ESP32-C6 board — Περίπου $8-12 στο Amazon. Το ESP32-C6 είναι πιο καινούργιο και λειτουργεί εξαιρετικά.
- Καλώδιο USB-C — Για να κάνεις flash το board
- Home Assistant — Προαιρετικό αλλά συνιστάται για την πλήρη εμπειρία
Το Project ESPectre
Το ESPectre είναι ένα open-source project σχεδιασμένο ειδικά για να μετατρέψει το WiFi σου σε αισθητήρα κίνησης. Είναι εξαιρετικό στην απλότητά του.
GitHub: github.com/francescopace/espectre
Βήματα Εγκατάστασης
1. Flash το board — Πήγαινε στον web flasher του ESPectre (link στο repo τους). Σύνδεσε το ESP32 σου, κάνε κλικ στο flash, τέλος.
2. Ρύθμιση WiFi — Το board δημιουργεί ένα hotspot. Συνδέσου σε αυτό, βάλε τα στοιχεία του WiFi σπιτιού σου.
3. Πρόσθεσε στο Home Assistant — Αν τρέχεις Home Assistant, ανακαλύπτεται αυτόματα ως οντότητα αισθητήρα κίνησης. Μπορείς μετά να ενεργοποιήσεις αυτοματισμούς: φώτα όταν ανιχνεύεται κίνηση, ειδοποιήσεις όταν λείπεις, κ.λπ.
4. Αυτό ήταν κυριολεκτικά. Τώρα έχεις έναν αισθητήρα κίνησης που λειτουργεί μέσα από τοίχους, δεν απαιτεί οπτική επαφή, και χρησιμοποιεί την υπάρχουσα υποδομή WiFi σου.
Χρήσεις στον Πραγματικό Κόσμο
- Παρουσία σε όλο το σπίτι: Γνώριζε ποια δωμάτια είναι κατειλημμένα χωρίς κάμερες
- Παρακολούθηση ύπνου: Ανίχνευσε πότε κάποιος είναι στο κρεβάτι (χωρίς wearables)
- Ασφάλεια: Ειδοποίηση αν ανιχνευτεί κίνηση όταν όλοι λείπουν
- Αυτοματισμός: HVAC, φωτισμός βασισμένος σε πραγματική κατάληψη δωματίων
- Φροντίδα ηλικιωμένων: Ανίχνευση πτώσεων, παρακολούθηση δραστηριότητας
Home Assistant: Εκεί Που Γίνεται Πραγματικά Διασκεδαστικό
Εδώ μετατρέπουμε ένα cool επιστημονικό project σε πραγματικά χρήσιμο αυτοματισμό σπιτιού. Μόλις ο αισθητήρας κίνησης WiFi σου επικοινωνεί με το Home Assistant, μπορείς να φτιάξεις αυτοματισμούς που αλλιώς θα απαιτούσαν δεκάδες αισθητήρες PIR, κάμερες ή ακριβά εμπορικά συστήματα.
Η ομορφιά της ανίχνευσης WiFi είναι ότι λειτουργεί μέσα από τοίχους. Ένα ESP32 στο διάδρομό σου μπορεί να ανιχνεύσει κίνηση σε πολλαπλά δωμάτια. Χωρίς απαίτηση οπτικής επαφής. Χωρίς νεκρές ζώνες. Χωρίς μπαταρίες να αντικαθιστάς.
Παραδείγματα Αυτοματισμών (Copy-Paste 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: highPro Tips για την Ενσωμάτωση Home Assistant
- Πολλαπλοί αισθητήρες: Τοποθέτησε 2-3 ESP32 για κάλυψη όλου του σπιτιού. Ένα ανά όροφο δουλεύει καλά.
- Ρύθμιση ευαισθησίας: Προσάρμοσε το κατώφλι ανίχνευσης στη ρύθμιση ESPectre για να αποφύγεις ψευδείς ειδοποιήσεις από κατοικίδια.
- Συνδυασμός με άλλους αισθητήρες: Χρησιμοποίησε την κίνηση WiFi ως ανιχνευτή "γενικής εικόνας", μετά εξειδίκευσε με αισθητήρες πόρτας/παραθύρου για λεπτομέρειες.
- Template αισθητήρες: Δημιούργησε binary αισθητήρες που συνδυάζουν πολλαπλά δωμάτια σε ζώνες (πάνω όροφος, κάτω όροφος, κ.λπ.)
- Παρακολούθηση ιστορικού: Χρησιμοποίησε το component Recorder για καταγραφή μοτίβων κίνησης στη διάρκεια του χρόνου. Χρήσιμο για ανάλυση ασφαλείας.
Η Κορυφαία Χρήση: Παρουσία σε Όλο το Σπίτι
Οι παραδοσιακοί αισθητήρες κίνησης (PIR) ανιχνεύουν μόνο θερμότητα και κίνηση. Δεν μπορούν να πουν αν κάποιος κάθεται ακίνητος. Η ανίχνευση WiFi μπορεί. Ανιχνεύει τις μικροσκοπικές κινήσεις της αναπνοής, του πληκτρολογήματος, ή απλά της ύπαρξης σε έναν χώρο.
Αυτό σημαίνει ότι μπορείς να φτιάξεις αυτοματισμούς που ξέρουν ότι είσαι σε ένα δωμάτιο ακόμα και όταν δουλεύεις ήσυχα στο γραφείο σου. Τα φώτα δεν σβήνουν επειδή σταμάτησες να κινείσαι. Το HVAC δεν χαμηλώνει επειδή διαβάζεις ένα βιβλίο.
Αυτή είναι ανίχνευση παρουσίας, όχι απλά ανίχνευση κίνησης. Και το έφτιαξες για $10.
Πηγαίνοντας Παραπέρα: Πρόσθεσε Ανίχνευση Κίνησης
Μόλις έχεις ζωντανά BFI δεδομένα σε streaming (από τον Δρόμο 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Αυτή είναι μια βασική έκδοση. Οι ερευνητικές εργασίες χρησιμοποιούν πιο εξελιγμένες τεχνικές: ταξινομητές machine learning, πολλαπλά ρεύματα κεραιών, χρονικά μοτίβα, για να διακρίνουν μεταξύ τύπων κίνησης, να μετρήσουν ανθρώπους ή ακόμα να αναγνωρίσουν συγκεκριμένες δραστηριότητες.
Τι Σημαίνει Αυτό για την Ιδιωτικότητα
Τώρα που το είδες να λειτουργεί, ας μιλήσουμε για το τι σημαίνει αυτό:
Το WiFi σου εκπέμπει πάντα. Ακόμα και όταν δεν το χρησιμοποιείς ενεργά, το router και οι συσκευές σου ανταλλάσσουν δεδομένα BFI. Οποιοσδήποτε σε εμβέλεια ραδιοκυμάτων μπορεί να καταγράψει αυτά τα frames.
Η κρυπτογράφηση δεν βοηθάει εδώ. Το BFI είναι μέρος του handshake φυσικού επιπέδου. Συμβαίνει πριν την κρυπτογράφηση. WPA3, VPN, τίποτα από αυτά δεν έχει σημασία για αυτά τα συγκεκριμένα δεδομένα.
Η μόνη πραγματική αντιμετώπιση είναι φυσική: Κλωβοί Faraday (μη πρακτικό), μείωση ισχύος εκπομπής (χαλάει το WiFi σου), ή αποδοχή ότι το μοτίβο κατάληψης του σπιτιού σου είναι ουσιαστικά δημόσια πληροφορία σε εμβέλεια ραδιοκυμάτων.
Δεν πρόκειται για τρομοκράτηση. Πρόκειται για ενημερωμένη συγκατάθεση. Χρησιμοποιείς τεχνολογία που έχει αυτές τις ιδιότητες. Τώρα το ξέρεις.
Συμπέρασμα
Μόλις έμαθες ότι το WiFi router σου είναι βασικά ένα σύστημα radar, έφτιαξες τον δικό σου ανιχνευτή κίνησης χρησιμοποιώντας ραδιοκύματα, και ελπίζω απέκτησες καλύτερη κατανόηση του πώς τα αόρατα σήματα γύρω μας μεταφέρουν πληροφορίες για τον φυσικό μας κόσμο.
Η τεχνολογία είναι ουδέτερη. Μπορεί να χρησιμοποιηθεί για βολικό αυτοματισμό σπιτιού ή ανησυχητική παρακολούθηση. Αυτό που μετράει είναι να την καταλαβαίνεις, ώστε να μπορείς να παίρνεις ενημερωμένες αποφάσεις για τους συμβιβασμούς που κάνεις.
Και ε, έχεις επίσης ένα cool project Σαββατοκύριακου να επιδείξεις. "Ναι, μετέτρεψα το WiFi μου σε αισθητήρα κίνησης. Τίποτα σπουδαίο."
Αυτό είναι αρκετά διασκεδαστικό.
Πηγές
- Wi-BFI: github.com/kfoysalhaque/Wi-BFI
- ESPectre: github.com/francescopace/espectre
- Ερευνητική εργασία για ανίχνευση WiFi: Ψάξε "WiFi CSI human activity recognition" στο Google Scholar για βαθύτερη ανάλυση