2023-01-21

OTA z VIRTUINO

Tytuł nieco przewrotny choć nie do końca. Możliwość bezprzewodowego nagrywania projektu do ESP  dostępna jest w Arduino praktycznie dla każdego kodu. Jedynym wymogiem jest funkcja WiFi w module co praktycznie ogranicza nas do mikrokontrolerów ESP.  Połączenie OTA i VIRTUINO to test jaki zrobiłem przy tworzeniu nowego uniwersalnego szablonu dla moich projektów zawierający wszystkie potrzebne mi bloki. Cel? Sprawdzenie czy nie ma problemu we współpracy kodów tych bloków a przede wszystkim współpracy ich bibliotek. Dziś krótki wpis o module OTA w moim szablonie.

 Do funkcji OTA w swoich projektach podchodziłem jak pies do jeża. W czasach gdy było mi to potrzebne obsługa bezprzewodowego ładowania projektu wymagało skomplikowanych procedur. Arduino już co prawdo oferowało tę funkcję ale ilość zgłaszanych problemów przewyższała korzyści. Dopiero w najnowszych wersjach Arduino funkcja to wydaje się działać w miarę poprawnie choć nie bez pewnych zacięć. OTA dostępna jest zarówno w najnowszej wersji 1.xx jak i 2.xx.

Nie będę jej szczegółowo opisywał - załączony do biblioteki przykład jest prosty. Należy zwrócić uwagę na kilka spraw:

  • Jak zawsze staramy się nie dublować bibliotek w projekcie - u mnie to biblioteki wifi (co oczywiste) i UDP są już zdefiniowane w innych blokach
  • W oryginalnym kodzie OTA odblokowujemy linię

      ArduinoOTA.setPassword("admin");

Arduino teoretycznie może wgrać program bez hasła ale w praktyce hasło musi być i już. Chyba że ktoś umie pogrzebać w konfiguracji by wyłączyć tę opcję

  • dodatkowo warto odblokować linię
      ArduinoOTA.setHostname("myesp8266");

Nadanie nazwy naszemu układowi znakomicie ułatwi jego identyfikację gdy będziemy mieli większą ilość układów do przeprogramowania w swoim systemie.
  •   i najważniejsze - prawie na pewno próba zdalnego wgrania programu z waszego  komputera nie powiedzie się. Windows standardowo ma załączony firewall blokujący możliwość połączenia z mikromodułem przez UDP na domyślnym (8266) porcie. A więc pierwszą rzeczą jaką musimy zrobić to wyłączyć firewall w komputerze
  • po pierwszym wgraniu projektu z funkcją OTA bezwzględnie należy zrobić HARD RESET najlepiej wyłączając moduł. To nas upewni, że funkcja OTA została aktywowana.
  • dosyć częstym objawem będzie to, że nie zobaczymy portu z IP naszego modułu w ustawieniach portu. Należy ponownie uruchomić Arduino i wszystko powinno być OK.  

Brak komentarzy:

Prześlij komentarz