Spisu treści:

Połącz Arduino Uno z ESP8266: 9 kroków
Połącz Arduino Uno z ESP8266: 9 kroków

Wideo: Połącz Arduino Uno z ESP8266: 9 kroków

Wideo: Połącz Arduino Uno z ESP8266: 9 kroków
Wideo: Arduino #1 Jak zacząć z NodeMcu 2024, Czerwiec
Anonim
Połącz Arduino Uno z ESP8266
Połącz Arduino Uno z ESP8266

Witam! Za chwilę przeczytasz przewodnik krok po kroku, jak pomyślnie połączyć Arduino Uno z Internetem za pomocą ESP8266 (ESP-01). To także mój pierwszy Instructable w historii, więc proszę ze mną!

Zacznę od stwierdzenia, że ESP8266 to mały, niedrogi sprzęt, który prawidłowo zaprogramowany może otworzyć ogromny świat, zwłaszcza ten IOT. Nagle wszystkie Twoje projekty można aktywować przez Internet, czy to przez telefon, czy komputer, jednym kliknięciem. Możliwości są nieograniczone i jakoś bardzo mnie to ekscytuje. Niestety nie zawsze jest to łatwy proces i najprawdopodobniej napotkasz problemy, których ja nie mam. Tak czy inaczej, postaram się jak najlepiej odpowiedzieć na pytania i wspomnieć o każdym napotkanym problemie!

Aktualizacja 2020: Niedawno musiałem zaktualizować nowy ESP8266 i wykorzystałem ten artykuł jako mój osobisty przewodnik, jak to zrobić. Szybko zdałem sobie sprawę, że niektóre podane przeze mnie linki są nieaktualne/nie działają, więc spróbowałem je ponownie wymienić. Robiąc to, dowiedziałem się, że pojawiło się nowe oprogramowanie do flashowania dla ESP8266, a także ładnie udokumentowane i zaktualizowane oprogramowanie. Próbowałem zaktualizować ESP do najnowszego możliwego oprogramowania, ale bez powodzenia. Nowy flasher jest bardziej wyrafinowany, ale jednocześnie bardziej skomplikowany. Dostępnych jest znacznie więcej pobrań oprogramowania układowego (co jest niesamowite), ale jednocześnie użytkownicy nie mają pojęcia, które z nich pobrać. Technicznie wszystko to brzmi naprawdę dobrze, a ESP w końcu ma trochę "oficjalnego" wsparcia i dokumentacji, ale jednocześnie stało się to znacznie bardziej skomplikowane. Po około 4 godzinach badań i kilku próbach i błędach, zdecydowałem się poddać i po prostu użyć tego samego flashera i pliku, którego używałem w tym artykule. Zaktualizowałem linki i teraz sam je hostuję, więc dopóki nie schrzanię, będą online na zawsze. Jeśli chcesz przeczytać więcej o tych nowych dodatkach od społeczności, przejdź do ostatniego kroku tego Instructable, w którym zamieściłem kilka dodatkowych linków.

Krok 1: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy

Aktualizacja 2020: Znalazłem film na YouTube, który faktycznie łączy się z ESP bez lutowania czegokolwiek i bez żadnych adapterów!

W porządku, więc jest to trochę trudna część, ponieważ istnieje wiele sposobów komunikacji z ESP6288. Próbowałem znaleźć najłatwiejsze możliwe sposoby i przykro mi to powiedzieć, ale nie sądzę, że będziesz w stanie z powodzeniem wgrać kod do ESP bez lutowania małego przełącznika lub niektórych przycisków… W końcu ja użył następującego sprzętu:

  1. Arduino Uno
  2. ESP8266 (ESP-01)
  3. ESP8266 adapter USB
  4. Adapter ESP-01
  5. Przełącznik na adapter USB
  6. 4 przewody połączeniowe żeńsko-męskie
  7. Kabel USB do połączenia Arduino i PC

Jak widać, nie są aż tak drogie, a dodatkowo nie ma potrzeby stosowania płytki stykowej ani tych wszystkich dziwnych rezystorów i tym podobnych. To wszystko proste adaptery i okablowanie.

