336 Shares 4907 views

Mikrokontroler ESP8266: podłączenie i konfiguracja

Wielu użytkowników już udało się zwrócić uwagę na ESP8266-12 chipie wydany przez Espressif. Koszt jest znacznie tańsze niż standardowe karty adaptera Bluetooth, a przy mniejszych wymiarach, ma znacznie więcej funkcji. Teraz wszyscy kibice mieli możliwość pracy w sieci Wi-Fi w dwóch trybach, czyli podłączenie komputera do dowolnych punktów dostępowych lub umieścić go jako punkt.

Z drugiej strony, trzeba zrozumieć, co właściwie te karty są nie tylko tarcza, przeznaczone wyłącznie do komunikacji za pośrednictwem Wi-Fi. Sam Sam ESP8266 jest mikrokontroler, który posiada własną UART i SPI, GPIO interfejs, czyli może być używany jako sprzęt całkowicie samowystarczalny. Wielu po tym chipie nazwał to prawdziwą rewolucję, i po pewnym czasie, takie urządzenia będą budowane nawet w najbardziej podstawowych rodzajów technologii, ale pod warunkiem, że urządzenie jest stosunkowo nowy i stabilny firmware na nim nie jest. Wielu ekspertów na całym świecie starają się wymyślać własne oprogramowanie, ponieważ, aby wypełnić je w opłata naprawdę nie jest trudne, ale pomimo różnych trudności, urządzenie teraz można nazwać całkiem nadaje się do użytku.

W tej chwili rozważamy tylko dwie opcje do wykorzystania tego modułu:

  • Za pomocą deski w połączeniu z dodatkowym mikrokontrolerem, lub komputerem, który będzie realizowany poprzez UART modułu sterowania.
  • Niezależny firmware do pisania chip, który umożliwia następnie użyć go jako samodzielna jednostka.

To naturalne, że do rozważenia niezależnego oprogramowania w tym przypadku nie będzie.

Patrząc na łatwość obsługi i dobrych wyników, wiele osób spośród wielu mikrokontrolerów dać swój model preferencji ESP8266. Podłączanie i aktualizację oprogramowania urządzenia jest bardzo prosty i przystępny, a wykonane na tym samym sprzęcie, na którym urządzenia łączącego się z komputerem. To jest taka sama w całej USB-TTL konwertera, lub, jeśli ktoś woli inne opcje łączności, mogą być wykonywane przez RPI i Arduino.

Jak sprawdzić?

W celu przetestowania funkcjonalności nowo zakupionego urządzenia, trzeba będzie użyć specjalnego źródła stabilizowanego napięcia, przez okres do 3,3 woltów. Natychmiast warto zauważyć, że rzeczywisty zakres napięcia zasilającego moduł wynosi od 3 do 3,6 V, a napięcie zasilające wzrosła natychmiast doprowadzić do tego, że po prostu może uszkodzić ESP8266. Flash i inne oprogramowanie po podobnej sytuacji może zacząć działać nieprawidłowo, a masz już do naprawy urządzenia lub coś ich poprawiania.

W celu określenia skuteczności modelu mikrokontrolera, wystarczy podłączyć trzy kołki:

  • CH_PD i VCC są podłączone do źródła zasilania 3,3 woltów.
  • GND jest połączony z masą.

Jeśli nie używać ESP-01 i dowolny inny moduł i jest początkowo obecny pochodzi GPIO15, to w tym przypadku trzeba, i to będzie dalej połączony z ziemią.

Jeśli firmware fabryka działać normalnie, to w tym przypadku można zobaczyć czerwone światło, a następnie kilka razy mignie niebieski. Jednak należy zauważyć, że czerwona lampka zasilania nie ma wszystkich urządzeń ESP8266 Series. Firmware niektórych urządzeń nie zapewnia oświetlenie światłem czerwonym, jeśli moduł nie występuje (w szczególności odnosi się to do modelu ESP 12).

