Zapoznaj się wcześniej z głównymi założeniami

Urządzenia sieciowe to typ urządzeń opartych na ESP8266, ESP32 lub podobnych. Biblioteki do Arduino i kreatory kodu pozwolą na szybki start

Arduino

Przed rozpoczęciem programowania ESP przez Arduino IDE potrzebne są biblioteki remoteMe (Sketch -> Include Libraries -> manage libraries and add):

  • RemoteMe by Remoteme.org – podstawowa funkcjonalność
  • RemoteMeUtils by remoteMe.org – Implementacja innych rodzajów połączeń (websockety bezpośrenie połączenie strina internetowa <-> ESP)
    • remoteMe utils potrzebuje do prawidłowego działania tej bilbioteki WebSockets by Markus Sattler

żeby dodać urządzenie należy w zakłądce Devices wybrać new device a następnie  new network device uzupełnić okno i dać submit

Nowe urządzenie pojawi się na liście urządzeń, nie jest wymagane dodawanie nowego urządzenia ręcznie doda się ono automatycznie po rejestracji – przydatne gdy mamy już wygenerowany sketch i tylko zmieniamy deviceId i nazwę na coś nowego

Kreator kodu

Jest to najłatwiejsza droga do wgrania kodu współpracującego z remoteMe na urządzenie arduino. Oczywiście kod jest w pełni modyfikowalny i nic nie stoi na przeszkodzie żeby go rozwijać

Kreator kodu jedynie generuje kod który trzeba potem wgrać przy pomocy Arduino IDE lub podobnych narzędzi. Ten kreator nie wgra kodu do twojego urządzenia !

 

Krok 1:

  1. Zmienne – wybierz zmienne którymi chcesz zarządzać ze swojego ESP (zmieniać dostawać notyfikacje o ich zmienia) więcej o zmiennych tutaj
    • Jeżeli niepotezebujesz dostawać notydikacje o zmienie stanu zmienny wykasuj linie  :  remoteMe.getVariables()->observeBoolean(... i implementacje funkcji do ktorej się rejestracja odnosi. Zaprzestanie obserwowania zmiennych spowoduje że nie będzie nic wysyłane do ESP
    • Jeżeli nie planuejsz z ESP zmieniac zmiennych nie są potrzebne żadne zmiany w kodzie. zmiana zmiennej powoduje ruch sieciowy tylko gdy zmienna jest zmieniana z kodu na życzenie
  2. Generowanie funkcji do obsługi wiadomości asynchronicznej użytkownika więcej tutaj
  3. Generowanie funkcji do obsługi wiadomości synchronicznej użytkownika więcej tutaj

Krok 2:

  1. Nazwa naszej sieci wifi i hasło do niej – nie mus być uzupełniona wtedy jest potrzebna ręczna zmiana w #define WIFI_NAME ""
    #define WIFI_PASSWORD ""
  2. Token który jest wykorzystywany do rejestracji urządzenia w systemie remoteMe

Krok 3:

  1. Metoda komunikacji
    1. Socket connection – połączenie plain socket, jest wo preferowany rodzaj połączenia – generuje najmnijeszy ruch i jest najszybszy w obsłudze, komunikacja działa na porcie 18
    2. WebSocket Jeżeli z jakiegos powodu nie można skorzystać z połączenia socketowego ( ograniczenie firewalla itp)
  2. Direct conneciton połczenie bezpośrenie, strona internetowa jeżeli zostanie uruchomiona na urządzeniu z tej samej sieci lokalnej połączy się do urządzenia bezpośrednio – przydatne gdy zależy nam na znikomym opóźnieniu – przydatne do samochodów zdalnie sterowanych
  3. W zależności jaką opcje wybraliśmy system wskaże jakie biblioteki trzeba mieć zainstalowane w Arduino IDE

Step3:

Generuje logi wypisywane do Serial

Step4:

stąd można pobrać lub wyświetlić wygenerowany kod.

Final:

Po wygenerowaniu kodu należy go wgrać do ESP, po wgraniu i rejestracji ikona statusu naszego urządzenia zmieni się z  na .

Inne

Po odłączeniu urządzenia status połaczenia zmieni się do 2 minut na niepodłączony – jest to spowodowane ogólną implementacją połączeń socketowych

Urządzenie zresetuje połączenie z remoteMe po braku internetu