Oczywiście będziesz potrzebować Arduino, a także ESP8266. Ale wtedy potrzebne są również dwa adaptery do ESP:

  • Jeden, aby móc go zaprogramować (numer 3 na liście). Jest to również adapter, który będzie miał własną modyfikację za pomocą przełącznika.
  • Drugi adapter, aby nie zabić ESP, podłączając go do Arduino (numer 4 na liście). Ponieważ ESP działa 3,3 V, 5 V z Arduino go zabije. A 3,3 V z Arduino nie jest wystarczająco mocne.

Na koniec potrzebne są również przewody połączeniowe i kabel USB do podłączenia Arduino do komputera.

Krok 2: Przylutowanie przełącznika do adaptera USB

Lutowanie przełącznika do adaptera USB
Lutowanie przełącznika do adaptera USB
Lutowanie przełącznika do adaptera USB
Lutowanie przełącznika do adaptera USB

Niestety, aby zaprogramować ESP, będziesz potrzebować sposobu na połączenie jego pinu GND i pinu GPIO0. Udało mi się wlutować malutki przełącznik, który pozwala wybrać, czy chcesz być w "trybie programu", czy nie. Poniższy film na Youtube pomoże ci w tym zadaniu, gorąco polecam go obejrzeć, ponieważ mówi również trochę o oprogramowaniu i dlaczego musisz połączyć Ground i GPIO 0.

Krótko mówiąc, oto co zrobiłem:

  • Wytnij jedną z zewnętrznych nóg przełącznika, może to być prawa lub lewa
  • Odwróć adapter USB do góry nogami i przylutuj dwie nogi przełącznika do pinu GND i pinu GPIO0. Uważaj, aby nie podłączyć innych pinów, ponieważ może to nie zadziałać później.
  • Przetestuj swój przełącznik za pomocą multimetru

Ponownie, jeśli masz wątpliwości, sprawdź powyższy link do Youtube.

Również na powyższym obrazku znajduje się przełącznik w „Trybie programu”. W przypadku, gdy przylutowałeś dokładnie te same piny przełącznika, co ja, teraz wiesz, po której stronie jest „Tryb programu”.

A jeśli nie masz ochoty na przełączniki, oto samouczek z przyciskami.

Krok 3: Oprogramowanie

Dla tych, którzy po prostu szukają linków, oto one.

ESP8266:

  • Migacz
  • Firmware (jestem prawie pewien, że będzie to najnowsza wersja, ponieważ nie była aktualizowana od grudnia 2016 r.)

Arduino Uno:

  • IDE Arduino
  • Adres URL menedżera tablicy (to również się nie zmieni, zawsze jest to ten sam link)

A dla tych, którzy nie mają pojęcia, co oznaczają te linki, pozwól, że Cię poprowadzę!

  1. Pierwszym krokiem jest instalacja środowiska Arduino IDE. Powinno być całkiem proste… Naciśnij następny itd. i gotowe.
  2. Następnym krokiem jest konfiguracja IDE, dzięki czemu można zaprogramować ESP. Aby to zrobić, musisz przejść do Plik -> Preferencje i na dole pod Adresami URL menedżera tablic dodatkowych: wklej następujący adres URL.
  3. Następnie przejdź do narzędzi -> Tablica -> Menedżer tablic i przewiń w dół, aż znajdziesz jeden o nazwie esp8266 i naciśnij install. Najnowszą wersję proszę. Po zakończeniu instalacji uruchom ponownie IDE.
  4. Teraz pobierz zarówno flasher, jak i oprogramowanie układowe dla ESP. Utwórz na pulpicie folder o nazwie „Flasher” i rozpakuj w nim oba pobrane pliki. Będziemy ich później potrzebować.

Fajnie, w tej chwili powinieneś mieć całe oprogramowanie potrzebne do zaprogramowania ESP!

Krok 4: Testowanie ESP

Dalej jest twoje pierwsze połączenie z ESP. Ta część jest trochę trudna i to, co zadziałało dla mnie, może nie zadziałać dla Ciebie… Miejmy nadzieję, że będzie dobrze.