Po podłączeniu do sieci bezprzewodowej jest aktywowany przez nowy punkt dostępu, który będzie nosił nazwę ESP_XXXX, a to może być wykryty z dowolnego urządzenia z dostępem do Wi-Fi. W tym przypadku nazwa punktu dostępu jest bezpośrednio zależne od oprogramowania producenta, którego używasz, a zatem może być jakiś inny.

Jeżeli punkt jest widoczny, można kontynuować eksperymenty, w przeciwnym razie będą musiały przeprowadzić moc ponownego przeglądu, jak również prawidłowości GND i połączenia CH_PD, a jeśli wszystko jest prawidłowo podłączony, a następnie najprawdopodobniej nadal próbują używać uszkodzonego urządzenia lub na to jest po prostu zainstalowany firmware z niestandardowymi ustawieniami.

Jak podłączyć go szybko?

Standardowy zestaw wymagany do podłączenia tego modułu są następujące:

  • sam moduł;
  • lutowania makiet;
  • komplet przewodów mama, tata, zaprojektowanym dla pokładzie prototypu, lub specjalnego kabla DUPONT MF;
  • Konwerter USB-TTL oparty na PL2303, FTDI lub jakiś podobny chip. Najlepszym rozwiązaniem – jeśli adapter USB-TTL jest również wyjście RTS i DTR, ponieważ dzięki temu można osiągnąć bardzo szybko pobrać firmware od jakiegoś UDK, Arduino IDE lub sming, nawet bez konieczności ręcznego przełączania GPIO0 ziemi.

Jeśli używasz konwertera do 5 V, a następnie konieczność zakupu dodatkowego procesor regulatora napięcia na podstawie 1117 lub podobnego, jak również źródło zasilania (do standardowych 1117 całkiem dobrze odpowiednim nawet zwykłego ładowania ze smartfona do 5 V). Zaleca się, aby nie używać Arduino IDE lub USB-TTL do źródła zasilania dla ESP8266 i używać oddzielnego, ponieważ dzięki temu można pozbyć się wreszcie z nadwagą.

Zaawansowany zestaw, aby zapewnić wygodną i stałą pracę z modułem przewiduje konieczności stosowania dodatkowych łączników mocy, rezystory, diody LED i przełączników DIP. Ponadto, możliwe jest również użycie niedrogiego monitora USB, który umożliwia ciągłe monitorowanie ilości poboru prądu i zapewniają niewielką ochronę z magistrali USB wystąpienia zwarcia.

Co należy zrobić?

Przede wszystkim warto zwrócić uwagę na fakt, że kontrola ESP8266 mogą się nieznacznie różnić w zależności od konkretnego modelu użyć. Takie moduły przedstawił dziś sporo, a pierwszą rzeczą, że trzeba – jest identyfikacja modelu i używasz go do określenia połączenia stykowe. W tym podręczniku będziemy rozmawiać o pracy z modułem ESP8266 ESP-01 V090, a jeśli używasz jakiś inny model pochodzi Ping GPIO15 (HSPICS, MTDO), trzeba będzie ciągnąć go na ziemię jak standardowy starcie modułu dla trybu firmware.

Następnie dwukrotnie sprawdzić, czy napięcie zasilania dla podłączonego modułu wynosi 3,3 woltów. Jak wspomniano wyżej, dopuszczalne jest zakres od 3 do 3,6 V, zaś w przypadku zwiększenia urządzenie nie, lecz napięcie zasilania może nawet być znacznie mniejsza niż 3 V, które są przedstawione w dokumentach.

Jeśli korzystasz z konwerterem USB-TTL 3,3 V, to moduł jest połączony w taki sam sposób, jak po lewej stronie na zdjęciu poniżej. Jeśli stosowane wyłącznie pyativoltovy USB-TTL, następnie zwracać uwagę na prawej stronie rysunku. Może się wydawać, że prawo jest bardziej efektywne ze względu na fakt, że używane oddzielnego zasilania, ale w rzeczywistości w przypadku użycia USB-TTL konwertera 5 V jest wysoce pożądane, aby dodatkowe rezystory dzielnika w celu zapewnienia harmonizacji trehvoltovyh i pyativoltovyh poziom logiki, lub po prostu użyć poziomy konwersji modułu.

