Skocz do zawartości

Moduł ESP-01, Arduino Mega i serwery MQTT


Kacper1263

Pomocna odpowiedź

Witam,

Od ponad tygodnia męczę się z podłączeniem modułu ESP-01 do Arduino Mega. Szukając schematu połączenia w internecie, spotykam się z różnymi sposobami. Niektórzy używają konwertera poziomów logicznych a inni nie. Każdy podpina piny w inne miejsca. Jeden używa wszystkich pinów z modułu a inny tylko czterech.

Chciałbym się dowiedzieć jak mam podłączyć mój moduł do Arduino w celu komunikacji z serwerami MQTT oraz czy mój moduł ESP będzie od razu gotowy do pracy, czy mam go wcześniej zaprogramować, zanim przejdę do pisania kodu na Arduino.

Posiadam:
- Arduino Mega
- Moduł ESP-01 ESP8266 (Link do sklepu)
- Czterokanałowy konwerter poziomów logicznych.

Z góry dziękuje za pomoc
Pozdrawiam.

Link do komentarza
Share on other sites

Jak widzisz w opisie linkowanego przez Ciebie modułu pracuje on na 3,3V, więc dobrze byłoby go podłączyć przez konwerter poziomów logicznych - szczególnie, że już taki posiadasz. Gdzie i jak podłączysz moduł to już zależy od Ciebie. Zakładam jednak, że chcesz skomunikować Arduino i ESP przez UART. Możesz więc wykorzystać sprzętowy interfejs UART w Arduino lub podłączyć ESP do dowolnych pinów i wykorzystać bibliotekę SoftwareSerial 🙂 Z czym dokładnie masz problem? Próbowałeś którejś z metod i napotkałeś jakiś problem?

  • Lubię! 1
Link do komentarza
Share on other sites

Tak naprawdę zastanawiałem się tylko nad podpięciem innych pinów niż RX, TX i oczywiście pinów zasilających ale z tego co rozumiem to muszę do tego dodać pin RST podpięty pod 3,3 V a reszta ma zostać pusta. Jak się domyślam pin TX mam połączyć z RX i odwrotnie.

I też widziałem jak ludzie wgrywają kod na ESP więc zastanawiałem się czy potrzebuję wgrać specjalny projekt na ESP który bedzie ogarniał połączenie z MQTT czy poprostu wystarczy kod na Arduino.

Jutro na spokojnie wszystko złoże i przetestuję. 

Wcześniej bawiłem się trochę połączeniem Arduino z MQTT za pomocą 1Sheeld+ więc tu raczej będzie wszystko podobnie i może uda mi się rozwiązać problemy które miałem podczas używania tej nakładki 🙂 .

Link do komentarza
Share on other sites

Najlepiej mieć konwerter poziomów logicznych, najczęściej nic się nie stanie jak go nie będzie (tylko w wypadku ESP8266 i ESP32) ale pewniej działa z nim, UART  Serial0 (znany zwykle po prostu jako Serial w UNO) jest użyty przy programowaniu bootloaderem, najlepiej więc w Arduino MEGA wykorzystać jedno z trzech pozostałych sprzętowych, obojętnie które.

ESP01 przylatuje z firmwarem do sterowania komendami AT i w takiej wersji można go połączyć z Arduino MEGA, nic nie trzeba wgrywać do ESP, można ewentualnie zmienić (również używając komend AT) prędkość UART na wyższą, np. 115200 (standardowo jest 9600). Do komunikacji w tej wersji przyda się też biblioteka Adafruit_ESP8266. Jest też przykład jak to użyć od razu z UNO, ze względu na jeden UART w UNO tu jest użyty softserial.

Jak nie potrzebujesz korzystać jakoś szczególnie z Arduino MEGA można użyć samego ESP jako kontrolera Arduino, wtedy to działa jako zupełnie niezależny układ. Do tego są jednak lepsze moduły - np. ESP8266 Wemos czy jakiś ESP32. ESP-01 ma tylko 2 piny do użycia we własnym programie, wymienione wcześniej znacznie więcej.

Kurna, pisałem ten post wczoraj i powiesił się dostawca neta, potem wyłączyłem kompa bo już mu się należało czyszczenie, włączyłem i teraz się tu magicznie pojawił cały tekst, który jak myślałem był wysłany już w kosmos.

  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Gość es2
20 godzin temu, Kacper1263 napisał:

Czterokanałowy konwerter poziomów logicznych.

Przy niedużych prędkościach jak 115200, role konwertera poziomów może pełnić pojedynczy rezystor włączony szeregowo pomiędzy TX uC a RX ESP.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.