Hardware & Einrichtung
Bereiten Sie zuerst Platine und Verdrahtung nach der Anleitung unten vor, dann flashen Sie die Firmware im Abschnitt Automatische Einrichtung aus dem Browser.
Benötigte Hardware
Das Gateway benötigt ein ESP32-Board, einen RS485-Wandler und (optional) einen CAN-Wandler, verkabelt nach den Tabellen unten. Die genauen Pin-Nummern sind in der Firmware unter src/BoardPins.h festgelegt — ändern Sie sie dort, falls Sie anders verkabeln.
Was Sie brauchen
- Ein beliebiges ESP32-Entwicklungsboard (z. B. ESP32-WROOM-32, 38-Pin-DevKit) oder ein ESP32-S3-DevKitC-1 N8R2 (gleiche RS485-Pins, CAN und LED an GPIO5/6/7 statt 25/26/27)
- Ein MAX485-/MAX3485-TTL-zu-RS485-Wandler (3.3-V-Version, mit DE und RE auf einem Pin zusammengeführt)
- Ein SN65HVD230-(3.3-V)-CAN-Wandler — nur nötig, wenn Sie auch das CAN-Signal des Wechselrichters lesen möchten
- Ein RJ45-Kabel zum kombinierten 485/CAN-Port des BMS
- Ein 5V-Netzteil für das ESP32-Board
Optional: eine fertige KiCad-Trägerplatine, die das ESP32-DevKit, beide Wandler, Schraubklemmen (CAN, RS485, Versorgung) und eine WLAN-Status-LED auf einer Platine für ein Hutschienengehäuse vereint.
Verkabelung: MAX485 (RS485) → ESP32
| MAX485-Pin | ESP32-Pin | ESP32-S3-Pin | Hinweis |
|---|---|---|---|
| VCC | 3.3V | Beide Wandler sind native 3.3V-Bauteile — betreiben Sie sie nicht mit 5V, das könnte den RX-Pin des ESP32 überlasten. | |
| GND | GND | ||
| DI (driver in) | GPIO17 (TX2) | ||
| RO (receiver out) | GPIO16 (RX2) | ||
| DE + RE (zusammengeführt) | GPIO4 | HIGH = Senden, LOW = Empfangen | |
| A | BMS RS485-A (RJ45 pin 2/7) | ||
| B | BMS RS485-B (RJ45 pin 1/8) | ||
Verkabelung: SN65HVD230 (CAN) → ESP32
| SN65HVD230-Pin | ESP32-Pin | ESP32-S3-Pin | Hinweis |
|---|---|---|---|
| 3 VCC | 3.3V | Beide Wandler sind native 3.3V-Bauteile — betreiben Sie sie nicht mit 5V, das könnte den RX-Pin des ESP32 überlasten. | |
| 2 GND | GND | ||
| 1 D (TXD) | GPIO25 | GPIO5 | CAN_TX_PIN |
| 4 R (RXD) | GPIO26 | GPIO6 | CAN_RX_PIN |
| 8 Rs | 10 kΩ → GND | ||
| 5 Vref | — | ||
| 7 CANH / 6 CANL | BMS CAN-H / CAN-L | ||
Kombinierter BMS-Port 485/CAN (RJ45)
Der JK-PB2A16S20P hat einen kombinierten "485/CAN"-RJ45-Port, der beide Busse gleichzeitig führt:
| RJ45-Pin | Signal |
|---|---|
| 1, 8 | RS485-B |
| 2, 7 | RS485-A |
| 3 | NC |
| 4 | CAN-H |
| 5 | CAN-L |
| 6 | GND |
Die Trägerplatine hat statt RJ45-Buchsen Schraubklemmen. Verdrahten Sie ein aufgetrenntes RJ45-Kabel (oder einen RJ45-Breakout-Adapter) wie folgt:
| RJ45-Pin | Klemme auf der Platine |
|---|---|
| 4 (CAN-H) | J3 pin 1 (CH) |
| 5 (CAN-L) | J3 pin 2 (CL) |
| 6 (GND) | J3 pin 3 / 4 (GND), J4 pin 3 (GND) |
| 2, 7 (RS485-A) | J4 pin 4 (A) |
| 1, 8 (RS485-B) | J4 pin 5 (B) |
Stromversorgung der Platine: Klemme J4, Pin 1 = VIN+ (7–60 V), Pin 2 = GND; Pin 6 ist unbelegt. Die Klemmenpins werden von links nach rechts gezählt, gesehen von der Seite, an der die Drähte eingeführt werden. Klemme J4 ist durch die Reihendiode D3 gegen Verpolung geschützt — bei vertauschtem Anschluss bleibt die Platine einfach dunkel.
Wichtige Hinweise
- Die Firmware hört den CAN-Bus nur passiv mit (listen-only) — sie sendet nie etwas, daher ist es sicher, auch an einen aktiven Bus zwischen BMS und Wechselrichter anzuschließen.
- Fügen Sie den 120-Ω-CAN-Abschlusswiderstand nur hinzu, wenn das ESP32 ein tatsächliches Busende ist. Ist es nur ein Abzweig an einem Bus, den BMS und Wechselrichter bereits terminieren, lassen Sie ihn weg.
- Die CAN-Bitrate ist standardmäßig 500 kbit/s (JK-Standard) und kann zur Laufzeit im CAN-Tab des Dashboards oder über
POST /api/can/configgeändert werden. - Das BMS sendet CAN nur, wenn in seinem Menü ein CAN-Protokoll ausgewählt und aktiviert ist. Verwenden Sie „Deye low-voltage protocol“ (48 V) — die Pylontech-kompatiblen Frames mit 500 kbit/s; die Firmware dekodiert genau das standardmäßig.
Automatische Einrichtung — JK BMS Web Gateway
Für klassische ESP32-Boards (ESP32-WROOM-32, 4 MB Flash). Sie haben ein ESP32-S3? Nutzen Sie den Tab „JK BMS S3“.
Angebotene Version: R1-V1.03s
Wir empfehlen Google Chrome oder Microsoft Edge — die Web-Serial-API funktioniert dort ohne weitere Einstellung. In Firefox müssen Sie zuerst den Zugriff auf serielle Schnittstellen aktivieren (experimentelle Funktion, einschaltbar über about:config → dom.serial.enabled), sonst funktioniert die Schaltfläche unten nicht.
Ab Version R1-V1.03p (JK BMS) und R1-V1.01m (DEYE) aktualisiert sich das Gateway selbst über sein Dashboard: in der Fußzeile Nach neuerer Firmware suchen drücken. Diese Seite brauchen Sie dann nur für die Erstinstallation oder wenn eine Aktualisierung fehlschlägt.
Schritt für Schritt
- Verbinden Sie die ESP32-Platine über ein USB-Kabel mit Ihrem Computer (beim ESP32-S3-DevKitC-1 den mit UART beschrifteten USB-Anschluss verwenden).
- Klicken Sie auf „Verbinden und flashen“ und erlauben Sie die Berechtigungsanfrage des Browsers für die serielle Schnittstelle.
- Wählen Sie die Installation „JK BMS Web Gateway“ und bestätigen Sie.
- Warten Sie ca. 2 Minuten, bis Firmware und Dateisystem fertig geflasht sind.
- Das Gerät startet neu und öffnet das WLAN-Einrichtungsportal „JK-BMS-Setup“ — verbinden Sie sich damit und geben Sie Ihre Heim-WLAN-Daten ein.
Zum Herunterladen oder Flashen müssen Sie angemeldet sein.
Manuelle Einrichtung — JK BMS Web Gateway
Falls die automatische Aktualisierung über den Browser bei Ihnen nicht funktioniert, können Sie die Aktualisierung auch über die Kommandozeile / PowerShell durchführen — dabei muss nur die PORT-Nummer geändert werden, auf der Ihre ESP32-Platine lauscht.
Flashen Sie die unten stehenden Dateien mit:
esptool.py --chip esp32 --port PORT write_flash \
0x1000 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.bin \
0x290000 littlefs.bin
Zum Herunterladen oder Flashen müssen Sie angemeldet sein.
Automatische Einrichtung — JK BMS Web Gateway (ESP32-S3)
Für ESP32-S3-DevKitC-1-N8R2-Boards (8 MB Flash, mehr Reserve für künftige Funktionen). Sie haben ein klassisches ESP32? Nutzen Sie den Tab „JK BMS“.
Angebotene Version: R1-V1.03s
Wir empfehlen Google Chrome oder Microsoft Edge — die Web-Serial-API funktioniert dort ohne weitere Einstellung. In Firefox müssen Sie zuerst den Zugriff auf serielle Schnittstellen aktivieren (experimentelle Funktion, einschaltbar über about:config → dom.serial.enabled), sonst funktioniert die Schaltfläche unten nicht.
Ab Version R1-V1.03p (JK BMS) und R1-V1.01m (DEYE) aktualisiert sich das Gateway selbst über sein Dashboard: in der Fußzeile Nach neuerer Firmware suchen drücken. Diese Seite brauchen Sie dann nur für die Erstinstallation oder wenn eine Aktualisierung fehlschlägt.
Schritt für Schritt
- Verbinden Sie die ESP32-Platine über ein USB-Kabel mit Ihrem Computer (beim ESP32-S3-DevKitC-1 den mit UART beschrifteten USB-Anschluss verwenden).
- Klicken Sie auf „Verbinden und flashen“ und erlauben Sie die Berechtigungsanfrage des Browsers für die serielle Schnittstelle.
- Wählen Sie die Installation „JK BMS Web Gateway (ESP32-S3)“ und bestätigen Sie.
- Warten Sie ca. 2 Minuten, bis Firmware und Dateisystem fertig geflasht sind.
- Das Gerät startet neu und öffnet das WLAN-Einrichtungsportal „JK-BMS-Setup“ — verbinden Sie sich damit und geben Sie Ihre Heim-WLAN-Daten ein.
Zum Herunterladen oder Flashen müssen Sie angemeldet sein.
Manuelle Einrichtung — JK BMS Web Gateway (ESP32-S3)
Falls die automatische Aktualisierung über den Browser bei Ihnen nicht funktioniert, können Sie die Aktualisierung auch über die Kommandozeile / PowerShell durchführen — dabei muss nur die PORT-Nummer geändert werden, auf der Ihre ESP32-Platine lauscht.
Flashen Sie die unten stehenden Dateien mit:
esptool.py --chip esp32s3 --port PORT write_flash \
0x0 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.bin \
0x670000 littlefs.bin
Zum Herunterladen oder Flashen müssen Sie angemeldet sein.
Automatische Einrichtung — DEYE Web Gateway
Angebotene Version: R1-V1.01w
Wir empfehlen Google Chrome oder Microsoft Edge — die Web-Serial-API funktioniert dort ohne weitere Einstellung. In Firefox müssen Sie zuerst den Zugriff auf serielle Schnittstellen aktivieren (experimentelle Funktion, einschaltbar über about:config → dom.serial.enabled), sonst funktioniert die Schaltfläche unten nicht.
Ab Version R1-V1.03p (JK BMS) und R1-V1.01m (DEYE) aktualisiert sich das Gateway selbst über sein Dashboard: in der Fußzeile Nach neuerer Firmware suchen drücken. Diese Seite brauchen Sie dann nur für die Erstinstallation oder wenn eine Aktualisierung fehlschlägt.
Schritt für Schritt
- Verbinden Sie die ESP32-Platine über ein USB-Kabel mit Ihrem Computer (beim ESP32-S3-DevKitC-1 den mit UART beschrifteten USB-Anschluss verwenden).
- Klicken Sie auf „Verbinden und flashen“ und erlauben Sie die Berechtigungsanfrage des Browsers für die serielle Schnittstelle.
- Wählen Sie die Installation „DEYE Web Gateway“ und bestätigen Sie.
- Warten Sie ca. 2 Minuten, bis Firmware und Dateisystem fertig geflasht sind.
- Das Gerät startet neu und öffnet das WLAN-Einrichtungsportal „DEYE-Setup“ — verbinden Sie sich damit und geben Sie Ihre Heim-WLAN-Daten ein.
Zum Herunterladen oder Flashen müssen Sie angemeldet sein.
Manuelle Einrichtung — DEYE Web Gateway
Falls die automatische Aktualisierung über den Browser bei Ihnen nicht funktioniert, können Sie die Aktualisierung auch über die Kommandozeile / PowerShell durchführen — dabei muss nur die PORT-Nummer geändert werden, auf der Ihre ESP32-Platine lauscht.
Flashen Sie die unten stehenden Dateien mit:
esptool.py --chip esp32 --port PORT write_flash \
0x1000 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.bin \
0x290000 littlefs.bin
Zum Herunterladen oder Flashen müssen Sie angemeldet sein.