Skip to content

garyblu71mods/garyblu71mods-ender3-esp32-controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

ESP32-C3 Mini OTA Update System

Pełnofunkcjonalny system OTA dla ESP32-C3 Mini z interfejsem webowym do wgrywania nowych programów.

Funkcjonalności

OTA Updates

  • ArduinoOTA - standardowy protokół OTA przez port 3232
  • Web Upload - upload firmware przez przeglądarkę z paskiem postępu
  • mDNS - dostęp przez esp32-c3-ota.local
  • Restart - zdalny restart urządzenia

Web Interface

  • Panel statusu (hostname, IP, pamięć, uptime)
  • Upload pliku .bin z paskiem postępu
  • Real-time monitoring
  • Responsywny design (działa na telefonie)

Konfiguracja

1. Edytuj dane WiFi w src/main.cpp:

const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";

2. Dostosuj ustawienia w platformio.ini:

; Port szeregowy (sprawdź w Device Manager)
upload_port = COM3

; IP ESP32 po pierwszym uploaderze (dla OTA)
[env:esp32-c3-ota]
upload_port = 192.168.0.100

Instalacja

Pierwszy upload (przez USB):

pio run -e esp32-c3-devkitm-1 -t upload

Kolejne uploady (przez OTA):

pio run -e esp32-c3-ota -t upload

Użycie

1. Monitor Szeregowy

Uruchom monitor, aby zobaczyć IP urządzenia:

pio device monitor

Przykładowy output:

=== ESP32-C3 OTA Update System ===
WiFi connected!
IP address: 192.168.0.100
mDNS responder started
Access via: http://esp32-c3-ota.local
Web server started
OTA Update URL: http://192.168.0.100/

2. Web Interface

Otwórz w przeglądarce:

  • http://192.168.0.100/ (użyj IP z monitora)
  • lub http://esp32-c3-ota.local/ (jeśli mDNS działa)

3. Upload Firmware

  1. Skompiluj nowy firmware: pio run
  2. Znajdź plik .bin w .pio/build/esp32-c3-devkitm-1/firmware.bin
  3. W przeglądarce kliknij "Choose File" i wybierz .bin
  4. Kliknij "Upload Firmware"
  5. Obserwuj pasek postępu
  6. Po uploadzie ESP32 zrestartuje się automatycznie

4. OTA przez PlatformIO

# Zaktualizuj IP w platformio.ini [env:esp32-c3-ota]
pio run -e esp32-c3-ota -t upload

Endpoints API

  • GET / - główna strona HTML
  • GET /status - status JSON (hostname, IP, heap, uptime)
  • POST /update - upload firmware (multipart/form-data)
  • GET /restart - restart ESP32

Bezpieczeństwo

Zmień hasło OTA w src/main.cpp:

const char* otaPassword = "admin";  // zmień na własne

Zaktualizuj w platformio.ini:

upload_flags = 
    --port=3232
    --auth=twoje_haslo

Połączenie z Ender3

ESP32-C3 Mini jest podłączony przez UART do drukarki. Możesz dodać:

  • Monitoring komunikacji UART
  • Przekazywanie komend do drukarki
  • Zdalne sterowanie

Przykład komunikacji UART:

// W setup():
Serial1.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);

// W loop():
if (Serial1.available()) {
  String data = Serial1.readStringUntil('\n');
  // przetwarzaj dane z drukarki
}

Struktura Projektu

esp32-c3-ota/
├── platformio.ini          # konfiguracja PlatformIO
├── src/
│   └── main.cpp            # główny kod
├── include/                # pliki nagłówkowe
├── lib/                    # biblioteki lokalne
└── test/                   # testy

Technologie

  • Platform: ESP32-C3 (RISC-V single-core, WiFi, BLE)
  • Framework: Arduino
  • Upload: ESPTool (USB), ESPOta (WiFi)
  • Libraries: ArduinoOTA, WebServer, ESPmDNS, Update

Rozwiązywanie Problemów

ESP32 nie łączy się z WiFi

  • Sprawdź SSID i hasło
  • Sprawdź zasięg WiFi
  • Użyj 2.4GHz (ESP32-C3 nie obsługuje 5GHz)

Nie mogę znaleźć IP

  • Podłącz monitor szeregowy: pio device monitor
  • IP jest wyświetlane po starcie

Upload OTA nie działa

  • Sprawdź czy IP w platformio.ini jest poprawne
  • Sprawdź czy hasło OTA się zgadza
  • Sprawdź czy ESP32 jest w tej samej sieci

mDNS nie działa

  • Nie wszystkie systemy obsługują mDNS
  • Windows: zainstaluj Bonjour lub iTunes
  • Użyj bezpośrednio IP

License

Open source - użyj jak chcesz.

About

ESP32-C3 wireless controller for Ender3 3D printer with WiFiManager and OTA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages