Spisu treści:

3 proste sposoby programowania modułu ESP8266 12X: 5 kroków (ze zdjęciami)
3 proste sposoby programowania modułu ESP8266 12X: 5 kroków (ze zdjęciami)

Wideo: 3 proste sposoby programowania modułu ESP8266 12X: 5 kroków (ze zdjęciami)

Wideo: 3 proste sposoby programowania modułu ESP8266 12X: 5 kroków (ze zdjęciami)
Wideo: Jak zrobić wifi jammer za 10zł i zostać najgorszym sąsiadem | NodeMCU DIY Mega efekt 2024, Listopad
Anonim
3 proste sposoby programowania modułu ESP8266 12X
3 proste sposoby programowania modułu ESP8266 12X

Jeśli nie znasz mikrokontrolera ESP8266, naprawdę czuję, że przegapiłeś! Te rzeczy są niesamowite: są tanie, wydajne, a co najważniejsze, mają wbudowane WiFi! ESP8266 rozpoczął swoją podróż jako dodatek WiFi na pokładzie dla bardziej tradycyjnych płyt Arduino, ale wkrótce potem społeczność zdała sobie sprawę z ich mocy i dodała wsparcie aby móc programować bezpośrednio z Arduino IDE.

W dzisiejszych czasach, jeśli chcesz użyć ESP8266 w swoim projekcie, polecam użycie płyty rozwojowej, takiej jak Wemos D1 Mini* (dostarczono 2,50 USD!) lub Adafruit Feather Huzzah. Płyty te mają wyłamane wszystkie użyteczne piny, są łatwo programowalne za pomocą złącza micro USB i mają wbudowany regulator 3,3 V. Ale co, jeśli chcesz użyć ESP8266 w projekcie z niestandardową płytką drukowaną? Najłatwiejszym sposobem jest użycie modułu ESP12, a w tej instrukcji pokażę kilka prostych sposobów ich programowania. * = Link partnerski

Krok 1: Sprawdź wideo

Oto film ze wszystkimi informacjami zawartymi w Instructable, jeśli chcesz to sprawdzić. Na moim kanale robię dużo pracy z ESP8266, więc ogólnie mój kanał może być wart sprawdzenia, czy tego rodzaju rzeczy Cię interesują!

Krok 2: Krok wstępny: Konfiguracja do programowania ESP8266

Image
Image

Jeśli nigdy wcześniej nie używałeś ESP8266 lub Arduino, będziemy potrzebować trochę konfiguracji oprogramowania. Mam na to dedykowany film. Trwa tylko 5 minut i przechodzi przez wszystko, czego potrzebujesz do konfiguracji.

Jeśli filmy naprawdę nie są twoją rzeczą, zapoznaj się z lekcją 2 niesamowitej klasy IoT Becky, która zawiera również wszystko, czego potrzebujesz.

Zanim przejdziesz do następnej sekcji, powinieneś być w stanie przesłać prosty szkic do ESP8266 (taki jak przykład migania wspomniany zarówno w filmie, jak i lekcji Becky)

Krok 3: Metoda 1: Programator pinów „żaba”

Metoda 1
Metoda 1

To chyba najłatwiejszy sposób zaprogramowania modułu ESP12. W zasadzie po prostu wkładasz moduł do płytki, a następnie zachowuje się dokładnie tak, jak jedna z wymienionych wcześniej płyt rozwojowych. Wybrałem płytkę Wemos D1 Mini z listy rozwijanej płyt podczas programowania. Wady tej metody to:

  • Programator jest trochę drogi, jeśli robisz tylko kilka płyt.
  • Płytki można zaprogramować w ten sposób tylko przed ich przylutowaniem do płytki drukowanej

Ten, który kupiłem, pochodzi z Aliexpress, ale uważam, że oryginalny projektant to użytkownik Tindie o imieniu Fred. W tym czasie były wyprzedane, więc zdecydowałem się na zakup z Aliexpress, ale podam link do obu.

  • Aliexpress Pop w Programator Modułów ESP*
  • Programator modułu ESP Fred's Frog Pin

* = Link afiliacyjny

Krok 4: Metoda 2: Używanie zasadniczo dowolnego konwertera USB na szeregowy