Hook Up Funkcje specjalne

Po prawej stronie znajduje się UTXD schemat połączeń (TX), a także URXD (RX) modułu do pyativoltovoy logiki TTL oraz przeprowadzenia takich procedur przeprowadzanych na własne ryzyko. Wg opisu ESP8266 mówi, że urządzenie działa skutecznie tylko z logiką 3,3V. W przeważającej większości przypadków, nawet w przypadku sprzętu logicznego pyativoltovoy nie zawodzi, ale czasami są takie sytuacje, więc takie połączenie nie jest zalecane.

Jeśli nie jesteś w stanie użyć dedykowany konwerter USB-TTL 3,3 V, mogą być stosowane do rezystorów dzielnika. Warto również zauważyć, że w rysunku po prawej stronie Mocy 1117 Stabilizator jest podłączony bez dodatkowego orurowania, i to naprawdę technologia działa, ale to wciąż najlepiej wykorzystać schemat 1117 z kondensatorem spinania – trzeba pogodzić go z arkusza ESP8266 do swojej stabilizatora lub użyj już całkowicie gotowa moduł oparty na podstawie 1117.

Aby uruchomić urządzenie, trzeba przerwać łańcuch GPIO0-TND, wówczas możliwe jest zasilanie. Warto zauważyć, że wszystko, co trzeba zrobić w tej kolejności, czyli najpierw upewnić się, że GPIO0 «wisi w powietrzu”, a dopiero potem włączyć zasilanie CH_PD i VCC.

Jak prawidłowo podłączyć?

Jeśli możesz poświęcić jeden wieczór na które normalnie podłączyć moduł ESP8266, można skorzystać z opcji bardziej stabilne. Na wykresie powyżej widać możliwość połączenia z automatycznym firmware załadunku.

Należy zauważyć, że na powyższym zdjęciu nie pokazuje zastosowanie wolnego GPIO i ADC, a połączenie będzie bezpośrednio zależeć od tego, co dokładnie chcesz wdrożyć, ale jeśli chcesz, aby zapewnić stabilność, nie zapomnij wyciągnąć wszystkie GPIO moc i ADC na ziemię stosując rezystor pull-up.

10k rezystory, jeśli to konieczne, może być zastąpiony przez dowolny inny w przedziale 4,7k do 50k, z wyłączeniem GPIO15, gdyż jego wartość nominalna nie powinna być większa niż 10k. Nominał kondensator wygładzający wysokie tętnienia częstotliwości może być nieco inna.

Związek GPIO16 RESET poprzez zastosowanie rezystora głęboki sen 470 omów może być konieczna przy użyciu odpowiedniego trybu, ponieważ w celu wyjścia z trybu głębokiego snu, moduł wykonuje resecie przeprowadzając niskim poziomie, aby dostarczyć GPIO16. W przypadku braku tego związku trybie uśpienia głębokiego dla jednostki będzie trwać wiecznie.

Na pierwszy rzut oka może się wydawać, że GPIO0, GPIO1 (TX) GPIO2, GPIO3 (RX) i GPIO15 zajęty, więc wykorzystać je do własnych celów nie będzie działać, ale w rzeczywistości tak nie jest. Na wystarczająco wysokim poziomie, aby GPIO0 i GPIO2, a także niskiej do GPIO15 mogą być wymagane tylko w przypadku pierwszego uruchomienia modułu, aw przyszłości to już możliwe, aby wykorzystać je według własnego uznania. Jedyną rzeczą, którą warto wspomnieć – nie zapomnij, aby zapewnić pożądane stężenie przed przeprowadzenie pełnego resetu swojego sprzętu.

Można również użyć TX RX jako GPIO1 i GPIO3 alternatywa, ale nie zapominaj, że po module rozpocząć każdy firmware zaczyna „ciągnąć” równoległe TX robi debugowania informacje wysyłane do UART0 z szybkością 74480, ale po odbędzie się udaną pobieranie, można ich używać nie tylko jako UART0 dokonać wymiany danych z innym urządzeniem, ale również jako standardowy GPIO.

