Was sind das für Karten ?
Und bei OTA überträgst du doch nur den Sketch. Das wird auch mit dem Menü funktionieren.
Was sind das für Karten ?
Und bei OTA überträgst du doch nur den Sketch. Das wird auch mit dem Menü funktionieren.
Da würde ich dann auch eher mit dem ADS1115 zusammen arbeiten.
Bin gerade unterwegs, mach nachher mal n Foto von den Dingern…
Sind je Karte 4 IRF540N mit Ansteuerung über Optokoppler verbaut (grob umrissen)
Ok, wenn da ein Optokoppler drauf ist, sollte das machbar sein. Anders ist der Mosfet für 5Volt Ansteuerung schon schlecht und geht bei 3,3V nicht.
Mit Optokoppler kannst du doch auch mit 12Volt Steuerspannung arbeiten, also kein Problem mit Störungen.
Bibliotheksbeispiel LCDML_03021_u8g2lib.ino auf ESP32 geladen und Menü auf SSD1306 angezeigt, OTA ergänzt.
Upload mit OTA über Router:
Der Sketch verwendet 721953 Bytes (55%) des Programmspeicherplatzes. Das Maximum sind 1310720 Bytes.
Globale Variablen verwenden 44620 Bytes (13%) des dynamischen Speichers, 283060 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
Sending invitation to 192.168.178.32
Uploading: [============================================================] 100% Done...
Sieht gut aus ![]()
Upload mit OTA über ESP32 als Access Point:
Der Sketch verwendet 722337 Bytes (55%) des Programmspeicherplatzes. Das Maximum sind 1310720 Bytes.
Globale Variablen verwenden 44604 Bytes (13%) des dynamischen Speichers, 283076 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
Sending invitation to 192.168.4.1
Uploading: [============================================================] 100% Done...
Sieht auch gut aus ![]()
Yeah!!! ![]()
Ich muss meinen Testaufbau hier erstmal umfrickeln.. Dann kann ich das auch testen...
Aber das Nackte Menü schon 55% des Speichers?
Halleluja...
Welchen ESP32 hast Du da am start?
Ma ne Doofe Frage: war das der ESP32 der schon ne RTC an board hat? Oder vertu ich mich da gerade?
Ein normales "ESP32 Dev Module":
Das gelbe Kabel ist für ein anderes Thema relevant.
Interne RTC weiß ich nicht, schau mal hier "2.4.2 RTC (optional)":
https://www.espressif.com/sites/default/files/documentation/esp32_hardware_design_guidelines_en.pdf
Naja, da muss man sich beim ESP32 dran gewöhnen.
Das meiste sind Libs die der ESP32 immer braucht bei Wlan usw.
Ich meine, der ESP32 hat immer eine RTC. Die habe ich selbst noch nie so genutzt, da ohne Wlan und NTP nicht sehr stabil.
ESP32 eigen Bedarf bei Default Einstellung
Der Sketch verwendet 221313 Bytes (16%) des Programmspeicherplatzes. Das Maximum sind 1310720 Bytes.
Globale Variablen verwenden 16120 Bytes (4%) des dynamischen Speichers, 311560 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
Keine angst Du hast noch über 1MB frei, genau 1089407 Byte ![]()
![]()
Ich bekomm das gerade nicht mal hin etwas für den ESP32 zu Kompilieren...
(Hab den Wroom32)
Der Compiler meldet nen python Fehler...
Seit dem Update des Betriebssystems hab ich da nicht mehr mit rumgespielt... Evtl liegt das daran...
Muss diesen "Schaden" erstmal beheben... - Wär ja auch zu einfach wenn das direkt funktionieren würde....
<Update 10:56 Uhr> So scheint geschafft zu sein... OTA scheint auch zu klappen...
Jetzt "nur" noch den Display & den Encoder wieder ans laufen bringen... - Der rest wird sich dann finden...
Ich hab ja den SSD1309 Chip im Display (128x64 px) verbastelt... Die u8g2 gibt mir da ja gefühlt 1000 verschiedene Setupvarianten für I2C... Da blick ich gerade nicht durch... Ich denke es sollte HW_I2C sein... Aber welches Setup?
Habt ihr da nen Tipp?
Das ist das effektivste Board, weil die nicht nutzbaren Flash-Pins nicht rausgeführt sind. Ich habe das ESP32 DevKitC v4, erkennbar am GND zwischen GPIO12 und GPIO13, der überstehenden Antenne und den fehlenden Befestigungslöchern. Die Entwicklungsplatinen sprießen wie Pilze aus dem Boden, die Übersicht ist mir entglitten.
Für mich nützlich: ESP32 Pinout Reference: Which GPIO pins should you use?
Interne RTC: Noch mal drüber nachgedacht, die möchte ich nicht nutzen, da eine Backupbatterie und ein Quarz mit Kleinteilen fehlen. Die könnte man dranbauen, aber dann ist eine RTC DS3231 mit Akku oder Batterie, einem EEPROM und Temperaturkompensation schneller im Projekt integriert.
Ich bin gerade an einem Beispiel, gib mir ein paar Minuten, mußte erst einen Wasserhahn reparieren ...
Also der da...
Jo, dem folge ich... Macht durchaus sinn da was externes - fertiges zu nehmen, als da noch irgendwelchen quatsch drum rum zu basteln...
OTA: Gibts bei der OTA / WLAN Config des ESP32 die Möglichkeit ne Liste mit WLAN Zugangspunkten vorzudefinieren? Also wenn das erste WLAN in der Liste nicht erreichbar ist, nimmt er das zweite, usw?
Ein Fallback dazu wäre auch noch wichtig... Wenn er keins der WLANs aus der Liste findet, das er dann selbst eins aufbaut? Allerdings wäre es cooler wenn der Fallback HotSpot über das LCDML Menü eingeschaltet werden könnte...
Wär uncool wenn der ESP32 mitten auf der Autobahn durch nebenher fahrende "Gehackt" werden könnte... ![]()
![]()
Genau so einen habe ich auch noch hier rumliegen ![]()
Worin sich NONAME0 und NONAME2 unterscheiden, weiß ich nicht. Für CS bietet sich GPIO5 an, die restlichen sind beliebig. Da genügend Speicher vorhanden sein sollte, wähle ich Full Buffer:
U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
Ich nutze bekanntlich SSD1306 an I²C. Beim ESP32 funktioniert auch printf mit %f, dann kann man auch float leserlich formatiert:
uint16_t sensor12Value = analogRead(36);
uint16_t sensor5Value = analogRead(39);
float voltage12 = sensor12Value * 15.0 / 4095;
float voltage5 = sensor5Value * 5.0 / 4095;
u8g2.drawStr( 3, (_LCDML_DISP_font_h * 1), F("Blu Control v1.0"));
u8g2.drawStr( 3, (_LCDML_DISP_font_h * 4), F("Power Rails Voltage:"));
u8g2.setCursor(3, _LCDML_DISP_font_h * 5);
u8g2.printf("12V Rail: %5.2f V", voltage12 );
u8g2.setCursor(3, _LCDML_DISP_font_h * 6);
u8g2.printf(" 5V Rail: %5.2f V", voltage5 );
u8g2.sendBuffer();
Wofür stehen jetzt die 10, 9 & 8? Muss da nich noch die I2C Adresse irgendwo hin?
Wenns das Pinout sein soll: Die I2C Leitungen des Displays hab ich an GPIO21 & 22 gesteckt... (Ist laut Pinout der I2C Port)
Klar.
Es läuft immer darauf hinaus, mehrere SSIDs mit zugehörigen Passwörtern vorzuhalten und wenn die Verbindung mit einem nicht nach X Sekunden aufgebaut ist das nächste zu versuchen. Am Ende als Fallback dann halt den eigenen Hotspot aufmachen.
Wie die Liste organisiert ist bleibt dir überlassen (hard coded, Preferences, Datei in welchem Format auch immer).
Uppps, Oli hat bei SSD1309 nur SPI als Schnittstelle vorgesehen ![]()
Nice...
Wo gibts Infos wie ich das realisieren kann?
Mit dem ESP32 hab ich noch nie wirklich was gemacht... Ausser n bissl rumspielen... Aber noch kein Projekt damit realisiert...
Neee, oder? Warum sind dann da einige "HW_I2C" & "SW_I2C" aufgeführt? ![]()
Was ist wo aufgeführt?
Du darfst Dich gerne mit einem Vorschlag hervortun ![]()
OK!