Im Moment verzweifel ist. Aber wahrscheinlich sitzt das Problem wieder vor der Tastatur. Folgendes:
Ich möchte am Wemos D1 Mini (Tasmota 9.1.0) ein OLED SSD1306 betreiben. Die.bin habe ich mit folgenden Daten kompiliert:
#define USE_DISPLAY // Add I2C Display Support (+2k code)
#define USE_DISPLAY_MODES1TO5 // Enable display mode 1 to 5 in addition to mode 0
//#define USE_DISPLAY_LCD // [DisplayModel 1] [I2cDriver3] Enable Lcd display (I2C addresses 0x27 and 0x3F) (+6k code)
#define USE_DISPLAY_SSD1306 // [DisplayModel 2] [I2cDriver4] Enable SSD1306 Oled 128x64 display (I2C addresses 0x3C and 0x3D) (+16k code)
//#define USE_DISPLAY_MATRIX // [DisplayModel 3] [I2cDriver5] Enable 8x8 Matrix display (I2C adresseses see below) (+11k code)
#define MTX_ADDRESS1 0x71 // [DisplayAddress1] I2C address of first 8x8 matrix module
#define MTX_ADDRESS2 0x74 // [DisplayAddress2] I2C address of second 8x8 matrix module
#define MTX_ADDRESS3 0x75 // [DisplayAddress3] I2C address of third 8x8 matrix module
#define MTX_ADDRESS4 0x72 // [DisplayAddress4] I2C address of fourth 8x8 matrix module
#define MTX_ADDRESS5 0x73 // [DisplayAddress5] I2C address of fifth 8x8 matrix module
#define MTX_ADDRESS6 0x76 // [DisplayAddress6] I2C address of sixth 8x8 matrix module
#define MTX_ADDRESS7 0x00 // [DisplayAddress7] I2C address of seventh 8x8 matrix module
#define MTX_ADDRESS8 0x00 // [DisplayAddress8] I2C address of eigth 8x8 matrix module
//#define USE_DISPLAY_SEVENSEG // [DisplayModel 11] [I2cDriver47] Enable sevenseg display (I2C 0x70-0x77) (<+11k code)
// Multiple sevenseg displays are logically arranged vertically with MTX_ADDRESS1 at y=0,
// MTX_ADDRESS2 at y=1, up to MTX_ADDRESS8 at y=7
// Command: DisplayText [yn]8888
// will display 8888 at sevenseg display at I2C address MTX_ADDRESS(n-1)
// Each segment may be address Command: DisplayText [xn]m
// where n is 0..4 (4 digits and middle and m is decimal for bitmap of which segment to turn on.
// Reference: https://cdn-learn.adafruit.com/downloads/pdf/…ed-backpack.pdf
// #define SEVENSEG_ADDRESS1 0x70 // No longer used. Use MTX_ADDRESS1 - MTX_ADDRESS8 instead to specify I2C address of sevenseg displays
//#define USE_DISPLAY_SH1106 // [DisplayModel 7] [I2cDriver6] Enable SH1106 Oled 128x64 display (I2C addresses 0x3C and 0x3D)
// folgende 3 Eingaben laut tasmota git-hub
#define SHOW_SPLASH
//#define USE_AWATCH
//#define USE_GRAPH
Kompiliert wurde mit Aktivierung von Script:
// -- Rules or Script ----------------------------
// Select none or only one of the below defines USE_RULES or USE_SCRIPT
//#define USE_RULES // Add support for rules (+8k code)
// #define USE_EXPRESSION // Add support for expression evaluation in rules (+3k2 code, +64 bytes mem)
// #define SUPPORT_IF_STATEMENT // Add support for IF statement in rules (+4k2 code, -332 bytes mem)
#define USE_SCRIPT // Add support for script (+17k code)
//#define USE_SCRIPT_FATFS 4 // Script: Add FAT FileSystem Support
#define USE_SCRIPT_WEB_DISPLAY
#define SUPPORT_MQTT_EVENT // Support trigger event with MQTT subscriptions (+3k5 code)
Beim Start kann ich in der Konsole Lesen:
00:00:00 I2C: SSD1306 gefunden bei 0x3c
00:00:00 Projekt WEMOSDISPLAYSCRIPT Test-Wemos-03 Version 9.1.0(tasmota)-2_7_4_5
Das heißt für mich: das Oled ist da und wird erkannt. Dementsprechend müßte die Verkabelung auch stimmen.
Scripte können ebenfalls über Einstellungen aktiviert werden.
Das heißt für nich: Scripte sollten klappen.
Diese Einstellungen habe ich per Konsole eingestellt.
19:48:39 CMD: display
19:48:39 RSL: RESULT = {"Display":{"Model":2,"Width":128,"Height":48,"Mode":0,"Dimmer":15,"Size":1,"Font":1,"Rotate":0,"Refresh":2,"Cols":[11,8],"Rows":6}}
DisplayAdress ist 60
Dann gebe ich folgendes ein und erhalte folgende Ausgabe.
19:49:08 CMD: DisplayText [s1l1c1]Hello how are you?
19:49:08 RSL: RESULT = {"DisplayText":"[s1l1c1]Hello how are you?"}
Das heißt für mich: Der Befehl ist richtig und wird auch entsprechend ausgeführt.
Allerdings: Das Display zeigt nichts an. Es bleibt Dunkel.
Weiß jemand Rat?
So eins weiß ich nun: On/Off schaltet das Display ein oder aus. Jetzt ist es zwar eingeschaltet, aber zeigt nur Schnee....