Do modułów, w których małą ilość rozcieńczonego kołków (na przykład, ESP, 01) nie jest wymagana, aby połączyć nierozcieńczonego kołki, to znaczy ESP-01 hodowanych wyłącznie: GND CH_PD VCC, GPIO0, GPIO2 i RESET, a to ich wy trzeba będzie zacisnąć. Nie ma potrzeby, aby być przylutowane bezpośrednio do ESP8266EX wiórów, a następnie wyciągnąć kołki nierozcieńczony, chyba że naprawdę potrzebują.

Takie schematy połączeń stosuje się po dużej liczbie eksperymentów przeprowadzonych przez wykwalifikowany personel i złożone z wielu różnych informacji. Należy zauważyć, że nawet takie systemy nie mogą być uznane za idealne, ponieważ można wykorzystać szereg innych, równie skutecznych opcji.

Połączenie za pomocą Arduino

Jeśli z jakiegoś powodu, nie było żadnego konwertera USB-TTL 3,3 V, to moduł WiFi ESP8266 mogą być podłączone za pomocą Arduino z wbudowanym konwerterem. Tu trzeba najpierw zwrócić uwagę na trzech kluczowych elementów:

  • W przypadku użycia z ESP8266 Arduino Wyczyść początkowo podłączony do GND, aby wyeliminować możliwość uruchomienia mikrokontrolera iw tej formie został on wykorzystany jako przezroczystym konwerterem USB-TTL.
  • RX i TX nie jest połączone "na przejściu", i jest bezpośrednio – RX i RX (zielony), TX-TX (żółty).
  • Wszystko jest połączone w taki sam sposób jak wyżej.

Co do rozważenia

W tym systemie wymaga również dopasowanie warstw 5 V TTL Arduino oraz 3,3 wolta przy ESP8266, ale może również działać tak.

Po podłączeniu do ESP8266 Arduino może być wyposażony w regulator napięcia, nie wytrzymać prąd, który jest wymagany do ESP8266, w wyniku, zanim ją aktywować, trzeba sprawdzić z datashipom do stosowanego ciebie. Nie należy próbować podłączać żadnych innych elementów zużywających moc z ESP8266, ponieważ może to doprowadzić do tego, że wbudowany w regulator napięcia Arduino po prostu zawodzi.

Ponadto, istnieje inny schemat połączeń ESP8266 i Ciężki, który wykorzystuje SoftSerial. Od biblioteki SoftSerial szybkości portu równy 115200, jest zbyt wysoki i nie może zagwarantować stabilne działanie nie jest zalecana metoda ta gra w użyciu, chociaż istnieją pewne przypadki, w których działa jest dość stabilna.

Połączenie za pomocą Raspberry Pi

Jeśli nie masz w ogóle żadnych konwerterów USB-TTL, w tym przypadku można użyć Raspberry Pi. W tym przypadku, do programowania ESP8266 i połączenia jest niemal identyczny, ale tutaj to nie jest tak wygodne, a dodatkowo będzie musiał użyć żywności jako stabilizator na 3,3 woltów.

Aby rozpocząć RX, TX oraz GND nasze urządzenie do łączenia ESP8266, VCC i GND i zdjąć regulowany zasilacz, obliczony na 3,3 woltów. Tutaj, szczególną uwagę należy zwrócić na fakt, że trzeba dokonać podłączenia urządzeń GND, to znaczy, że Raspberry Pi stabilizator i ESP8266. Jeśli wbudowany w regulator model urządzenia może wytrzymać do 300 mA z dodatkowym obciążeniem, a następnie połączenie ESP8266 jest całkiem normalne, ale to wszystko odbywa się na własne ryzyko.

skonfigurować ustawienia

