Skip to content

Latest commit

 

History

History
61 lines (48 loc) · 2.4 KB

README.md

File metadata and controls

61 lines (48 loc) · 2.4 KB

LimboESP

LimboESP is your nice and simple OTA firmware update server for ESP8266 and ESP32 devices.

Features

  • Manage ESP8266 and ESP32 devices and app binaries for that devices.
  • Handles HTTP OTA firmware update requests.
  • Handles HTTP OTA spiffs data image update requests.
  • Web interface for device and app management.
  • Upload your binaries (generated via arduino, platform.io, toolchain).
  • LimboESP keeps track of always having the latest version on your devices.
  • Runs on Docker, Linux, Windows and other Java capable OS.

Setup and run (One-file-server with Java)

# Java 21+ is required, so depending on your distribution type something like this:
sudo apt-get install default-jre-headless
pacman -S jre-openjdk-headless

# Get it
wget -O limboesp.jar https://nexus.kuhlins.org/repository/maven-public/net/limbomedia/limboesp/0.4/limboesp-0.4.jar

# Run it
# -Ddir specifies where to store config and data.
java -Ddir=/path/for/data -jar limboesp.jar

# Visit admin interface: http://YOUR-SERVER:8080

Setup and run (Docker)

docker run -d -p 8080:8080 -v DATA-DIR:/data limbomedia/limboesp:stable

Configuration

The default configuration file [DATA_DIR]/limboesp.cfg is created upon the first start. Edit to set:

  • HTTP port
  • Username and password
  • Forward header if you run it behind a reverse proxy

Setup your ESP devices

LimboESP is built to work with the default ESP SDK OTA facility, so there's no need for additional libraries. Check official docs for ESP8266 or ESP32.

As an example, here's my code called from time to time. For simplicity i merged header and code:

#if defined(ESP8266)
#include <ESP8266httpUpdate.h>
t_httpUpdate_return ret = ESPhttpUpdate.update(clientWifi, "http://LIMBOESP_SERVER:8080/update/esp8266", "optional info string");
#endif

#if defined(ESP32)
#include <HTTPUpdate.h>
t_httpUpdate_return ret = httpUpdate.update(clientWifi, "http://LIMBOESP_SERVER:8080/update/esp32", "optional info string");
#endif

Your device registers itself upon the first request. Visit the webinterface to approve the device, assign an app and check device information.

Links