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.

von John (johny1072)


Lesenswert?

Hallo,
ich habe ein Problem mit meinem Shield Adapter C6. Nach dem Neustart des 
Raspi 4 (Loxberry) hat er leider kein Signal mehr: "ebusd 
conected:yes(inactive)". Nach einem Reboot über das easi> Interface ist 
das Signal wieder da: "ebusd conected:yes".
Was kann ich tun, damit bei einem Neustart des Raspi der Adapter 
automatisch die Verbindung wieder aufbaut, ohne manuell ein Reboot 
auszuführen?
Es würde mir auch schon helfen, wenn von extern an den Adapter ein 
HTTP-Befehl zum Reboot gesendet werden könnte. Ist dies möglich?
Vielen Dank für Hinweise,
Johny

von Klaus R. (klara)


Lesenswert?

Hallo Johny,
ich hatte zunächst im Dezember 2024 damit zu kämpfen neue Firmware auf 
meinen eBUS Adapter Shield C6 zuladen. Das ist mit der Hilfe hier im 
Thread dann doch gelungen.

Der nächste Punkt war die Verbindung über die serielle Schnittstelle 
einzurichten. Meine Notizen hierzu:
1
Die Stromversorgung des Adapters erfolgt direkt über den Raspberry Pi und die Kommunikation geht über die folgenden Pins am Raspberry Pi GPIO:
2
     TxD: Pin 8 (GPIO 14) 
3
     RxD: Pin 10 (GPIO 15) 
4
Diese Pins sind dem physikalischen Device serial0 zugeordnet. Das physikalische device ist meist dem logischen Device ttyAMA0 zugeordnet, jedoch gibt es abhängig von der Raspberry Pi Version und der Raspbian / Raspberry Pi OS Version immer wieder andere Zuordnungen. Die aktuelle Konfiguration kann so bestimmt werden:
5
ls -l /dev
6
ausführen und dann die Zuordnung von serial0 suchen. Dies ist im Normalfall entweder ttyAMA0 oder ttyS0.

Die Bezeichnungen ttyAMA0 oder ttyS0 kamen leider bei mir nicht vor.

Ich mußte noch ein RaspBerry PI Forum um Hilfe bitten.

https://forum-raspberrypi.de/forum/thread/63145-devices-ttyama0-oder-ttys0-kommen-bei-mir-nicht-vor/?postID=605964#post605964

Die /boot/firmware/config.txt  mußte geändert werden.

[pi4]
# 11.12.2024 KernelBlueTooth deaktivieren
# restore UART0/ttyAMA0 over GPIOs 14 & 15
krnbt=off
dtoverlay=disable-bt[/c]

Im Februar 2025 war dann für mich zunächst erst einmal Schluß.
Als nächstes wollte ich den eBUS anschließen. Inzwischen weiß ich wo ich 
den eBUS anzapfen kann. Mir fehlte noch ein passendes Kabel. Von Amazon 
ließ ich mir 2x0,5 mm², 20 AWG liefern. 20 AWG standen auch auf der 
Verpackung aus China. Es waren aber leider nur 23 AWG, 0,25 mm².
Das passende Kabel habe ich jetzt auch bei Reichelt entdeckt.
Jetzt fehlt mir nur noch etwas weniger Trubel um mich wieder auf den 
eBUS konzentrieren zu können.

Ich vermisse ein passendes Forum. Die ersten Schritte habe ich mit 
verrahtet.info gemacht. Wenn man sich dort anmeldet, dann erhält man 
Gratis-Kurse die einen auch weiterbringen.

https://www.verdrahtet.info/2021/05/15/ebus-logger-heizungsdaten-direkt-auslesen/

Auch dieser Link ist aktualisiert worden.
https://adapter.ebusd.eu/v5-c6/raspberrypi

Jetzt sehe ich auch was das "easi> Interface" ist.
https://adapter.ebusd.eu/v5-c6/
Ich selber gehe ja direkt seriell weiter.

Für den C6 ist auch inzwischen wieder eine neue Firmware erhältlich, 
25.04.2025. Müßte ich mir auch zunächst installieren. Inzwischen habe 
ich mir eine funktioniernde Anleitung zusammengestellt.

Es ist also viel Fuckelkram.
Ein Forum für alle Fragen wäre goldwert!

mfg Klaus

: Bearbeitet durch User
von John (johny1072)


Lesenswert?

Hallo Klaus,
Vielen Dank für deine ausführliche Antwort.
Dem Grunde nach funktioniert alles sehr gut. Ich habe den Bus mit einem 
Doppel-Draht 0,75m2 verbunden. Mit dem gleichen Draht sind auch alle 
anderen Bus-Regler an meiner Wärmepumpe verbunden. Den Shield Adapter C6 
habe ich per USB mit meinem Raspi 4 verbunden.
Alles läuft und ich kann Daten lesen und auch schreiben. Nur nach einem 
Neustart des Raspi ist keine Verbindung mehr da (Ebus 
conected:yes(inaktive). Nach einem Reboot allein des Adapters geht 
wieder alles. Firmware des Adapters ist auf dem neuesten Stand: 
25.4.2025.
Leider habe ich auch kein anderes Forum dazu gefunden. Auch keinen 
Support, wo man mal nachfragen könnte. Ich hatte gehofft, dass hier 
jemand eine Idee hat.
Gruß, Johny

von Klaus R. (klara)


Lesenswert?

John schrieb:
> Alles läuft und ich kann Daten lesen und auch schreiben. Nur nach einem
> Neustart des Raspi ist keine Verbindung mehr da (Ebus
> conected:yes(inaktive). Nach einem Reboot allein des Adapters geht
> wieder alles. Firmware des Adapters ist auf dem neuesten Stand:
> 25.4.2025.

Wie führst Du den Reboot des Adapters aus?

Eigentlich sollte der Adapter selber Booten sobald er mit Spannung 
versorgt wird. Sollten dem Adapter zu diesem frühen Zeitpunkt 
Voraussetzungen fehlen, so werden die Entwickler dies sicherlich 
berücksichtigt haben.

Mir ist auch nicht bekannt das der Adapter irgendwo in einem Autostart 
eingetragen werden muß.

Ich würde zunächst mal das RaspBerry PI Forum befragen. Eine Lösung wäre 
den Reboot des Adapters bei jedem Neustart des RaspBerry PI ganz zum 
Schluß des Hochfahrens auszuführen.

Du hast Dein Anliegen hier im Thread vorgetragen. Ich würde einen 
eigenen Thread mit markantem Titel neu starten. Womöglich gibt es auch 
andere Leidensgenossen die Hilfe brauchen könnten.
mfg Klaus

von John (johny1072)


Lesenswert?

Hallo Klaus,
Ich führe den Reboot im easi> Interface des Adapters im Reiter 
Configuration ganz unten rechts neben Speichern manuell aus.
Vielleicht wird beim Neustart des Raspi der Adapter weiter über USB mit 
Strom versorgt, verliert aber die Verbindung und startet dann nicht neu.
Ich werde mal einen neuen Thread aufmachen.
Vielen Dank!
Gruß, Johny

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.