Kiedy zrozumiesz, jak połączyć ESP8266, trzeba upewnić się, że sterowniki dla urządzenia jest prawidłowo skonfigurowany tak, że nowy wirtualny port szeregowy został dodany do systemu. Nie będzie trzeba użyć programu – szeregowy terminal. Zasadniczo, narzędzie może wybrać dowolny do gustu, ale należy zrozumieć, że właściwie każdy zespół, który zostanie wysłany do portu szeregowego, w końcu powinien mieć końcowe znaki CR + LF.

Dość powszechne stosowanie CoolTerm ESPlorer i użyteczności publicznej, ta ostatnia sprawia, że nie można wprowadzić ESP8266 poleceń AT na własną rękę, a to daje łatwiej pracować z skryptów Lua pod NodeMCU, dzięki czemu może być łatwo wykorzystane jako standardowy terminal.

Dla normalnego podłączenia do portu szeregowego będą musieli zrobić dużo pracy, ponieważ firmware dla ESP8266 są głównie zróżnicowane i aktywacja może być przeprowadzane z różnymi prędkościami. Aby zdecydować się na najlepszej opcji, trzeba przejść przez trzy podstawowe opcje: 9600, 57600 i 115200.

Jak uporządkować?

Aby rozpocząć, należy podłączyć oprogramowanie terminala do portu szeregowego wirtualnych narażając parametrów 9600 8N1, a następnie wydać pełnego resetu modułu, wyłączając CH_PD (procesor enable) mocy, a następnie włączyć go ponownie, zniekształcając CH_PD. Można również spędzić zwarcie do masy RESET, aby ponownie uruchomić urządzenie i obserwować dane w terminalu.

Pierwsze urządzenie LED ma być wyświetlany w taki sam sposób, jak przedstawiono w opisie procedury weryfikacyjnej. Należy również przestrzegać terminala zestaw różnych znaków, które będą kończyć się gotowe, a jeśli nie, to podłączyć do zacisku, która odbyła się z inną prędkością, a następnie ponownym uruchomieniu modułu.

Kiedy widzisz jedną z opcji podanych prędkości linii, może być uznany za moduł gotowy do pracy.

Jak zaktualizować firmware?

Po zainstalowaniu ESP8266 podłączyć urządzenie zajmuje tylko kilka sekund, a następnie będzie gotowy do uaktualnienia oprogramowania sprzętowego. Aby zainstalować nowe oprogramowanie trzeba zrobić następny.

Aby rozpocząć, pobierz najnowszą wersję oprogramowania układowego z oficjalnej strony i pobrać narzędzie do flashowania. Tutaj, szczególną uwagę należy zwrócić na jaki system operacyjny jest zainstalowany na komputerze, który działa ESP8266. Podłączanie urządzeń najlepiej jest przeprowadzić się do starszego systemu Windows 7.

Dla standardowych systemu operacyjnego Windows jest optymalny w użyciu program o nazwie XTCOM UTIL, co jest szczególnie wygodne w pracy, czy firmware jest tylko jeden plik. Najlepszym rozwiązaniem wieloplatformowym powinna wywołać esptool użytkową, która wymaga jednak dla Pythona, i należy określić parametry wiersza poleceń. Ponadto w podstawowych funkcjach połączenia ESP8266 pozwala wygodnie dokonać Program Flash Pobierz narzędzie, które ma wystarczająco dużą liczbę ustawień, a także dogodnym technologię do instalowania oprogramowania z wielu plików.

Następnie odłączyć program terminala z portem szeregowym, a całkowicie odłączyć od sieci CH_PD, GPIO0 podłączyć moduł do GND, a następnie CH_PD może być zwrócony z powrotem. W końcu, po prostu uruchom program firmware modułu i załadować je w przekaźniku ESP8266.

W przeważającej większości przypadków firmware zostanie załadowany do urządzenia przy prędkości w obszarze 115.200, ale jest to specjalny tryb zapewnia automatyczną dystrybucję prędkości tak, że oprogramowanie może być wykonywane z prędkością ponad 9600, aktualizację dostępną funkcję ESP8266. Arduino służy do połączenia lub USB-TTL – nie odgrywają szczególną rolę, ograniczenie prędkości jest zależna od długości przewodów wykorzystywanych przez przetwornik, a także szereg innych czynników.