- put ESP32 in promiscous mode (hand us ALL Wifi frames seen on the antenna not just the ones from or for our ESP32)
- listen for Wifi frames flying by (every second or so, switch Wifi channel - there are around 10 or so in the 2.4Ghz band - and listen on that channel)
- filter so we look only at those frames where
- either the sender or receiver is one of our Wifi access points (home router etc.)
- the other end of the frame has a MAC address we recognize
- how ? we built in list of devices (by Wifi MAC address) "attached" to known people (phones, laptops, watches, cars, airpods etc.)
- if one of those seen
- switch to Wifi station mode, connect to your Wifi
- pump up a notification to an MQTT server
- switch back to promiscuous mode
From there it can make its way into databases like InfluxDB, out to IFTTT, into web pages etc. Perhaps with a little additional processing in NodeRed to collate & timeout a persons signals to get an up to date "presence" status. Eg not seen for 10 minutes ? Probably left the premises....
RSSI (Signal Strength) provided to see if any useful conclusions can be made (doubtful as signal strength is between client device and one or various access points not between the device and the ESP32 running the people detector.
- The magnificent tinkerer and teacher Andreas Spiess: