Skip to content

jsphuebner/esp32-web-interface

Repository files navigation

esp32-web-interface

Web interface for Huebner inverter

Table of Contents

Click to open TOC

About

This repository hosts the source code for the Web Interface for the Huebner inverter, and derivated projects:

It is written with the Arduino development environment and libraries.

Usage

To use the web interface 2 things are needed :

  • You need to have a computer on the same WiFi network as the board,
  • You need to 'browse' the web interface page.

Wifi network

There are 2 possibilities:

  • Either you connect to an Access Point generated by the board. The default name for this access point is 'ESP-xxxxx' but can be customized. In that case, the board will have a fixed IP address of 192.168.4.1 (and will be reachable on http://192.168.4.1/)
  • Or you can configure the board to join your own WiFi network ; and in that case you may need to tweak your network configuration to provide a fixed address to the board (not necessary).

Reaching the board

The board announces itself to the world using mDNS protocol (aka Bonjour, or Rendezvous, or Zeroconf), so you may be able to reach the board using a local name of inverter.local. So first try to reach it on http://inverter.local/

Hardware

The web interface has been initially designed to run on ESP32-WROOM-32E boards.

A SD card running in SDIO mode can be connected (CLK to pin14, CMD to pin15, D0 to Pin2, D1 to Pin4, D2 to Pin12, D3 to Pin13).

A RTC can be connected. As standard a PCF8523 is suported but any clock supported by RTClib can be used with a sketch change. (SCLK to Pin22, SDA to Pin21).

The connection to the inverter are on Pin16 (Rx line connect to inverter Tx line) and Pin17 (Tx line connect to inverter Rx line).

Firmware

Tompile it follow the instructions below.

Flashing / Upgrading

Wirelessly

TBA

Wired

If your board is new and unprogrammed, or if you want to fully re-program it, you'll need to have a wired connection between your computer and the board. You'll either need a ESP32 board with an on board USB to serial converter or a 3.3v capable USB / Serial adapter

  • the following connections:
Pin# ESP32 Board Function USB / Serial adapter
1 +3.3v input (Some adapters provide a +3.3v output, you can use it)
2 GND GND
3 RXD input TXD output
4 TXD output RXD input

Then you would use any of the the development tool below ; or the esptool.py tool to upload either a binary firmware file, or a binary filesystem file.

Various openinverter boards (SDU, LDU, Leaf) use a different wiring scheme for initial programming. It is important to flash the ESP32 chip BEFORE flashing the STM32 chip because otherwise you will get a bus collision on the UART pins. If you've already flashed the STM32 either erase the flash or hold it in reset somehow while flashing the ESP32.

Pin# ESP32 Board Function USB / Serial adapter
1 TXD output RXD input
2 RXD input TXD output
3 +5v input (Some adapters provide a +5v output, you can use it)
4 GND GND
5 GND GND
6 GPIO0 Connect this to pin 5 (GND) to put the ESP32 into programming mode. Then power up

Flash subsequent updates via OTA.

Documentations

Development

You can choose between the following tools:

Arduino

Arduino IDE is an easy-to-use desktop IDE, which provides a quick and integrated way to develop and update your board.

PlatformIO

PlatformIO is a set of tools, among which PlatformIO Core (CLI) is a command line interface that can be used to build many kind of projects. In particular Arduino-based projects like this one. (Note: even if PlatformIO provides an IDE, these instructions only target the CLI.)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published