Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Moduł Arduino Mega + WiFi ESP8266, opinia, zastosowania

TechEkspert 02 Gru 2018 21:29 1599 13
  • Moduł Arduino Mega + WiFi ESP8266, opinia, zastosowania
    Moduł Arduino Mega (ATmega2560) + ESP8266 na jednej płytce zawiera Arduino Mega i moduł WiFi oparty o ESP8266 z anteną drukowaną i złączem anteny zewnętrznej uFL. Koszt modułu na portalach aukcyjnych to ~12$ Link. Moduł można zasilać z gniazda micro USB lub złącza DC 7-16V, na płytce znajduje się przetwornica DC/DC (MP2307). Komunikacja z modułami odbywa się przez konwerter USB<->UART oparty o układ CH340. Arduino Mega pracuje z napięciem 5V, natomiast ESP8266 3.3V. Wyprowadzenia ESP8266 są dostępne na dodatkowym złączu z opisem po drugiej stronie PCB. Złącze ISP pozwala na programowanie ATmega2560 z ominięciem bootloadera.
    Moduł Arduino Mega + WiFi ESP8266, opinia, zastosowania

    W poprzednim materiale o ESP8266+Arduino UNO rozwinęliście bardzo ciekawą dyskusję o tym czy takie połączenie modułów na jednej płytce ma sens.

    Czy ESP8266 i ATmega2560 może znaleźć lepsze zastosowania?

    Mamy tutaj więcej I/O, 16 wejść ADC 10b, 4xUART oraz 2xtimer 8bit i 4xtimer 16bit.
    Na płytce zabrakło kondensatora SMD, widać tutaj wpływ ceny na jakość podobnie jak w poprzednio testowanym module ESP8266+Arduino UNO:
    Moduł Arduino Mega + WiFi ESP8266, opinia, zastosowania

    Przy łączeniu wyprowadzeń ESP8266 i UNO należy pamiętać o różnych poziomach napięć, podobnie przy podłączaniu peryferiów.
    Po odpowiednim ustawieniu przełączników ESP8266 i ATmega2560 mogą komunikować się z wykorzystaniem UART, inne ustawienie zworek pozwala na połączenie konwertera UART<->USB z wybranym modułem w celu programowania.




    Moduł Arduino Mega + WiFi ESP8266, opinia, zastosowania

    Połączenie modułów po UART - DIP 1 i 2 ON
    Połączenie USB<->UART z ATmega2560 - DIP 3 i 4 ON
    Połączenie USB<->UART z ESP8266 - DIP 5 i 6 ON
    Połączenie USB<->UART z ESP8266 w trybie programowania (GPIO0-GND) - DIP 5 i 6 i 7 ON

    Dodatkowy przełącznik RXD0 TXD0 - RXD3 TXD3 pozwala na wybór UART, po którym ATmega2560 będzie komunikować się z ESP8266.
    Ustawienie przełącznika w położenie RXD3 TXD3, oraz DIP 1, 2, 3, 4 - umożliwia komunikację poprzez konwerter USB<->UART z ATmega2560 na porcie UART0, oraz komunikację ESP8266 z ATmega2560 na porcie UART3.

    Czy uważacie takie połączenie ATmega2560 z ESP8266 na jednej płytce za sensowne?

    Arduino MEGA może znacząco rozszerzać możliwości ESP8266 pod względem ilości I/O ogólnego przeznaczenia, oraz ilości wejść ADC, wyjść PWM, możliwe jest odciążenie/buforowanie dla ESP przy realizacji pomiarów lub komunikacji z peryferiami.

    Przełączanie miniaturowych przełączników do zmiany trybów jest niewygodne. Podczas łączenia wyprowadzeń moduły ESP i Arduino należy pamiętać o różnicy poziomów napięć między modułami.

    Poniżej informacje jak zintegrować ze środowiskiem Arduino część modułu z ESP8266 oraz połączyć się do środowiska Blynk:
    ESP8266 WIFI uruchmienie, start z IoT, Blynk, Thingspeak

    Ilość dostępnych PWM, oraz I/O kusiła aby jako test praktyczny wykonać jakiś sterownik RGB lub wielokanałowy sterownik/rejestrator połączony z Blynk lub Thingspeak, ale to już było w poprzednim materiale. Spróbujmy czegoś innego.

    Jako praktyczny test modułu tym razem przetestowałem dedykowany dla Arduino MEGA RFLINK GATEWAY. Projekt RFLink pozwala na dekodowanie transmisji z bardzo wielu urządzeń bezprzewodowych typu czujniki stacji pogodowych, piloty pracujących w pasmach ISM. Do pinu D19 podłączyłem wyjście danych bardzo prostego i taniego odbiornika 433MHz OOK. Autorzy przygotowali podpowiedzi jakich modułów używać: http://www.rflink.nl/blog2/wiring Oprogramowanie do pobrania na stronie projektu http://www.rflink.nl/blog2/download wykorzystuje do przesłania firmware bootloader Arduino co upraszcza proces testów. Okazało się, że dwa przypadkowo posiadane piloty są prawidłowo dekodowane i w konsoli szeregowej pojawiły się informacje o numerze przycisku, który nacisnąłem na pilocie. Po dołączeniu lepszej anteny, zaczęły się pojawiać komendy sterujące wysyłane przez piloty pracujące u któregoś z sąsiadów na osiedlu. Może pojawią się dane z popularnych ostatnio czujników stacji pogodowych? Po podłączeniu nadajnika, projekt pozwala także na wysyłanie komend do urządzeń bezprzewodowych.
    Mając na płytce ESP8266 informacje możemy przesyłać dalej z wykorzystaniem WiFi.
    Moduł Arduino Mega + WiFi ESP8266, opinia, zastosowania


    Fajne! Ranking DIY
  • CControls
  • #2 03 Gru 2018 11:30
    xn_tec
    Poziom 9  

    Moim zdaniem połączenie bardzo sensowne, bo proste moduły na ESP8266 nie mają wyjścia antenowego a te co mają są stosunkowo drogie. Tu za kilkadziesiąt złotych mamy całość z wygodnym programowaniem ESP8266.

    Tyle żę z tego co gdzieś wyczytałem, to ten moduł sprawia wiele poroblemów i wielu użytkownikom nie udało się zmusić go do działania.

  • #3 03 Gru 2018 18:22
    TechEkspert
    Redaktor

    @xn_tec dzięki za info, czy wiadomo na czym polegają problemy z tym modułem? Mam ten moduł na stole, może uda się sprawdzić te problemy w praktyce?

  • #4 03 Gru 2018 18:27
    xn_tec
    Poziom 9  

    Z tego co znalazłem ludzie miewali problemy z komunikacją między Atmegą a ESP8266. Było też sporo pytań typu "czemu mi to nie działa" i jakoś bez odpowiedzi. Ktoś tam napisał że ta płytka to śmieć i że co chwila ktoś pisze o jakichś problemach. Nie mogę znaleźć linka do tej dyskusji na forum, bo znalazłem ją kilka tygodni temu.

    Jutro ją dostanę, więc zobaczymy na ile to prawda.

  • #5 03 Gru 2018 20:16
    khoam
    Poziom 20  

    xn_tec napisał:
    Z tego co znalazłem ludzie miewali problemy z komunikacją między Atmegą a ESP8266.

    Spora liczba przypadków dotyczyła problemów z odnalezieniem (odgadnięciem) "fabrycznej" prędkości po jakiej ESP komunikuję się po RX/TX. Trwałe ustawienie tej prędkości w ESP (tzn. żeby po resecie była taka, jaką sobie życzymy) też nie jest takie banalne i są sprzeczne informacje w necie na ten temat. Ciekawy jestem z jaką prędkością w tym konkretnym egzemplarzu komunikuje się ESP z Atmegą po RTX/TX.

  • CControls
  • #6 04 Gru 2018 11:07
    miszczo997
    Poziom 27  

    khoam napisał:
    Trwałe ustawienie tej prędkości w ESP (tzn. żeby po resecie była taka, jaką sobie życzymy) też nie jest takie banalne i są sprzeczne informacje w necie na ten temat.

    Przecież na stronie espressif jest pdf podpisany jako ESP8266 AT Instruction Set, gdzie jest napisane w jaki sposób to zrobić(AT+UART_DEF==XX).
    Mało się bawiłem esp, ale akurat z ustawieniem prędkości transmisji nie było żadnych problemów.
    BTW maksymalną prędkość baud jaką udało mi się wyciągnąć z ESP8266 to 4mb/s. Być może można więcej, ale po prostu mój konwerter usb<=>uart już nie wyrabiał.

  • #7 04 Gru 2018 12:41
    khoam
    Poziom 20  

    miszczo997 napisał:
    Przecież na stronie espressif jest pdf podpisany jako ESP8266 AT Instruction Set, gdzie jest napisane w jaki sposób to zrobić(AT+UART_DEF==XX).

    Przy założeniu, że jest oryginalny firmware w ESP, a to dość rzadki przypadek, kiedy towar się sprowadza z ali.

  • #8 04 Gru 2018 13:06
    pier
    Poziom 23  

    TechEkspert napisał:

    Jako praktyczny test modułu tym razem przetestowałem dedykowany dla Arduino MEGA RFLINK GATEWAY. Projekt RFLink pozwala na dekodowanie transmisji z bardzo wielu urządzeń bezprzewodowych typu czujniki stacji pogodowych, piloty pracujących w pasmach ISM. Do pinu D19 podłączyłem wyjście danych bardzo prostego i taniego odbiornika 433MHz OOK. Autorzy przygotowali podpowiedzi jakich modułów używać: http://www.rflink.nl/blog2/wiring Oprogramowanie do pobrania na stronie projektu http://www.rflink.nl/blog2/download wykorzystuje do przesłania firmware bootloader Arduino co upraszcza proces testów. Okazało się, że dwa przypadkowo posiadane piloty są prawidłowo dekodowane i w konsoli szeregowej pojawiły się informacje o numerze przycisku, który nacisnąłem na pilocie. Po dołączeniu lepszej anteny, zaczęły się pojawiać komendy sterujące wysyłane przez piloty pracujące u któregoś z sąsiadów na osiedlu. Może pojawią się dane z popularnych ostatnio czujników stacji pogodowych? Po podłączeniu nadajnika, projekt pozwala także na wysyłanie komend do urządzeń bezprzewodowych.


    No poskładać do kupy takie cosik i można komuś nieźle nerwa ruszyć.

    Co do samej płytki to moim zdaniem nie ma większego sensu. Wprowadzi użytkownikowi więcej zamętu niż przyniesie korzyści. Połączenie ESP8266 i AVR może się przydać jedynie w celu oszczędności energii a ta płytka raczej jest prądożerna.
    Jeśli chodzi o zwiększenie ilości I/O ESP to są fajne malutkie ekspandery I2C.

  • #9 04 Gru 2018 19:28
    TechEkspert
    Redaktor

    @pier w założeniu autorów RFlink miał on służyć nie tyle do żartów co do wykorzystania zdalnie sterowanych gniazdek jako elementów wykonawczych, pilotów jako punktów wejścia do systemu sterowania, podobnie jak czujników stacji pogodowych jako źródeł danych.

    Patrząc na ilość wspieranych urządzeń zespół RFlink musiał się nad tym nieźle napracować...

  • #10 05 Gru 2018 21:32
    LChucki
    Poziom 17  

    TechEkspert napisał:
    Czy ESP8266 i ATmega2560 może znaleźć lepsze zastosowania?

    ESP8266 ma spore ograniczenia, zdecydowanie lepszy jest ESP32 przy niewiele wyższej cenie. No i ten nieszczęsny AVR. ArduinoIDE wspiera ARM, dlaczego więc nie np STM32F107 + ESP32? Cena pewnie podobna. Może byc taniej, z F103 64 czy 100pin ale chyba lepiej F4xx?
    ESP + AVR to takie dziwne małżeństwo, Mercedes, który jest przewożony na lawecie przez F126p. Mercedes służy za klimatyzację.

  • #11 05 Gru 2018 21:47
    xn_tec
    Poziom 9  

    LChucki napisał:
    ESP + AVR to takie dziwne małżeństwo, Mercedes, który jest przewożony na lawecie przez F126p. Mercedes służy za klimatyzację.


    Nie rozumiem Twojego narzekania. Przecież to tania płytka do prostych rzeczy w oparciu o całe dobrodziejstwa Arduino. Do poważniejszych zabaw jest sporo mocniejszych rozwiązań opartych o ARM + WiFi.

  • #12 05 Gru 2018 21:55
    LChucki
    Poziom 17  

    xn_tec napisał:
    LChucki napisał:
    ESP + AVR to takie dziwne małżeństwo, Mercedes, który jest przewożony na lawecie przez F126p. Mercedes służy za klimatyzację.


    Nie rozumiem Twojego narzekania. Przecież to tania płytka do prostych rzeczy w oparciu o całe dobrodziejstwa Arduino. Do poważniejszych zabaw jest sporo mocniejszych rozwiązań opartych o ARM + WiFi.

    Nie bardzo rozumię AVR + ESP,tak jak 8051 + DigiConnect.
    Jakkolwiek, ESP8266 nie przypadło mi do gustu jako platforma i używam go jako mostka UART-WiFI (dlaczego nie I2C czy SPI - WiFI, to inny temat, choć to byłoby lepsze) to często samo ESP wystarcza. Jak nie to tzeba sie ratować nie AVR tylko właśnie ARM.
    Naprawdę dziwne, mając dużo RAM,FLASH itp, używać obok archaicznego AVR. W przypadku modyfikacji projektu ok, dokładam ESP ale jak coś buduje od zera i potężny (w stosunku do AVR) ESP, który się nudzi, ma być tylko "popychadłem" , "robolem" ? W sumie to jak w "normalnym" świecie, prezes, dyrektor, z zerowym wykształceniem i pracownik z wyższym, który na to zasłużył, zna się i nigdy nie bedzie niczym więcej niż kierownikiem.

  • #13 05 Gru 2018 22:30
    xn_tec
    Poziom 9  

    LChucki napisał:
    Naprawdę dziwne, mając dużo RAM,FLASH itp, używać obok archaicznego AVR.


    Patrzysz pod kątem hardware. Dla mnie osobiście to bardzo fajny moduł, bo mam sporo projektów które bazują na Mega i nie ma sensu przerabiać ich na nic innego bo w zupełności wystarcza to co jest. A jednocześnie dobrze byłoby zrobić upgrade radia bo tutaj jest lepszej jakości niż na boardach ESP za 12 pln.

    Jak dla mnie sprawa jest oczywista: potrzebujesz coś prostego i chcesz zrobić to na arduino (bo jesteś początkujący, bo masz coś zrobione wcześniej itp) - wybierasz tę płytę. Potrzebujesz coś mocniejszego, wybierasz ESP32 czy coś tam jeszcze lepszego.

    LChucki napisał:
    W sumie to jak w "normalnym" świecie, prezes, dyrektor, z zerowym wykształceniem i pracownik z wyższym, który na to zasłużył, zna się i nigdy nie bedzie niczym więcej niż kierownikiem.


    W normalnym świecie "pracownik co się zna" myśli, że może zastąpić prezesa czy dyrektora, bo ten jest głupi. Ale jak się go zrobi prezesem czy dyrektorem to się okazuje, że sobie nie radzi i robi głupie błędy bo wiedza techniczna to nie wszystko a poza swoją dziedziną, ów fachowiec na niczym się nie zna.

  • #14 05 Gru 2018 22:40
    LChucki
    Poziom 17  

    xn_tec napisał:
    Patrzysz pod kątem hardware. Dla mnie osobiście to bardzo fajny moduł, bo mam sporo projektów które bazują na Mega i nie ma sensu przerabiać ich na nic innego bo w zupełności wystarcza to co jest. A jednocześnie dobrze byłoby zrobić upgrade radia bo tutaj jest lepszej jakości niż na boardach ESP za 12 pln.

    Tusie zgadzam całkowicie. Modernizacja ok,nowy projekt nie.

    xn_tec napisał:
    Ale jak się go zrobi prezesem czy dyrektorem to się okazuje, że sobie nie radzi i robi głupie błędy bo wiedza techniczna to nie wszystko a poza swoją dziedziną, ów fachowiec na niczym się nie zna.

    Na myśli mam prezesów, co swoje rządy rozpoczynają od "porządków -czemu tu stoi ten karton, itp czyli nic meroterycznego". Nie będę się rozwodził na tym, że jakiś sensowny porządek musi być, ale "prezesa" już od 5 lat nie ma, a ten, co kartony "rzucał" nadal pracuje (już niedługo - emerytura). Sprzątaczka, co "prezes" chciał zwolnić pierwszego dnia pracuje, ochroniarz też. O takich "prezesów" i "dyrektorów" mi chodzi.