// https://microcontrollerslab.com/esp32-pinout-use-gpio-pins/
// https://github.com/espressif/arduino-esp32
// https://github.com/espressif/arduino-esp32/tree/master/cores/esp32
// https://github.com/espressif/arduino-esp32/tree/master/libraries
// https://github.com/johnrickman/LiquidCrystal_I2C
//--------------------------------------------------
// Sinthella Anpalagan
// Includes:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <WiFi.h>
//--------------------------------------------------
// Globals:
// LCD Objekt erzeugen
// - I2C Adresse: 0x27
// - Zeichen pro Zeile: 16
// - Anzahl Zeilen: 2
LiquidCrystal_I2C myLCD = LiquidCrystal_I2C(0x27, 16, 2);
// Timer für die Ausgabe über die USART
unsigned long lastSerialOutputTime = 0;
const unsigned long serialOutputInterval = 500; // in Millisekunden (2 Hz)
//--------------------------------------------------
void setup() {
//---
// Init USART:
Serial.begin(115200);
Serial.println("Hallo BBW !!!");
//---
// Init LCD:
myLCD.init();
myLCD.backlight();
// Write LCD
myLCD.setCursor(0, 0);
myLCD.printf("Hallo BBW !!!");
//---
// ESP32 mit WiFi verbinden:
// - SSID: Wokwi-GUEST
// - PWD: (leeres Passwort)
// - Kanal: 6
WiFi.begin("Wokwi-GUEST", "", 6);
Serial.print("ESP32 mit WiFi verbinden ...");
// Warten bis ESP32 mit WiFi verbunden ist...
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(250);
}
Serial.println("");
// ESP32 ist mit WiFi verbunden :-)
Serial.println("");
Serial.println("ESP32 ist mit WiFi verbunden :-)");
Serial.printf("- SSID: %s \n", WiFi.SSID().c_str());
Serial.printf("- Signal: %ld dBm \n", WiFi.RSSI());
Serial.printf("- IP: %s \n", WiFi.localIP().toString().c_str());
Serial.printf("- MAC: %s \n", WiFi.macAddress().c_str());
}
//--------------------------------------------------
void loop() {
// Update LCD
myLCD.setCursor(0, 1);
myLCD.printf("Signal: %4ld dBm", WiFi.RSSI());
// Wait 500ms (2Hz)
delay(500);
}