Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
IGE-XAOIGE-XAO
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

ESPnow - czyli budujemy naszą małą domową sieć wymiany danych.

error105 17 Dec 2020 13:09 14967 71
  • #61
    Uniwersytet3Wieku
    Level 2  
    @khoam - zacząłem od arduino, a teraz oswajam ESP8266. Zrobiłem kilka drobnych konstrukcji na pojedynczych kontrolerach (podlewanie z kontrola wilgotnosci, otwieranie garazu z czujnikami i konrola stanow itd itd), wszystko na prostych poleceniach ale dziala swietnie z Blynk.
    teraz jak pisalem chce skomunikowac 2 i wiecej kontrolerow, nawet na arduino mi nie idzie polaczenie poza komunikacja z komputerem przez uart.
    tak wiec jak masz jakies banalne szkice zebym mogl pocwiczyc wymiane danych pomiedzy 2x arduino lub 2x esp8266 poprzez uart (np na jednym przyciskiem uruchamiam odczyt term. na drugim i przesylam do pierwszego, itp) to bylbym wdzieczny.

    bo tak teoretycznie to sobie mozemy pisac dlugo, ale jak dostane jakis prosty szkic ktory przecwicze i bede mial kogo zapytac w razie watpliwosci to mysle ze to właściwy kierunek tej dyskusji.
  • IGE-XAOIGE-XAO
  • #62
    khoam
    Level 40  
    Uniwersytet3Wieku wrote:
    bo tak teoretycznie to sobie mozemy pisac dlugo, ale jak dostane jakis prosty szkic ktory przecwicze i bede mial kogo zapytac w razie watpliwosci to mysle ze to właściwy kierunek tej dyskusji.

    Przykłady (naprawdę proste) do ESP-NOW podałem już w poście #58. Napisałeś, że są za trudne. Teraz piszesz, że:
    Uniwersytet3Wieku wrote:
    Zrobiłem kilka drobnych konstrukcji na pojedynczych kontrolerach (podlewanie z kontrola wilgotnosci, otwieranie garazu z czujnikami i konrola stanow itd itd),

    Nie rozumiem, ale mam propozycję. Załóż proszę nowy wątek w dziale "ESP8266 i ESP32 oraz IoT" tam będziesz mógł się podzielić swoimi uwagami i uzyskać ewentualną pomoc. Nie zaśmiecajmy tego wątku.
  • #63
    powerT
    Level 8  
    grzeg26 wrote:
    Chciałem nie śmiało zapytać a da się połączyć dwa Nodemcu 8266 na zasadzie
    Jeden odbiera dane z czujników i po wi fi np (one-to one) łączy się z drugim ale ten drugi jest już w sieci WIFI zalogowany, podłączony do routera wszytko po to żeby te dane wyświetlić na strone www.
    Chciałem to zrobić z użyciem protokołu espnow ale to sie chyba nie da.

    Pomoże Ktoś chociaż naprowadzić ..


    jeszcze masz MESH.

    Jeden ESP działa jako MQTT BRIDGE (ma połączenie z Wi-Fi) pozostałe to węzły. Każdy ma z nich inny identyfikator (NODE). Polega to na tym, że ESP rozsyła coś, wszystkie to odbierają (send broadcast msg) lub konkretny jeden (send target msg)

    Są poziomy, węzły, też ciekawa i fajna sprawa do takich rzeczy

    ESPnow - czyli budujemy naszą małą domową sieć wymiany danych.
  • IGE-XAOIGE-XAO
  • #64
    JaromirQART
    Level 10  
    sq9etc wrote:
    Czy z użyciem tego ESPnow można zrealizować coś takiego?
    Sieć czujników na ESP8266 wysyła dane do jednego głównego modułu z ESP8266 z użyciem ESPnow. Moduł główny wysyła dane z użyciem Wi-Fi gdzieś dalej.


    Najlepiej zastosować dwa moduły. W moim działającym kilka lat „systemie” za logikę w „routerze brzegowym” i łączność po Wi-Fi odpowiada ESP32, a za łączność z innymi urządzeniami po ESP-NOW ESP8266 (lub ESP32) podpięty do nadrzędnego przez UART. ESB-NOW słabo działa jednocześnie z Wi-Fi i do tego zmiana kanały Wi-Fi wymusza zmianę kanałow wszystkich urządzeń ESP-NOW, a to jest trudne do koordynacji.
  • #65
    efi222
    Level 11  
    JaromirQART wrote:

    ... ESB-NOW słabo działa jednocześnie z Wi-Fi i do tego zmiana kanały Wi-Fi wymusza zmianę kanałow wszystkich urządzeń ESP-NOW, a to jest trudne do koordynacji.


    Może kolega rozwinąć to "słabe działanie ESP-NOW z WiFi" ?
    Co do zmiany kanałów to się zgadzam, że jest to trochę zakręcone.
    Pozdrawiam :)
  • #66
    JaromirQART
    Level 10  
    efi222 wrote:
    JaromirQART wrote:

    ... ESB-NOW słabo działa jednocześnie z Wi-Fi i do tego zmiana kanały Wi-Fi wymusza zmianę kanałow wszystkich urządzeń ESP-NOW, a to jest trudne do koordynacji.


    Może kolega rozwinąć to "słabe działanie ESP-NOW z WiFi" ?
    Co do zmiany kanałów to się zgadzam, że jest to trochę zakręcone.
    Pozdrawiam :)


    Robiłem testy 2-3 lata temu. Koniecznie chciałem, aby ESP32 jednocześnie łączył się po Wi-Fi i nadawał oraz odbierał pakiety po ESP-NOW. Nadawanie nie było problemem, za to odbierał co 5-10. Po prostu po Wi-Fi stale coś gadało. Za to jak dałem osobny moduł to 20 urządzeń (pakiety sam szyfruję własnymi funkcjami AES, więc limity ESP NOW mnie nie obowiązują) działa od 2 lat idealnie. Sama zmiana kanału to też katastrofa jak ma się 20 urządzeń. Wszystkie moduły ESP-NOW (rownież „centralny”) pracują w trybie stacji (nie AP), dzięki temu nie ma fałszywych AP w sieci. Procedurę parowania i wymiany klucza szyfrującego oparłem na broadcastingu (tak się zaczyna, potem już klucz wymieniają osobiście)
  • #67
    efi222
    Level 11  
    Testy z ESP-NOW robię już podobnie jak kolega od dłuższego czasu. Dziwne trochę z tym słabym odbiorem. Niestety nie robiłem prób na ESP32. U mnie odbiornik ESP8266 pracuje w trybie AP_STA ESP-NOW i WiFI , wysyła dane na Thingspeak, Virtuino i generuje lokalną stronę www i nie mam problemów z odbiorem. Nadajniki ( testowałem na 9 sztukach ) wysyłają dane asynchronicznie co minutę, ale czasami przychodzą z kilku nadajników jednocześnie i jeszcze nie zdażyło się, żeby odbiornik coś zgubił. Nadajnik wysyła dane pod konkretny MAC odbiornika (bez broadcastingu). Co prawda dane nie są szyfrowane. Może tu jest problem słabego odbioru.

    p.s. Teraz doczytałem, ze to komunikacja dwukierunkowa. To zmienia postać rzeczy.
  • #68
    JaromirQART
    Level 10  
    efi222 wrote:
    Testy z ESP-NOW robię już podobnie jak kolega od dłuższego czasu. Dziwne trochę z tym słabym odbiorem. Niestety nie robiłem prób na ESP32. U mnie odbiornik ESP8266 pracuje w trybie AP_STA ESP-NOW i WiFI , wysyła dane na Thingspeak, Virtuino i generuje lokalną stronę www i nie mam problemów z odbiorem. Nadajniki ( testowałem na 9 sztukach ) wysyłają dane asynchronicznie co minutę, ale czasami przychodzą z kilku nadajników jednocześnie i jeszcze nie zdażyło się, żeby odbiornik coś zgubił. Nadajnik wysyła dane pod konkretny MAC odbiornika (bez broadcastingu). Co prawda dane nie są szyfrowane. Może tu jest problem słabego odbioru.


    Testy robiłem jeszcze bez szyfrowania i bez broadcastingu (3 lata temu temat jeszcze raczkował). Moduł był też mostem HomeKit, a to mogło powodować większe obciążenie Wi-Fi. Tak czy siak sama zmiana kanału dyskwalifikuje takie rozwiązanie, bo ono ma działać bezobsługowo. U mnie dane bywają wysyłane nawet co kilak sekund (jak są częste zmiany np. jasności, czy poboru mocy). System SmartHome dla HomeKit. Po 2-3 latach doświadczeń nie będę puszczał NOW z Wi-Fi, bo to zbyt problematyczne. Teraz mam jedną bramkę Etherent, gdzie Wi-Fi nie ma wcale, więc nie ma problemu z ESP-NOW ;-)
    Oczywiście, jak Ci działa i jesteś zadowolony, to nie ma co kombinować. Ja zrobiłem systemik tak, aby i mój Tato u siebie w domu, gdzie router od dostawcy neta zmienia kanały, mógł bez problemu używać.
  • #69
    khoam
    Level 40  
    JaromirQART wrote:
    Sama zmiana kanału to też katastrofa jak ma się 20 urządzeń. Wszystkie moduły ESP-NOW (rownież „centralny”) pracują w trybie stacji (nie AP), dzięki temu nie ma fałszywych AP w sieci.

    Skoro wszystkie ESP pracowały w trybie STA+NOW to raczej nie stało nic na przeszkodzie, aby zaimplementować automatyczną zmianę kanału dla NOW po każdym reconnect STA lub po restarcie ESP.
    Zakładam, że wszystkie ESP łączyły się w trybie STA do tego samego routera AP.
  • #70
    JaromirQART
    Level 10  
    khoam wrote:
    JaromirQART wrote:
    Sama zmiana kanału to też katastrofa jak ma się 20 urządzeń. Wszystkie moduły ESP-NOW (rownież „centralny”) pracują w trybie stacji (nie AP), dzięki temu nie ma fałszywych AP w sieci.

    Skoro wszystkie ESP pracowały w trybie STA+NOW to raczej nie stało nic na przeszkodzie, aby zaimplementować automatyczną zmianę kanału dla NOW po każdym reconnect STA lub po restarcie ESP.
    Zakładam, że wszystkie ESP łączyły się w trybie STA do tego samego routera AP.


    Nie łączyły się do żadnego routera, a do ESP, który działał tylko w NOW. Poza „mostkiem” nic się z Wi-Fi nie łączyło. Teraz rozumiesz problem? Jeżeli router i jego AP Wi-Fi zmieniłoby kanał, bo np. jest w trybie „auto”, to „baza” NOW chcąc utrzymać łączność z Wi-Fi, przełączyłaby kanał i peery by już straciły łączność. Można zaimplementować w nich „wyszukiwanie” itp. ale co za problem dodać moduł, który będzie tylko ESP-NOW obsługiwał. W takiej sytuacji obciążenie „mostka” jest mniejsze, a i zmiana kanału jest prosta. Najpierw wysyłam komendą zmiany do peerów, potem zmieniam w „centralnym”, bo robię to sam, a nie z przymusu AP od Routera.

    Jak pisałem, działa już ponad dwa lata i w zasadzie nic z tym nie muszę robić, czasem dodaję nowe akcesoria jak wgram im swój soft — ostatnio zawór Tuya przerobiłem na ESP-NOW.

    Dodano po 6 [minuty]:

    khoam wrote:
    Zakładam, że wszystkie ESP łączyły się w trybie STA do tego samego routera AP.


    A z ciekawości. Skąd ten pomysł, że używając ESP-NOW miały się z jakimś AP łączyć?
  • #71
    khoam
    Level 40  
    JaromirQART wrote:
    Wszystkie moduły ESP-NOW (rownież „centralny”) pracują w trybie stacji (nie AP), dzięki temu nie ma fałszywych AP w sieci.

    Powyższy opis nie pasuje do tego, co podałeś później:
    JaromirQART wrote:
    Nie łączyły się do żadnego routera, a do ESP, który działał tylko w NOW.

    W takiej sytuacji faktycznie implementacja automatycznej zmiany kanałów dla ESP-NOW jest zdecydowanie bardziej trudniejsza.


    JaromirQART wrote:
    Poza „mostkiem” nic się z Wi-Fi nie łączyło.

    W charakterze "mostka" wykorzystałbym raczej ESP32 jako Now/Ethernet, ale jest to kwestia indywidualna.

    JaromirQART wrote:
    A z ciekawości. Skąd ten pomysł, że używając ESP-NOW miały się z jakimś AP łączyć?

    Wyjaśnienie powyżej.
  • #72
    efi222
    Level 11  
    Z tymi kanałami w ESP NOW to faktycznie jest trochę problemu. Trzeba kombinować jakieś obejścia. Albo trzymać AP na sztywnym kanale, albo dokładać drugi moduł ESP osobno do WiFi. O ile nadajnikowi ESP-NOW na "pełnym chodzie" jakoś by ten kanał można podesłać, to przy uśpionym, który nadaje jakieś dane okresowo i zasypia, chyba będzie trudno..