Metoda 2: Używanie zasadniczo dowolnego konwertera USB na szeregowy
Metoda 2: Używanie zasadniczo dowolnego konwertera USB na szeregowy
Metoda 2: Używanie zasadniczo dowolnego konwertera USB na szeregowy
Metoda 2: Używanie zasadniczo dowolnego konwertera USB na szeregowy
Metoda 2: Używanie zasadniczo dowolnego konwertera USB na szeregowy
Metoda 2: Używanie zasadniczo dowolnego konwertera USB na szeregowy

W kolejnej metodzie ręcznie przestawimy moduł ESP w tryb programowania, a następnie użyjemy praktycznie dowolnego konwertera USB na szeregowy do zaprogramowania ESP8266, nawet tego PL2303*, który kosztuje 50c dostarczona działa!

Normalna operacja:

Zanim zaczniemy programować, najpierw musimy przyjrzeć się, jakie zewnętrzne komponenty ESP8266 potrzebuje do uruchomienia. Do normalnej pracy moduł ESP-12 wymaga następujących elementów

  • EN, RST i GPIO 0 muszą być podciągnięte wysoko za pomocą rezystora 10K
  • GPIO 15 należy przeciągnąć do uziemienia za pomocą rezystora 10K
  • Zasilanie 3.3V zdolne do około 250mA prądu (zaleca się nasadkę między VCC a GND)

W powyższej konfiguracji ESP8266 po włączeniu będzie w normalnym trybie pracy, więc uruchomi wszystkie zaprogramowane szkice. Możesz kupić tablice zaciskowe do modułów ESP-12*, które są naprawdę przydatne do testowania różnych konfiguracji. Moduły mają konfigurację rezystorów dla pinu EN i GPIO 15, więc nadal będziesz musiał dodać rezystor podciągający dla RST i GPIO 0,

Włączanie trybu programowania:

Aby wprowadzić go w tryb programowania, GPIO 0 musi być wyciągnięty w dół podczas uruchamiania ESP. Najprostszym sposobem na to jest dodanie przycisków do GPIO 0 i pinu RST, które po naciśnięciu łączą się z masą. Następnie, aby włączyć tryb lampy błyskowej, po prostu

  • Przytrzymaj przycisk GPIO 0
  • Naciśnij przycisk RST
  • Następnie puść oba przyciski

Nie musisz wykonywać tej sekwencji w żadnym konkretnym momencie podczas procesu wgrywania lub czegokolwiek, gdy ESP jest w trybie programowania, pozostanie tam do następnego resetu, więc po prostu wykonaj te kroki w dowolnym momencie przed wgraniem.

Programowanie za pomocą adaptera USB na szeregowy:

Włączenie trybu programowego to tylko połowa sukcesu, teraz musimy właściwie zaprogramować moduł. Większość adapterów USB na szeregowy nie może dostarczyć wystarczającego prądu do ESP8266, dlatego zaleca się zasilanie ESP8266 za pomocą zewnętrznego źródła 3.3V.

Aby okablować programator należy podłączyć następujące piny (także pokazane na powyższym obrazku):

  • Podłącz TX programatora do RX ESP8266 (nie literówka, połączenia są odwrócone)
  • Podłącz RX programatora do TX ESP8266
  • Podłącz uziemienie programatora do uziemienia ESP8266

Aby przesłać swój szkic, wykonaj następujące czynności:

  • Wybierz numer portu karty szeregowej (Narzędzia->Port)
  • Włącz tryb programowania na swoim ESP8266, jak opisano powyżej
  • Kliknij przycisk przesyłania. (Jeśli to się nie powiedzie, sprawdź dwukrotnie okablowanie i spróbuj ponownie ustawić płytę w trybie programowania)
  • Po zakończeniu przesyłania kliknij przycisk resetowania

Oto ustawienia tablicy, których użyłem podczas przesyłania tą metodą:

  • Płyta: ogólny moduł ESP8266
  • Tryb lampy błyskowej: DIO
  • Rozmiar lampy błyskowej: 4M (3M Spiffy)
  • Metoda resetowania: ck
  • Częstotliwość błysku: 40 MHz
  • Prędkość wysyłania: 115200

