Skip to content

ESP8266 WIFI Scanner for internal positioning/location

Notifications You must be signed in to change notification settings

mzealey/ESP8266-WIFI-Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A very small project inspired by ESP8266 Mini Sniff to periodically dump MAC address and signal strength (RSSI) from the specified WiFi network over the serial port.

It is intended to work with something like [Find-LF])https://github.com/schollz/find-lf) to take the results from multiple of these deployments and turn them into an internal location.

It should work in conjunction with any device that has a serial port (Raspberry Pi, C.H.I.P etc). I wrote a guide on automatically reprogramming the ESP8266 via a C.H.I.P which again should work on other mini-computers.

Compiling

The project uses PlatformIO. Simply clone the repository, edit the configuration file with your own wireless network SSID to track, and build like:

platformio run

You can then flash the firmware like:

esptool.py -p /dev/ttyS2 write_flash --flash_mode dio 0 .pioenvs/esp01_1m/firmware.bin

Dump Format

The output is printed over the serial port at 115200bps. Every second a summary of each MAC seen over that time period is displayed preceeded by '----'. The output format is like:

----
abcdef123456 -72 1
123456abcdef -35 4
----
abcdef123456 -70 5

Where the first entry is the MAC address, the second the average (mean) RSSI, and the third entry the number of packets that RSSI has been calculated from.

It will take a few seconds when the ESP8266 first boots to scan all wireless networks and find the channel that your SSID is on. Once it has been found it prints a line saying which channel it is on, and from then on every second it produces a dump, even if no devices have been observed.

About

ESP8266 WIFI Scanner for internal positioning/location

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages