Pełnofunkcjonalny system OTA dla ESP32-C3 Mini z interfejsem webowym do wgrywania nowych programów.
- 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
- Panel statusu (hostname, IP, pamięć, uptime)
- Upload pliku
.binz paskiem postępu - Real-time monitoring
- Responsywny design (działa na telefonie)
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";; 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.100pio run -e esp32-c3-devkitm-1 -t uploadpio run -e esp32-c3-ota -t uploadUruchom monitor, aby zobaczyć IP urządzenia:
pio device monitorPrzykł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/
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)
- Skompiluj nowy firmware:
pio run - Znajdź plik
.binw.pio/build/esp32-c3-devkitm-1/firmware.bin - W przeglądarce kliknij "Choose File" i wybierz
.bin - Kliknij "Upload Firmware"
- Obserwuj pasek postępu
- Po uploadzie ESP32 zrestartuje się automatycznie
# Zaktualizuj IP w platformio.ini [env:esp32-c3-ota]
pio run -e esp32-c3-ota -t uploadGET /- główna strona HTMLGET /status- status JSON (hostname, IP, heap, uptime)POST /update- upload firmware (multipart/form-data)GET /restart- restart ESP32
const char* otaPassword = "admin"; // zmień na własneupload_flags =
--port=3232
--auth=twoje_hasloESP32-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
}esp32-c3-ota/
├── platformio.ini # konfiguracja PlatformIO
├── src/
│ └── main.cpp # główny kod
├── include/ # pliki nagłówkowe
├── lib/ # biblioteki lokalne
└── test/ # testy
- Platform: ESP32-C3 (RISC-V single-core, WiFi, BLE)
- Framework: Arduino
- Upload: ESPTool (USB), ESPOta (WiFi)
- Libraries: ArduinoOTA, WebServer, ESPmDNS, Update
- Sprawdź SSID i hasło
- Sprawdź zasięg WiFi
- Użyj 2.4GHz (ESP32-C3 nie obsługuje 5GHz)
- Podłącz monitor szeregowy:
pio device monitor - IP jest wyświetlane po starcie
- Sprawdź czy IP w
platformio.inijest poprawne - Sprawdź czy hasło OTA się zgadza
- Sprawdź czy ESP32 jest w tej samej sieci
- Nie wszystkie systemy obsługują mDNS
- Windows: zainstaluj Bonjour lub iTunes
- Użyj bezpośrednio IP
Open source - użyj jak chcesz.