Devices & Components
Arduino Uno Rev3
FireBeetle ESP32 IOT Microcontroller (Supports Wi-Fi & Bluetooth)
Jumper wires (generic)
Graphic OLED, 128 x 64
Software & Tools
Arduino IDE
Project description
Code
WiFi scanner coding
arduino
1#include "WiFi.h" 2#include <SPI.h> 3#include <Wire.h> 4#include <Adafruit_GFX.h> 5#include <Adafruit_SSD1306.h> 6Adafruit_SSD1306 display(-1); 7 8 9 10void setup() 11{ 12 // Set WiFi to station mode and disconnect from an AP if it was previously connected 13 WiFi.mode(WIFI_STA); 14 WiFi.disconnect(); 15 delay(100); 16 17 // initialize with the I2C addr 0x3C 18 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 19 20 // Clear the buffer. 21 display.clearDisplay(); 22 display.setTextSize(2); 23 display.setTextColor(WHITE); 24 25 display.setCursor(0,28); 26 display.println(" WIFI SCAN"); 27 display.display(); 28 delay(2000); 29 30} 31 32void loop() 33{ 34 // WiFi.scanNetworks will return the number of networks found 35 //MatchState ms; 36 int n = WiFi.scanNetworks(); 37 String ssid[n]; 38 String rssi[n]; 39 if (n == 0) { 40 Serial.println("no networks found"); 41 } else { 42 Serial.print(n); 43 Serial.println(" networks found"); 44 for (int i = 0; i < n; ++i) { 45 // Print SSID and RSSI for each network found 46 display.clearDisplay(); 47 ssid[i] = WiFi.SSID(i); 48 rssi[i] = WiFi.RSSI(i); 49 } 50 } 51 52 for (int i = 0; i < n; ++i) { 53 display.setTextSize(1); 54 display.setTextColor(WHITE); 55 56 display.setCursor(0,14*i); 57 String ssid2 = ssid[i]; 58 ssid2.replace("unifi", "u"); //I customize so that it the display format is in single line 59 display.println(ssid2+":"+ rssi[i]); 60 display.display(); 61 delay(100); 62 63 } 64}
Downloadable files
Actual circuitry diagram of WiFi scanner and OLED.
ESP32 OLED 3V3 > VCC GND > GND D21 > SDA D22 > SCA
Actual circuitry diagram of WiFi scanner and OLED.

Comments
Only logged in users can leave comments