marxy's musing on technology: Arduino ESP8266 with on board OLED display
Tue Mar 12 2024 02:08:54 GMT+0000 (Coordinated Universal Time)
Saved by
@Raf12066
#include "SSD1306Wire.h"
#include "ESP8266WiFi.h"
// Initialize the OLED display using Arduino Wire:
SSD1306Wire display(0x3c, SCL, SDA); // reversed!
void setup() {
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
// Initialising the UI will init the display too.
display.init();
//display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 0, "Starting.." );
display.display();
}
void loop() {
// clear the display
display.clear();
int height = 10;
// WiFi.scanNetworks will return the number of networks found
int n = WiFi.scanNetworks();
if (n == 0) {
display.drawString(0, 0, "no networks found");
} else {
for (int i = 0; i < n; ++i) {
int y = i * height;
String ssid = WiFi.SSID(i);
String rssi = String(WiFi.RSSI(i));
String encryption = "Unknown";
switch(WiFi.encryptionType(i)) {
case ENC_TYPE_WEP:
encryption = "WEP";
break;
case ENC_TYPE_TKIP:
encryption = "WPA";
break;
case ENC_TYPE_CCMP:
encryption = "WPA2";
break;
case ENC_TYPE_NONE:
encryption = "Open";
break;
case ENC_TYPE_AUTO:
encryption = "Auto";
break;
default:
encryption = "Unknown";
break;
}
String line = ssid + ": " + rssi + " " + encryption;
display.drawString(0, y, line);
display.display();
delay(10);
}
}
// Wait a bit before scanning again
delay(5000);
}
content_copyCOPY
https://blog.marxy.org/2019/06/arduino-esp8266-with-on-board-oled.html
Comments