Zacznijmy od wgrania gotowego szkicu, który miga niebieską diodą LED na ESP. Aby to zadziałało, będziesz potrzebować:

  • Zmodyfikowany adapter USB do ESP, dzięki czemu można go ustawić w „trybie programu”. Krok 2 tej instrukcji.
  • Dowiedz się, do którego portu USB (port COM) zostanie podłączony Twój ESP.

Jeśli nie znasz portu COM, nie martw się. Łatwo się dowiedzieć. Otwórz swoje IDE i kliknij narzędzia -> Port i zanotuj wymienione porty. Następnie włóż adapter USB i ponownie sprawdź wymienione porty. Nowością jest port COM, którego szukasz!

PS: Jestem użytkownikiem systemu Windows. Jeśli dobrze pamiętam, komputery Mac nie nazywają ich portami COM. Tak czy inaczej, powinno nadal działać!

Więc teraz, gdy znasz swój port, możesz podłączyć adapter USB! Powinien być w trybie „Program mode”, czyli GND i GPIO0 powinny być połączone. Otwórz IDE i przejdź do Tools -> Board i wybierz Generic ESP8266 Module. Następnie w obszarze Narzędzia upewnij się, że masz następujące ustawienia:

  • Płytka: „Ogólny moduł ESP8266”
  • Port: Twój port COM

Na koniec przejdź do Plik -> Przykłady -> ESP8266 -> Blink i kliknij mały znacznik wyboru w lewym górnym rogu IDE. To zweryfikuje Twój kod i poinformuje Cię, czy coś jest z nim nie tak. Gorąco polecam robić to za każdym razem przed przesłaniem szkicu do ESP lub Arduino! Jeśli się powiedzie, zobaczysz komunikat „Gotowe kompilowanie”. tekst. Jedyne, co pozostało, to kliknięcie ikony „strzałki w prawo” w lewym górnym rogu IDE, aby przesłać kod. Jeśli wszystko jest poprawnie skonfigurowane, powinieneś zobaczyć, jak się przesyła i ostatecznie kończy. Spójrz na swój ESP, powinien mieć migającą diodę LED! Gratulacje, właśnie wgrałeś swój pierwszy program na ESP!

Jeśli jednak pojawi się błąd, nie martw się. Prawdopodobnie przełącznik nie był po prawej stronie. Odłącz adapter USB i „przełącz przełącznik”, podłącz go ponownie i powtórz proces. Jeśli to działa, wiesz, że to strona „Trybu programu”! Jeśli to nadal nie działa, powodzenia. To właśnie miałem na myśli, mówiąc „to, co dla mnie zadziałało, może nie działać dla ciebie”… Opublikuj pytania/problemy w komentarzach, a postaram się jak najlepiej pomóc!

PS: Zapraszam do wypróbowania innych przykładów! Może Plik -> Przykłady -> ESP8266Wifi -> WifiScan. Po wgraniu otwórz Tools -> Serial Monitor i poczekaj kilka sekund. Jeśli nic się nie pojawi, ustaw szybkość transmisji na 9600 lub 115200. I użyj "Zarówno NL, jak i CR". Więcej na ten temat w dalszej części tego artykułu, więc nie martw się, jeśli nie otrzymasz żadnej odpowiedzi!

Krok 5: Testuj polecenia AT

Testuj polecenia AT
Testuj polecenia AT

Nazywam ten krok opcjonalnym, ponieważ na początku żadne z całych poleceń AT nie działało dla mnie. Chociaż byłem pewien, że ESP działa dobrze, ponieważ migało z poprzednim szkicem, a także udało mi się przeskanować w poszukiwaniu Wifi. Ale za każdym razem, gdy próbowałem rozmawiać z nim przez komendy AT, nigdy nie otrzymywałem odpowiedzi. Tak czy inaczej, pokażę ci kroki, które wykonałem, aby móc z nim porozmawiać. Jeśli to nie zadziała, przejdź do następnego kroku.