Ostatnią rzeczą, na którą należy zwrócić uwagę, jest definicja LED_BUILIN dla generycznego modułu ESP8266 wskazuje na pin 1, ale wbudowana dioda LED modułu ESP12 jest podłączona do pinu 2 (jest aktywna również w stanie niskim jako FYI). Więc jeśli testujesz szkic migający, musisz użyć liczby 2 zamiast LED_BUILTIN

* = Link afiliacyjny

Krok 5: Metoda 3: Automatyczne resetowanie programatora za pomocą NodeMCU

Metoda 3: Automatyczne resetowanie programatora za pomocą NodeMCU
Metoda 3: Automatyczne resetowanie programatora za pomocą NodeMCU
Metoda 3: Automatyczne resetowanie programatora za pomocą NodeMCU
Metoda 3: Automatyczne resetowanie programatora za pomocą NodeMCU

Jeśli używałeś płyt rozwojowych ESP, zauważyłeś, że w zasadzie wszystkie z nich nie wymagają ręcznego włączania trybu programowania za pomocą przycisków, więc jak to robią?

Większość układów USB na szeregowe ma dodatkowe piny, które wyprowadzają sygnały na różnych etapach procesu ładowania, a przy użyciu zewnętrznych obwodów można wyzwolić niski poziom GPIO 0 i wymagane resety. RuiMoteiro ma instrukcje na ten temat za pomocą płyty FTDI i ESP8266.

Ale myślę, że jest prostsze podejście do tego, a co jeszcze lepsze, jest duża szansa, że masz już wszystko, czego potrzebujesz, aby to zrobić! Jako programatora można użyć płytki rozwojowej ESP8266, takiej jak NodeMCU*.

Jakie są zalety korzystania z NodeMCU?

Główne zalety korzystania z NodeMCU jako programisty to:

  • Możesz zasilać ESP8266 bezpośrednio z pinów 3V NodeMCU
  • Zajmie się automatycznym resetowaniem/włączeniem trybu programowania
  • Kosztuje około 2,50 USD (i może być używany jako zwykła tablica programistyczna, gdy nie programujesz innych!)

Możesz użyć tego samego podejścia z dowolną płytą deweloperską, która odsłania pin umożliwiający chip w ESP8266.

Jak to działa?

Wpadłem na ten pomysł od YouTubera o imieniu Mika Kurkela, w swoim filmie używał NodeMCU do programowania modułu ESP-01, ale możemy użyć tego samego pomysłu dla modułu ESP12.

Zasadniczo zamierzamy wyłączyć ESP8266 na NodeMCU, wymuszając niski poziom pinu EN, co uniemożliwi uruchomienie modułu ESP8266 na NodeMCU. Następnie podłączymy wszystkie odpowiednie piny płyty NodeMCU do naszego zewnętrznego ESP8266.

Podłączanie tego

Aby go podłączyć, będziesz potrzebować standardowego okablowania ESP8266, jak pokazano w poprzednim kroku, a następnie dodać następujące połączenia (pokazane również na powyższym obrazku):

  • Podłącz 3 V NodeMCU do VCC ESP8266
  • Podłącz GND do GND
  • Podłącz TX NodeMCU do TX ESP8266 (jest to inne niż w poprzednim kroku)
  • Podłącz RX NodeMCU do RX ESP8266
  • Podłącz D3 NodeMCU do GPIO 0 ESP8266 (D3 to GPIO 0 ESP8266)
  • Podłącz RST NodeMCU do RST ESP8266
  • Podłącz EN NodeMCU do GND

Przesyłanie szkicu

Po podłączeniu ESP8266 musisz wykonać następujące czynności:

  • Wybierz numer portu NodeMCU (Narzędzia->Port)
  • Wybierz typ płytki "NodeMCU 1.0 (moduł ESP12-E)"
  • Kliknij prześlij

I to wszystko! Automatycznie włączy tryb programowania i automatycznie zresetuje się po zakończeniu przesyłania, aby rozpocząć wykonywanie szkicu.

Używając tego w swoich projektach plansz

Aby zastosować tę metodę w swoich projektach plansz, wystarczy wyłamać następujące szpilki:

  • Grunt
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

A kiedy chcesz zaprogramować swoje płytki, podłącz je jak wyżej.

Mamy nadzieję, że ta instrukcja jest przydatna, jeśli masz jakieś pytania, możesz je zadać!

* = Link afiliacyjny

Zalecana: