Hallo,
ich habe einen Heltec HTIT-W8266 im folgenden Code werden 3 Zeilen auf dem
Display angezeigt. Wenn ich aber das Wlan in der Initialisierung einschalte, bleibt
die Anzeige dunkel. Beim Hochfahren gibt er mir den Wlan Namen und die erhaltene
IP über den seriellen Monitor aus. Ebenso kommen die Meldungen "Anzeige aufrufen" und 3x "Anzeige aufgerufen bei jedem Durchlauf aus. Aber die Anzeige bleibt dunker. Wenn ich den Wlan Start auskommentiere werden die drei Zeilen auf
dem Display angezeigt.
Wäre schön wenn mir jemand helfen könnte.
//************************************************************************
//*********** iclude Bibliotheken **************
//************************************************************************
#include "ESP8266WiFi.h"
#include <Arduino.h>
#include <U8g2lib.h>
#include "time.h"
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
//*** String Definitionen
char Router[] = "MusterWlan";
char Passwort[] = "MusterPW";
// statischeIP = false -> IP-Adresse über DHCP vergeben
// statischeIP = true -> statische IP festlegen
// ip und gateway müssen an das lokale Netz angepasst werden
bool statischeIP = false;
IPAddress ip(192, 168, 1, 200);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
// NTP-Server aus dem Pool
#define Zeitserver "de.pool.ntp.org"
/*
öffentliche DNS-Server
-----------------------------------------------
OpenDNS 208, 67, 222, 222 (USA)
Google 8, 8, 8, 8 (USA)
Cloudfare 1, 1, 1, 1 (USA)
DNSWWatch 84.200.69.80 (Deutschland)
Quad9 9, 9, 9, 9 (Schweiz)
Neustar UltraDNS 56, 154, 70, 3 (USA, gefiltert)
Deutsche Telekom 217, 5,100,185
------------------------------------------------
oder die im Router eingetragene IP
im Beispiel: 192, 168, 1, 20
*/
IPAddress primaryDNS(192, 168, 1, 20);
IPAddress secondaryDNS(9, 9, 9, 9);
// NTP-Server aus dem Pool
#define Zeitserver "de.pool.ntp.org"
/*
Liste der Zeitzonen
https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv
Zeitzone CET = Central European Time -1 -> 1 Stunde zurück
CEST = Central European Summer Time von
M3 = März, 5.0 = Sonntag 5. Woche, 02 = 2 Uhr
bis M10 = Oktober, 5.0 = Sonntag 5. Woche 03 = 3 Uhr
*/
#define Zeitzone "CET-1CEST,M3.5.0/02,M10.5.0/03"
// time_t enthält die Anzahl der Sekunden seit dem 1.1.1970 0 Uhr
time_t aktuelleZeit;
/*
Struktur tm
tm_hour -> Stunde: 0 bis 23
tm_min -> Minuten: 0 bis 59
tm_sec -> Sekunden 0 bis 59
tm_mday -> Tag 1 bis 31
tm_wday -> Wochentag (0 = Sonntag, 6 = Samstag)
tm_mon -> Monat: 0 (Januar) bis 11 (Dezember)
tm_year -> Jahre seit 1900
tm_yday -> vergangene Tage seit 1. Januar des Jahres
tm_isdst -> Wert > 0 = Sommerzeit (dst = daylight saving time)
*/
tm Zeit;
WiFiServer Server(80);
WiFiClient Client;
//***************** Display Auswahl f. Bibliothek ************************
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Adafruit ESP8266/32u4/ARM Boards + FeatherWing OLED
void u8g2_prepare(void) {
u8g2.setFont(u8g2_font_6x10_tf);
u8g2.setFontRefHeightExtendedText();
u8g2.setDrawColor(1);
u8g2.setFontPosTop();
u8g2.setFontDirection(0);
}
//********* String auf Anzeige schreiben *******************
void u8g2_string(uint8_t x, uint8_t y,char text[21]) {
u8g2.setFontDirection(0);
u8g2.drawStr(x,y, text);
Serial.println("Anzeigeroutine aufgerufen");
}
//************************************************************************
//*********** Initialisierung **************
//************************************************************************
void setup(void)
{
u8g2.begin();
Serial.begin(9600);
// Zeitzone: Parameter für die zu ermittelnde Zeit
configTzTime(Zeitzone, Zeitserver);
// WiFi starten
WiFi.begin(Router, Passwort);
Serial.println("------------------------");
// Wenn statische IP vergeben
if (statischeIP)
{
WiFi.config(ip, gateway, subnet, primaryDNS, secondaryDNS);
Serial.print("Verbunden mit ");
Serial.println(Router);
// IP anzeigen
Serial.print("Statische IP: ");
Serial.println(ip);
}
// Oder IP über DHCP ermitteln
else
{
while (WiFi.status() != WL_CONNECTED)
{
delay(200);
Serial.print(".");
}
Serial.println();
Serial.print("Verbunden mit ");
Serial.println(Router);
Serial.print("IP über DHCP: ");
Serial.println(WiFi.localIP());
}
}
//***********************************************************************
//*********** Hauptschleife *************
//***********************************************************************
void loop(void) {
// picture loop
u8g2.clearBuffer();
u8g2_prepare();
u8g2_string(0,0,"123456789012345678901");
u8g2_string(0,11,"Textzeile 2");
u8g2_string(0,22,"Textzeile 3");
Serial.println("Anzeige aufrufen");
u8g2.sendBuffer();
delay(1000);
}```