Podłącz ESP do adaptera USB i podłącz go do komputera. Upewnij się, że nie jest w "trybie programu"! Przejdź do Narzędzia i zmień płytkę na Ogólny moduł ESP8266. Upewnij się, że wybrano właściwy port, a następnie otwórz Monitor szeregowy (Ctrl + Shift + M) i ustaw następujące ustawienia:

  • Zarówno Holandia, jak i Republika Czeska
  • 115200 bodów

Jeśli wszystko się zgadza, spróbuj wpisać „AT” na górnym pasku i naciśnij Enter. Powinieneś otrzymać zwrot "OK". Jeśli dostaniesz "OK", to święty pali właśnie udało Ci się połączyć z ESP i możesz być zarówno dumny, jak i szczęśliwy! Następnie wpisz „AT+GMR”, aby uzyskać więcej informacji o swoim ESP. Jeśli wersja SDK to 1.54, możesz również przejść do kroku „Flashowanie najnowszego oprogramowania układowego”, ponieważ już go masz.

Jeśli nie otrzymałeś odpowiedzi, spróbuj ponownie i/lub zmień szybkość transmisji. Nie radzę jednak "marnować" na to zbyt wiele czasu, ponieważ wiesz, że twój ESP działa z powodu kroku 4.

PS: Jeśli IDE chce, abyś zapisał szkic przed weryfikacją/przesłaniem, nie zapisuj go. Miałem problemy z zapisywaniem plików, a monitor szeregowy nie działał. Nie jestem jeszcze pewien dlaczego, muszę przeprowadzić więcej testów, ale radzę nie zapisywać swoich szkiców.

Krok 6: Flashowanie najnowszego oprogramowania

Flashowanie najnowszego oprogramowania sprzętowego
Flashowanie najnowszego oprogramowania sprzętowego

Nawet jeśli poprzedni krok nie zadziałał, spróbuj zaktualizować oprogramowanie za pomocą tego kroku, może to naprawi!

Teraz, gdy już wiesz, jak zaprogramować ESP, czas zaktualizować jego oprogramowanie układowe! Zacznij od podłączenia ESP do adaptera USB, a następnie wybierz dla niego odpowiednią płytkę i port. Nie zapomnij przełączyć go w "tryb programu", inaczej flashowanie nie będzie działać!

Następnie musisz otworzyć folder, który utworzyłeś w „Kroku 2: Oprogramowanie”, pamiętasz? Z flasherem i plikiem.bin. Otwórz go i uruchom esp8266_flasher.exe. Jeśli zostaniesz poproszony o uprawnienia administratora, odpowiedz tak. Teraz jest również dobry moment na zamknięcie IDE, aby upewnić się, że nic nie przeszkadza. Kliknij przycisk Bin i wybierz plik o nazwie „AiThinker_ESP8266_DIO_8M_8M_20160615_V1.5.4.bin”. Upewnij się, że twój port jest właściwy, że następne okno jest ustawione na 0x00000 i że twój ESP jest w "trybie programu" i kliknij Pobierz. Powinno rozpocząć się przesyłanie oprogramowania układowego do ESP, a niebieska dioda LED powinna migać. Poczekaj chwilę, aż skończy.

Gdy to zrobisz, zostaniesz nagrodzony błędem „Nie udało się opuścić trybu Flash”, co jest w porządku. Zignoruj to i zamknij flasher. Właśnie zaktualizowałeś oprogramowanie układowe swojego ESP! Miły.

W przypadku wystąpienia błędów, ponownie: Upewnij się, że Twój Port jest właściwy, że następne okno jest ustawione na 0x00000 i że ESP jest w trybie „Program mode”! Jeśli nadal nie działa, powiedziałbym, że twój przełącznik nie działa poprawnie.

Na koniec możesz teraz spróbować porozmawiać z ESP przez AT, spójrz na krok „Testuj polecenia AT”. Jeśli nadal nie działa, nie martw się. Śmiało i ponownie prześlij przykład Blink, aby upewnić się, że nie zepsułeś swojego ESP. Jeśli to zadziała, nadal możesz iść!

Krok 7: Łączenie Arduino i ESP

Łączenie Arduino i ESP
Łączenie Arduino i ESP

Jest to prosty krok pokazujący, jak podłączyć ESP do Arduino Uno! Jak wspomniano w kroku "Sprzęt", użyłem adaptera ESP-01.

