Wpis z mikrobloga

Robię sobie pilota do sterowania silnikiem. Esp8266 będzie nadajnikiem a esp32 odbiornikiem. Zdecydowałem się na komunikację ESP-NOW. Chcę zabezpieczyć odbiornik, aby odcinał silnik w momencie gdy nadajnik skończy nadawać bo np. skończył mu się prąd. Myślałem o tym żeby nadajnik nadawał sygnał co 0,5s a na odbiorniku podnosiłbym blokadę jeżeli przez co najmniej 2 sekundy nie odebrał sygnału. Niestety przy testach okazało się że nawet 2 sekundowy bufor potrafi być niewystarczający. A z drugiej strony nie chce go wydłużać żeby silnik pozostał bez kontroli za długo w razie czego. Potrzebuję jakiegoś innego rozwiązania. Macie jakiś pomysł?
#esp32 #esp8266 #arduino #modelarstwo
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 0
@JestemKaspi czas nie jest problemem esp-now jest bardzo szybki. Bardziej martwi mnie to, że sygnał czasami nie dociera przez co luka w odbiorze przekracza te magiczne 2 sekundy
  • Odpowiedz
@maniok Jeśli w twoim kodzie nie ma błędów to w grę wchodzą zakłócenia, zasięg lub problemy z zasilaniem. Dwa pierwsze możesz rozwiązać używając (o ile jeszcze tego nie robisz) espków z zewnętrznymi antenami. W trzecim przypadku trzeba dodać kondensatory zgodnie z dokumentacją.
  • Odpowiedz
  • 0
@63274682374: faktem jest że narazie testy odbywają się na zasilaniu przez USB z PCTA. zasięg też niewielki bo kilkadziesiąt centymetrów a docelowo będą to max 2 metry. Dodam kondensatory i zobaczę czy problem nadal będzie obecny. Ale mimo to, może ktoś ma jakiś pomysł jak rozwiązać mój problem w inny sposób. W sensie szukam pomysłu na inną metodę automatycznego odcięcia
  • Odpowiedz
  • 0
@63274682374: pilot do sterownika silnika elektrycznego na kajak. Chcę wykorzystać to co już mam. A mam esp32 i esp8266.
Oczywiście będę miał magnetyczną zrywkę aby manualnie odciąć zasilanie ale chcę zabezpieczyć dodatkowo automat na wypadek gdyby pilot przestał banglać.
  • Odpowiedz
ustaw najwyższy priorytet


@walokid:
@maniok:

Zdaje mi się, że ustawienia QoS nic nie pomogą bo to nie ten protokół. QoS jest przy połączeniu Wi-Fi a ESP-NOW to takie trochę bardziej jakby radiowe ale na tej samej częstotliwości. ESP-NOW powinno się sprawować
  • Odpowiedz
Zdaje mi się, że ustawienia QoS nic nie pomogą bo to nie ten protokół.


@m4cias: Ale też maz zaimplementowane QoS co widzisz na screenie który wysłałem. Nigdy nie kożystałem z esp-now dlatego właśnie musiałem zgooglować czy tam to jest
  • Odpowiedz
via Android
  • 0
@m4cias Claude Sonnet twierdzi że będzie wpływ na esp-now

"W kontekście ESP-NOW na ESP32, możemy skorzystać z tych funkcji. Oto jak możemy to zaimplementować:

1. Wi-Fi QoS w ESP-NOW:
ESP-NOW pozwala na ustawienie priorytetu dla każdego połączenia peer. Priorytety są mapowane na kategorie dostępu Wi-Fi (WMM - Wi-Fi Multimedia) w następujący
  • Odpowiedz
Ale też maz zaimplementowane QoS co widzisz na screenie który wysłałem. Nigdy nie kożystałem z esp-now dlatego właśnie musiałem zgooglować czy tam to jest


@walokid: QoS dotyczy protokołu TCP-IP, to wyższa warstwa.

W ESP-NOW nie ma adresów IP, jest tylko MAC i bezpośrednia komunikacja krótkimi komunikatami po 255 bajtów puszczanymi w eter z dodanym adresem MAC odbiorcy. Odbiorca odsyła tylko powiadomienie, że otrzymał wiadomość i na tym się kończy cała logika. Trudno o prostszy
  • Odpowiedz
via Android
  • 0
@m4cias nadajnik przesyłał na konkretny MAC ale odbiornik zbierał zewsząd. Po pracy ustalę tunel MAC to MAC i zastosuję wcześniejsze pomysły. Jeżeli będą dalej występować odchylenia to albo będę próbował czegoś innego albo zrobię pilota na kablu
  • Odpowiedz
"W kontekście ESP-NOW na ESP32, możemy skorzystać z tych funkcji. Oto jak możemy to zaimplementować:


1. Wi-Fi QoS w ESP-NOW:

...


@maniok
  • Odpowiedz
via Android
  • 2
@walokid @m4cias ustawienie potwierdzenia zwrotnego i ponowienia sygnału w razie braku odzewu załatwiło sprawę. 50-100ms trwa cała procedura a potem lightsleep do 500ms i następny cykl. Jeszcze tylko wydrukować obudowę i pilot gotowy do użytku.
  • Odpowiedz
ustawienie potwierdzenia zwrotnego i ponowienia sygnału w razie braku odzewu załatwiło sprawę.


@maniok: gitówa Mirku. I my się przy okazji czegoś dowiedzieliśmy.
  • Odpowiedz