Forum: Mikrocontroller und Digitale Elektronik eBUS Adapter Shield C6


von Klaus R. (klara)



Lesenswert?

Hallo,
ich möchte mit Software von GitHub John30, einem eBUS Adapter Shield C6 
und einem RaspBerry Pi 4B den Datenbus einer Vaillant Heizung auslesen.

Zunächst sollte die Firmware des eBUS Adapters auf den neuesten Stand 
gebracht werden. Der Adapter läuft mit einem ESP32-C6.

https://adapter.ebusd.eu/v5-c6/firmware.html

Der Vorgang wird oben im Link beschrieben.
1
den Adapter via USB anschließen und währenddessen den Button gedrückt halten (Bootloader Modus forcieren)

Fragt sich nur wie lange der Button gedrückt werden soll.
Erkennt man dies an dem Leuchten der LEDs des ESP32-C6?
Nach ein paar Sekunden leuchtet eine blaue LED hell auf.

Also ich habe so ziemlich alle Varianten probiert.
In der Fehlermeldung steht auch, man solle den BOOT button beim 
Anklicken von INSTALL drücken, also nur ganz kurz.

Die Doku dazu möchte den Button schon beim Anschliessen des USB Busses 
den Button gedrückt haben. Dürfte pausibler sein.

mfg Klaus

von Thomas V. (tomv)


Lesenswert?

Oh je...

Denk nicht so kompliziert!

Es ist lediglich durch die Hardware (siehe Datenblatt des ESP32!) 
vorgegeben, dass der CPU-Pin, an dem der Boot-Button hängt, beim 
EINSCHALTEN der Stromversorgung einen bestimmten Pegel (ob nun Ub oder 
GND, hab ich jetzt nicht nachgelesen) haben muss, damit die CPU in den 
Bootloader-Modus geht.
Das funktioniert i.d.R. innerhalb weniger ms (es muss ja dazu kein 
größeres Programm ausgeführt werden).

Also:
1. Boot-Button drücken
2. Versorgungsspannung anlegen
3. Boot-Button loslassen
4. Softwareupdate starten

Die Software scheint zu versuchen, die CPU über das USB-Interface in den 
Bootloader-Modus zu bringen. Daher kommt vielleicht die Meldung, dass 
man den Boot-button drücken und anschließend auf INSTALL klicken soll. 
Diese Variante hat bei mir (ich hab nix mit eBUS am Hut, programmiere 
aber geegentlich ESP32s) eher selten zuverlässig funktioniert.

: Bearbeitet durch User
von Klaus R. (klara)


Lesenswert?

Hallo Thomas,
den ESP32 habe ich auch schon programmiert, mache aber fast nur noch 
etwas mit den D1Mini. Den Bootlader habe ich bisher noch nicht verwenden 
müssen. Deshalb bin ich da recht hilflos. Es funktioniert einfach nicht.

Das Flashen der Firmware erfolgt über einen Webbrowser mit Unterstützung 
von Web Serial. Der FireFox und auch andere Browser können das nicht. 
Aber der Microsoft Edge, den ich normalerweise nicht verwende.

Ich hoffe darauf das jemand, der dies Flaschen ebenfalls durchgeführt 
hat, mir da einen Rat geben kann.
mfg Klaus

von Andreas B. (andreas-ab)


Lesenswert?

Die ESP32-C6 haben eine onboard USB Schnittstelle, die offensichtlich 
bei deinem Board auch verwendet wird. Dann fehlt aber die 
Automatik-Mimik aus zwei Transistoren die beim Flashen den ESP in den 
Programmier-Modus schaltet. Die hängt normalerweise an einem USB-Uart 
Chip, z.B. FT232 oder CH340 oder CP210x und macht dann alles automatisch 
beim Aufrufen des Flash-Tools.

Daher müssen die Schritte zu Fuss gemacht werden, wie oben schon 
beschrieben. Leider hat dein Board nur den einen Button, der laut Doku 
mehrere Funktionen hat. Unter anderem auch die Funktion den ESP in den 
Programmier-Modus zu schalten. So wie ich es sehe, gibt es aber keinen 
Reset-Button, also muss der Reset jeweils durch Aus/Einstecken des 
USB-Kabels erfolgen.

Ich hab das Board nicht und flashe die ESPs üblicherweise mit dem 
Espressif Tool esptool.py kann dir also mit dem Web-Basierten Flash-Tool 
nicht weiterhelfen.

Allerdings hatte ich auch schon mal einen ESP32-C6 oder ESP32-S2 in den 
Fingern und folgendes festgestellt. Die onboard USB Schnittstelle ist 
nicht sofort verfügbar. Man muss etwas warten bis die zugehörige 
serielle Schnittstelle im Betriebssystem auftaucht. Ich verwende Windows 
und warte einfach etwas uns schau dann welche COM Schnittstelle 
hochpoppt. Erst dann starte ich das Flash-Tool.

Also würde ich folgende Schritte versuchen:

1. Button drücken und bis zum Ende gedrückt halten
2. USB-Kabel einstecken
3. Warten
4. Schauen welche COM Schnittstelle hochpoppt.
5. Flash-Tool starten und warten bis es beendet ist
6. jezt erst den Button loslassen
7. USB-Kabel ausstecken
8. USB-Kabel einstecken

Die beiden Schritte 7+8 sind notwendig, weil der ESP nach dem Flashen 
einen Reset benötigt um wieder normal zu starten. Mit eine Reset-Button 
wäre es einfacher.

Falls das Web-Tool nicht funktioniert könntest du als Rückfalllösung das 
esptool.py versuchen.

Falls es dann immer noch nicht geht, bleibt eigentlich nur noch einen 
USB-Uart Adapter direkt auf RX und TX zu verbinden und es damit zu 
versuchen. So wie ich es sehe sollten die auch auf den Header-Pins zu 
finden sein.

von Klaus R. (klara)


Lesenswert?

Andreas B. schrieb:
> Also würde ich folgende Schritte versuchen:
>
> 1. Button drücken und bis zum Ende gedrückt halten
> 2. USB-Kabel einstecken
> 3. Warten
> 4. Schauen welche COM Schnittstelle hochpoppt.
> 5. Flash-Tool starten und warten bis es beendet ist
> 6. jezt erst den Button loslassen
> 7. USB-Kabel ausstecken
> 8. USB-Kabel einstecken

Das war es!

Punkt 1 war am wichtigsten zusammen mit Punkt 6.
Also, zuerst Button drücken und erst den Button loslassen wenn das 
Flash-Tool fertig ist. Das Flashen hat bei mir ca. 2 Minuten gedauert. 
Danach habe ich noch einmal nachgeschaut, es ist die aktuellste Version 
2024-10-27 geladen worden.

Du hast die Sachlage hervorragend klar und deutlich erklärt!
Vielen Dank.
mfg Klaus

von Andreas B. (andreas-ab)


Lesenswert?

Prima, merci für die Rückmeldung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.