Najpierw podłącz ESP do adaptera ESP-01 i upewnij się, że jest skierowany we właściwą stronę! Następnie chwyć 4 przewody połączeniowe i połącz je w następujący sposób:

  • Pin 3 na Arduino do Pin RX na adapterze
  • Pin 2 na Arduino do Pin TX na adapterze
  • Pin 5,5 V na Arduino do Pin VCC na adapterze
  • Pin GND na Arduino do Pin GND na adapterze

Okablowanie gotowe. Łatwe pzy, prawda?

PS: Polecam używać czerwonego przewodu do połączenia 5V i czarnego przewodu do połączenia GND. To tylko standard w elektronice.

Krok 8: Koniec + rzeczy, o których należy pamiętać

W porządku, jeśli postępowałeś zgodnie z moim przewodnikiem i nic nie zepsułem, powinieneś przynajmniej mieć działające ESP ze zaktualizowanym oprogramowaniem układowym. Może nawet do ciebie przemawia, a ty do niego, to byłoby idealne! Śmiało i odkrywaj ten wspaniały świat IOT i tym podobne. Może zechcesz włączyć światło jednym kliknięciem w telefonie, a może włączyć system nawadniania w swoim ogrodzie (tak jak staram się to zrobić). Nie wiem, pozwolę ci wybrać. Zachęcamy do napisania opinii/pytań na temat tej instrukcji poniżej!

Tylko kilka dodatkowych rzeczy, o których należy pamiętać:

  • Podczas wgrywania kodu do Arduino, Pin 0 (RX) musi być wolny!
  • Jeśli używasz swojego ESP przez 3,3 V z Arduino, uważaj, że może nie być wystarczająco mocny i z tego powodu możesz otrzymywać błędy! Bardzo polecam adapter ESP-01.
  • Jeśli chcesz komunikować się z ESP przez Arduino, a nie przez adapter USB, musisz wykonać następujące czynności:

    1. Niezbędne: Musisz być w stanie rozmawiać z poleceniami AT za pomocą ESP przez adapter USB, aby móc przełączać!
    2. Śmiało i podłącz adapter USB do ESP. Upewnij się, że nie jest w „trybie programu”!
    3. Wybierz płytkę ESP8266 i poprawny port, a następnie otwórz monitor szeregowy (115200 bodów).
    4. Wpisz „AT” i uzyskaj zwrot „OK”.
    5. Będziemy musieli zmienić domyślną szybkość transmisji ESP za pomocą następującego polecenia: "AT+UART_DEF=9600, 8, 1, 0, 0" (lub dla niektórych wersji "AT+CIOBAUD=9600").
    6. Powinieneś otrzymać zwrot "OK" lub jakiś rodzaj potwierdzenia.
    7. Zamknij monitor szeregowy.
    8. Odłącz adapter USB i podłącz ESP do adaptera Arduino. Podłącz adapter do Arduino, jak pokazano w kroku „Łączenie Arduino i ESP”.
    9. Połącz Arduino z komputerem.
    10. Zmień płytkę na Arduino i wybierz odpowiedni port.
    11. Prześlij ten kod do Arduino.
    12. Ponownie otwórz Serial Monitor, ale tym razem z prędkością 9600 bodów.
    13. Teraz powinieneś być w stanie wpisać „AT” i otrzymać z powrotem „OK”.

Krok 9: Linki

Oto lista niektórych linków, które znalazłem w sieci, które mi pomogły i mogą równie dobrze pomóc Tobie!

  • Szkic dla Arduino Uno w celu rozmowy z ESP
  • Ustaw ESP w "tryb programu" za pomocą przełącznika lub przycisków

Aktualizacja 2020:

  • Poradnik dotyczący flashowania za pomocą nowego oprogramowania flasher
  • Pierwsze kroki z Espressif
  • Pobieranie Flashera i SDK/AT przez Espressif
  • Ogólne informacje o większości rzeczy omówionych w tym artykule tutaj (w tym informacje o tym, jak flashować ESP bez żadnych adapterów)

Zalecana: