ESP8266 - Presenting a Successful Signal Level Tester

Various Youtubes etc show attempts to measure the performance of ESP8266 devices & specifically achievable range but no code seems to be published.

Today I discovered the following library in which is an example 'SimplePing' which I have enhanced as follows to test propagation range between a ESP8266-E12 and my home WiFi Modem Router. GitHub - dancol90/ESP8266Ping: Ping library for ESP8266 Arduino core

TEST CONFIGURATION
I'm using ESP8266-12E although a ESP8266-01 would suffice but needs to be setup in a jig with 'flash' & 'reset' buttons for initial programming.
Connected to the ESP is a 0.96inch OLED display
The whole unit is mounted on some protoboard & for portability powered from a battery pack.

OPERATION
Basically the ESP connects to the home WiFiRouter and pings www.google.com
The program loops detecting the RSSI (dBm) signal level from the WiFiRouter and also the Ping response time in mS from Google remote server. This data is then displayed on the OLED

Now using the unit as a portable device, you then roam the house / area monitoring the varying signal level. Error detection displayed 'Lost WiFi' on the OLED when the ESP loses the WiFi from the Wireless Router and returns to normal when you come back into range.

My first mobile test achieved 200 metres without any difficulty in reasonable open area. While testing I also had along side a smart phone app 'WiFi Analyser' which reported remarkably similar RSSI levels as on the OLED.

I will now be able to use this test setup to test various antenna modifications to the ESP including performance with single wire and dipole polarization (i.e. Vertical or Horizontal) .

When I get around to it I will set up another ESP as a WiFiServer and see signal levels ESP to ESP.

Attached is the code and images.... Enjoy and please feel welcome to respond as you see fit.

Ping Scanner.pdf (120 KB)

SimplePing_plus_Oled.ino (3.44 KB)