Press "Enter" to skip to content

OTA programovanie ESP8266

MiroRi 0

OTA (Over-the-Air) programovanie pre ESP8266

1. Čo je OTA?

OTA (Over-the-Air) je funkcia, ktorá ti umožňuje nahrávať nový program na dosku ESP8266 bezdrôtovo, cez Wi-Fi sieť. Je to ideálne pre zariadenia, ku ktorým máš sťažený fyzický prístup.

2. Kód pre aktiváciu OTA

Aby OTA fungovalo, musí mať program, ktorý je práve nahraný na doske, implementovanú OTA funkcionalitu. Aktivuje sa pomocou dvoch kľúčových riadkov:

  • ArduinoOTA.begin();: Spustí OTA službu a pripraví dosku na prijímanie aktualizácií.
  • ArduinoOTA.handle();: Neustále kontroluje, či neprišla požiadavka na aktualizáciu. Musí byť volaná v slučke loop().

Základný príklad OTA kódu:
Tento kód stačí nahrať na dosku raz (cez USB), aby si OTA aktivoval.


3. Ako nahrávať program cez OTA

  1. Uisti sa, že tvoj počítač a ESP8266 sú pripojené k rovnakej Wi-Fi sieti.
  2. V Arduino IDE prejdeš do Nástroje -> Port. Tam si namiesto COM portu vyberieš IP adresu tvojej dosky (napr. 192.168.1.76).
  3. Upravíš kód podľa potreby a klikneš na Nahrať. Arduino IDE automaticky použije Wi-Fi namiesto USB.

Pozor: USB kábel môže zostať počas nahrávania pripojený.


4. Kľúčové pravidlo

Každý ďalší program, ktorý nahrávaš cez OTA, musí obsahovať OTA kód!

Ak by si nahral kód, v ktorom chýba ArduinoOTA.handle(), stratil by si možnosť ďalšej bezdrôtovej aktualizácie. V tom prípade by si musel dosku opäť pripojiť cez USB.

Príklad kombinácie OTA s inou funkciou (Blikanie LED):
Tento kód bliká LED diódou a zároveň umožňuje ďalšie OTA aktualizácie.


5. Riešenie bežnej chyby

Najčastejšia chyba je [ERROR]: No response from device. Jej príčinou je takmer vždy firewall na tvojom počítači, ktorý blokuje komunikáciu na porte 8266. Riešením je pridať výnimku pre Arduino IDE v nastaveniach firewallu.

how to unblock firewall

<< Translate