Spisu treści:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Konwerter Nieskomplikowany: 5 kroków
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Konwerter Nieskomplikowany: 5 kroków

Wideo: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Konwerter Nieskomplikowany: 5 kroków

Wideo: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Konwerter Nieskomplikowany: 5 kroków
Wideo: Konwerter WIFI-Serial - czyli ESP8266 jako konwerter z UDP-TCP na UART-RS232-RS485-MODBUS 2024, Czerwiec
Anonim
ESP8266 ESP-12E UART Bezprzewodowa osłona WIFI TTL Konwerter Nieskomplikowany
ESP8266 ESP-12E UART Bezprzewodowa osłona WIFI TTL Konwerter Nieskomplikowany

Ten przewodnik ma na celu pomóc osobom, które zakupiły konwerter TTL ESP8266 ESP-12E UART Wireless WIFI Shield TTL i nie wiedzą, jak go używać z Arduino.

Początkowo ten samouczek został napisany po portugalsku w Brazylii. Starałem się napisać to po angielsku. Więc wybacz mi kilka błędów, które mogą być na piśmie.

Ta instrukcja została podzielona w następujący sposób:

Krok 1: Zapoznanie się z konwerterem ESP8266 ESP-12E UART Wireless WIFI Shield TTL dla Arduino

Krok 2: Aktualizacja oprogramowania układowego na ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter dla Arduino

Krok 3: Tarcza, Tarcza, Więcej i Moer? Czy to ma znaczenie?

Krok 4: Shield Moer - Rozwiązywanie komunikacji szeregowej RX / TX

Krok 5: Serwer WWW z konwerterem ESP8266 ESP-12E UART Wireless WIFI Shield TTL dla Arduino

Polecam przeczytać wszystkie kroki, aby dowiedzieć się jak najwięcej o tej tarczy.

Krok 1: Zapoznanie się z konwerterem ESP8266 ESP-12E UART Wireless WIFI Shield TTL dla Arduino

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) ułatwia podłączenie Arduino do sieci WiFi za pośrednictwem ESP8266. Podczas korzystania z niego nie jest już konieczne montowanie obwodu z kilkoma komponentami i przewodami do połączenia ESP8266 z Arduino, wystarczy podłączyć płytkę do Arduino, ustawić ścieżkę przełącznika DIP zgodnie z trybem pracy tarczy i zaprogramować Arduino na połączyć się z sieciami Wi-Fi. Ponadto płytka może być używana bez Arduino, ponieważ ma dostępne wszystkie wyprowadzenia układu ESP-12E.

W tarczy znajduje się informacja, że została stworzona przez osobę o nazwisku WangTongze i właścicielem praw do niej jest elecshop.ml. Początkowo twórca tarczy próbował zebrać fundusze na swój projekt za pośrednictwem Indiegogo (strona zbiorowego finansowania), ale nie udało mu się zebrać pieniędzy.

Cechy modelu ESP8266 ESP-12E:

- 32-bitowa architektura RISC - Procesor może pracować z częstotliwością 80MHz / 160MHz - 32MB pamięci flash - 64kB na instrukcje - 96kB na dane - Standardowe natywne WiFi 802.11b / g / n - Działa w trybie AP, Station lub AP + Station - Posiada 11 cyfrowych pinów - Posiada 1 pin analogowy z 10-bitową rozdzielczością - Cyfrowe piny z wyjątkiem D0 mają przerwanie, PWM, I2C i jeden przewód - Programowalny przez USB lub WiFi (OTA) - Kompatybilny z Arduino IDE - Kompatybilny z używanymi modułami i czujnikami w Arduino

Poniżej możesz przeczytać główne cechy tej tarczy:

- Rozmiar Arduino Uno R3 i pinning są zgodne z Arduino Uno, Mega 2560, Leonardo i pochodnymi. - Mniejsze wersje Arduino (na przykład Nano i Pro Mini) są kompatybilne, ale połączenia muszą być wykonane przez zworki.- Do zasilania nakładki wykorzystywane jest napięcie Arduino (5V).- Posiada regulator napięcia 3,3V AMS1117, dzięki czemu napięcie 5V dostarczane przez Arduino jest zredukowane do zasilania nakładki bez potrzeby zasilania zewnętrznego.- Posiada wbudowany konwerter poziomów logicznych, dzięki czemu poziom Arduino TTL (5V) nie uszkadza układu ESP8266 pracującego z poziomem TTL 3,3V.- Posiada 4-pozycyjny przełącznik DIP służący do zmiany trybów pracy płytki.- Dostępne tryby pracy: WiFi Shield dla Arduino / wysyłanie komend AT przez Arduino / aktualizacja oprogramowania przez USB Serial zewnętrzny / samodzielny konwerter. - Posiada diody indykatywne (PWR / DFU / AP / STA). - Ponieważ jest w formacie shield pozwala na włożenie innych nakładek i modułów.- Posiada przycisk ESP-RST do resetowania ESP8266.- Cz Pin ESP8266 ADC jest dostępny na płytce w dwóch formach, pierwsza na pinie z zakresem odczytu od 0 do 1V i druga forma w zakresie od 0 do 3,3V.

Na obrazku podświetlone są główne części tarczy:

Obraz
Obraz

A (DIGITAL PINS): sekwencja pinów używana przez Arduino.

B (piny ESP8266): ESP8266-12E i odpowiadające im piny. Z tyłu płytki znajduje się nazewnictwo szpilek.

C (POŁĄCZENIE ZEWNĘTRZNEGO SZEREGOWEGO ADAPTERA USB): Sekwencja pinów używana do podłączenia zewnętrznego adaptera szeregowego USB w celu aktualizacji oprogramowania układowego lub debugowania ESP8266.

D (KOŁKI KONSERWACJI OSŁONY): Sekwencja trzech styków zidentyfikowana jako Tylko konserwacja i używana do sprawdzenia, czy regulator napięcia prawidłowo odbiera i dostarcza napięcia. NIE POWINIEN BYĆ UŻYWANY JAKO ŹRÓDŁO ZAOPATRZENIA.

E (PRZEŁĄCZNIK DIP DO MODYFIKOWANIA TRYBÓW PRACY): Czterokierunkowy przełącznik DIP do zmiany trybów pracy.

CONTACT 1 (P1) i CONTACT 2 (P2): używane do podłączenia RX (reprezentowanego przez P1) i TX (reprezentowanego przez P2) ESP8266 do pinów Arduino D0 (RX) i D1 (TX). P1 i P2 w pozycji OFF wyłączają połączenie RX z ESP8266 do Arduino TX i TX z ESP8266 do Arduino RX.

CONTACT 3 (P3) i CONTACT 4 (P4): używane do włączania i wyłączania trybu aktualizacji oprogramowania układowego dla ESP8266. Aby umożliwić zapis / ładowanie oprogramowania układowego na ESP8266, P3 i P4 muszą być w pozycji ON. Gdy P4 jest w pozycji ON, dioda DFU zaświeci się, wskazując, że ESP8266 jest włączony do odbierania oprogramowania układowego. Aby wyłączyć tryb aktualizacji oprogramowania układowego i ustawić ESP8266 do normalnej pracy, po prostu ustaw P3 i P4 na OFF.

UWAGA: Wszystkie 4 styki w pozycji OFF wskazują, że ESP8266 pracuje w trybie normalnym obok Arduino

F (AD8 FROM ESP8266): przypisanie pinów dla ADC ESP8266. Pin pracujący w zakresie 0 do 1V oraz pin pracujący w zakresie 0 do 3,3V. Te piny będą używane tylko podczas korzystania z samego ESP8266 (tryb samodzielny).

G (ESP8266 RESET): przycisk służący do resetowania ESP8266. Za każdym razem, gdy zmieniasz położenie przełączników DIP, musisz nacisnąć przycisk ESP-RST.

H (PIN ANALOGOWY I ZASILANIE): sekwencja pinów wykorzystywana przez Arduino.

Ta osłona ma osobliwość w stykach P1 i P2 przełącznika DIP i ta cecha w rzeczywistości budzi duże wątpliwości u osób, które próbują używać osłony.

Według twórcy nakładki do podłączenia jej do Arduino potrzebne będą tylko 2 piny. Te piny to D0 i D1 (odpowiednio Arduino RX i TX), a ponadto styki P1 i P2 przełącznika DIP na ekranie muszą być w pozycji ON dla połączenia.

W jednym z niewielu chińskich dokumentów, jakie otrzymałem na temat tej tarczy, twórca tablicy mówi:

P1 i P2 są koderami bitowymi i służą do określenia, czy szeregowy ESP8266 jest podłączony do Arduino D0 i D1.

W innej części dokumentu wspomniano:

Ta karta rozszerzeń utrzymuje zajętość szeregowego Arduino, łącząc RX z ESP8266 do TX z Arduino i TX z ESP8266 do Arduino RX.

Piny Arduino D0 (RX) i D1 (TX) odpowiadają natywnej komunikacji szeregowej / USB, więc te piny pozostają zajęte za każdym razem, gdy wysyłamy kod do płytki lub używamy monitora szeregowego. W związku z tym, jeśli styki P1 i P2 nakładki są w pozycji ON, ESP8266 będzie korzystał z Arduino D0 i D1 i nie będzie możliwe wysyłanie kodów ani korzystanie z portu szeregowego, ponieważ będzie zajęty. Ponadto, aby wysyłać polecenia AT do nakładki, konieczne jest, aby ESP8266 RX był podłączony do Arduino RX, a ESP8266 TX do Arduino TX. Stanie się tak tylko wtedy, gdy odwrócimy połączenia, jak pokazano na poniższym obrazku:

Obraz
Obraz

Zobacz, wygiąłem styki D0 i D1 tarczy i połączyłem Arduino D0 z D1 tarczy i D1 Arduino z D0 tarczy. Korzystając z połączenia w ten sposób (Arduino używane jako mostek połączeniowy) udało mi się wysłać polecenia AT do ESP8266 i potwierdziłem to, co już sobie wyobrażałem.

Standardowa forma działania tarczy wymaga załadowania kodu (na przykład serwera WWW lub oprogramowania układowego) do tarczy, a inny kod jest załadowany do Arduino w celu wysyłania, odbierania i interpretowania danych przychodzących przez natywny port szeregowy. Więcej szczegółów na temat tej formy komunikacji będzie można zobaczyć w kolejnych krokach.

W każdym razie ta cecha nakładki nie przeszkadza w jej działaniu, ponieważ zwykle emulujemy szeregowy na innych pinach cyfrowych Arduino, dzięki czemu możemy mieć dostępny natywny szeregowy. Dodatkowo w przypadku konieczności wysłania komend AT do nakładki możemy podłączyć ją do Arduino czterema kablami lub skorzystać z szeregowego konwertera USB.

Ostatecznie ekran był bardzo stabilny i bardzo ułatwiał montaż obwodów. Testowałem z Arduino Uno R3 i Mega 2560 R3.

W następnym kroku dowiesz się, jak zaktualizować / zmienić firmware tarczy.

Krok 2: Aktualizacja oprogramowania układowego na ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter dla Arduino

Do podłączenia nakładki do komputera niezbędne jest użycie konwertera szeregowego USB. Jeśli nie masz konwencjonalnego konwertera szeregowego USB, możesz użyć konwertera Arduino Uno R3 jako pośrednika. Na rynku dostępnych jest kilka modeli konwerterów szeregowych USB, ale w tym samouczku użyłem adaptera konwertera szeregowego USB PL2303HX TTL.

Aby ulepszyć tarczę, użyj:

ESP8266 Narzędzia do pobierania Flash

Oprogramowanie, które zostanie użyte to:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a Oprogramowanie układowe AT

Po pobraniu programu i oprogramowania układowego skopiuj oba do katalogu głównego (dysk C) systemu Windows.

Rozpakuj flash_download_tools_v2.4_150924.rar i zostanie wygenerowany folder FLASH_DOWNLOAD_TOOLS_v2.4_150924.

Wykorzystanie konwertera szeregowego USB Arduino Uno R3 jako pośrednika:

Następnym krokiem jest podłączenie nakładki do komputera. Jeśli nie masz standardowego szeregowego konwertera USB, możesz użyć Arduino Uno R3 do połączenia nakładki z komputerem. Oprócz Arduino Uno R3 z kablem USB będziesz potrzebować:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Kable połączeniowe męskie-żeńskie

UWAGA: Przed zamontowaniem schematu połączeń Arduino należy załadować pusty kod na płytkę, aby upewnić się, że konwerter szeregowy USB nie jest używany. Załaduj poniższy kod do swojego Arduino i kontynuuj:

void setup() { // wstaw tutaj swój kod konfiguracyjny, aby uruchomić raz: } void loop() { // wstaw tutaj swój główny kod, aby uruchomić wielokrotnie: }

Obraz
Obraz

UWAGA: Uważaj podczas podłączania pinu ekranującego 3,3 V do Arduino.

Korzystanie z konwertera szeregowego TTL USB PL2303HX:

Oprócz adaptera konwertera szeregowego USB PL2303HX TTL będziesz potrzebować następujących elementów:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Kable połączeniowe męskie-żeńskie

Obraz
Obraz

UWAGA: PL2303 ma zasilanie 5V i 3V3. Użyj zasilania 3V3 i zignoruj pin 5V

Po wykonaniu jednego z powyższych schematów podłączania wystarczy podłączyć kabel USB (do Arduino i komputera) lub konwerter szeregowy USB do komputera.

Następnie przejdź do „Panelu sterowania” w systemie Windows, „Menedżer urządzeń”, aw oknie, które się otworzy, przejdź do „Porty (COM i LPT)”. Możesz zobaczyć podłączone urządzenie i numer portu COM, na którym zostało przydzielone. W ramach demonstracji podłączyłem zarówno Arduino, jak i konwerter szeregowy USB na komputerze i na poniższym obrazku widać, jak wyglądają urządzenia w menedżerze:

Obraz
Obraz

Jeśli używasz PL2303HX i nie jest on rozpoznawany przez system Windows, przejdź do wpisu Serial TTL USB Converter PL2303HX - Instalacja w systemie Windows 10, zobacz, jak go rozwiązać, a następnie wróć, aby kontynuować.

Teraz przejdź do folderu FLASH_DOWNLOAD_TOOLS_v2.4_150924 i uruchom ESP_DOWNLOAD_TOOL_V2.4.exe:

Obraz
Obraz

Na tarczy ustaw styki P3 i P4 przełącznika DIP w pozycji ON, a następnie naciśnij przycisk ESP-RST na karcie, aby tarcza weszła w tryb aktualizacji oprogramowania:

Obraz
Obraz

Przy otwartym programie odznacz opcję 'SpiAutoSet', wybierz port COM, wybierz 'BAUDRATE' 115200, odznacz wszystkie pola zaznaczone w 'Download Path Config', skonfiguruj inne opcje jak pokazano poniżej i kliknij 'START':

Obraz
Obraz

Jeśli komunikacja z ESP8266 WiFi Shield jest w porządku, zobaczysz informacje w „WYKRYTE INFORMACJE”, „Adres MAC” i „SYNC”:

Obraz
Obraz

UWAGA: Jeśli program zwraca 'FAIL', sprawdź czy wybrałeś właściwy port COM, sprawdź czy klawisze P3 i P4 przełącznika DIP są włączone, kliknij przycisk ESP-RST, kliknij STOP i ponownie START.

W 'Download Path Config' należy wybrać pobrany plik 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. Kliknij '…' pierwszego pola iw oknie, które się otworzy, przejdź do folderu, w którym umieściłeś oprogramowanie i wybierz plik 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. W polu 'ADDR' wpisz offset 0x00000 i zaznacz pole wyboru, aby zakończyć. Po zakończeniu będziesz mieć ustawienia, jak pokazano poniżej:

Obraz
Obraz

Teraz kliknij START, aby rozpocząć proces:

UWAGA: Jeśli używasz konwertera Arduino szeregowego USB jako pośrednika między nakładką a komputerem, kliknij przycisk ESP-RST na osłonie przed kliknięciem START. Jeśli używasz konwencjonalnego szeregowego konwertera USB, ta procedura nie jest konieczna

Obraz
Obraz

Poczekaj na zakończenie procesu aktualizacji oprogramowania układowego (ukończenie zajmie około siedmiu minut):

Obraz
Obraz

Po zakończeniu procesu aktualizacji oprogramowania zamknij okno ESP_DOWNLOAD_TOOL_V2.4, ustaw styki P3 i P4 przełącznika DIP w pozycji OFF i naciśnij przycisk ESP-RST na tarczy, aby wyjść z trybu aktualizacji oprogramowania.

Teraz otwórz Arduino IDE, aby móc wysyłać polecenia AT do płyty głównej, aby sprawdzić, czy oprogramowanie układowe zostało poprawnie zaktualizowane i czy płyta reaguje na polecenia.

Przy otwartym IDE przejdź do menu 'Narzędzia' a następnie w opcji 'Port' wybierz port COM. Zauważ na poniższym obrazku, że wybrałem port COM7 (twój port prawdopodobnie będzie inny):

Obraz
Obraz

NIE musisz wybierać płytki w IDE, ponieważ nie ma to znaczenia przy wysyłaniu poleceń AT.

Otwórz „Serial Monitor” i w stopce sprawdź, czy prędkość jest ustawiona na 115200 i czy wybrano „Oba, NL i CR”:

Obraz
Obraz

Teraz wpisz polecenie 'AT' (bez cudzysłowów) i podaj 'ENTER' lub kliknij 'Wyślij'. Jeśli połączenie działa, będziesz musiał zwrócić komunikat „OK”:

Obraz
Obraz

UWAGA: Jeśli wysyłanie polecenia NIE powoduje otrzymania żadnej informacji zwrotnej lub losowego ciągu znaków, zmień prędkość monitora szeregowego z 115200 na 9600 i wyślij polecenie ponownie

W 'Serial Monitor' wpisz komendę 'AT + GMR' (bez cudzysłowów) i podaj 'ENTER' lub kliknij 'Wyślij'. Jeśli otrzymasz informację zwrotną, jak pokazano poniżej, oznacza to, że Twoja ESP8266 WiFi Shield została pomyślnie zaktualizowana:

Obraz
Obraz

Chcąc zmienić szybkość transmisji z nakładką 9600 należy wpisać komendę 'AT + UART_DEF = 9600, 8, 1, 0, 0' (bez cudzysłowu) i podać 'ENTER' lub kliknąć 'Wyślij'. Jeśli otrzymasz informacje, jak pokazano poniżej, oznacza to, że zmieniła się prędkość komunikacji:

Obraz
Obraz

UWAGA: Zmieniając szybkość transmisji tarczy, należy również zmienić prędkość z 115200 na 9600 w stopce Monitor Serial. Następnie ponownie wyślij polecenie 'AT' (bez cudzysłowów) i naciśnij 'ENTER' lub kliknij 'Wyślij'. Jeśli otrzymasz zwrot „OK”, oznacza to, że komunikacja działa

Jeśli chcesz użyć nakładki do przypisania WiFi do Arduino, idealna prędkość komunikacji to 9600 bodów.

W następnym kroku dowiesz się jaką posiadasz tarczę, skoro na rynku można znaleźć przynajmniej trzy tarcze, które wydają się takie same, ale w rzeczywistości te płyty mają kilka punktów, które je różnią, nawet w kwestii współpraca z Arduino poprzez komunikację poprzez natywny port szeregowy.

Krok 3: Tarcza, Tarcza, Więcej i Moer? Czy to ma znaczenie?

Jeśli jest to konwerter ESP8266 ESP-12E UART Wireless WIFI Shield TTL, można znaleźć co najmniej trzy płytki, które pozornie są takie same, ale w rzeczywistości te płytki mają pewne punkty, które je różnią, nawet w kwestii współpracy z Arduino poprzez natywną komunikację szeregową.

Obserwując możesz zobaczyć, co wyróżnia tablice i dowiedzieć się, która z nich jest Twoja.

Tarcza WiFi ESP8266:

Obraz
Obraz

Zauważ, że na tej tablicy słowo Tarcza jest napisane „Tarcza”, a słowo „więcej” ma małą literę „m”. W testach, które robiłem przez długi czas, płyta NIE wykazała żadnych wad w swoim działaniu.

Tarcza WiFi ESP8266:

Obraz
Obraz

Zwróć uwagę, że na tej tablicy słowo Tarcza jest napisane poprawnie, a słowo „Więcej” ma „M” pisane wielkimi literami. W kwestii eksploatacji ta płytka zachowuje się tak samo jak wersja Shiald, czyli płytka nie jest uszkodzona.

Czyli masz na myśli, że płyty Shiald i Shield mają różnice tylko w kwestii jedwabiu PCB?

Tak, te dwie karty różnią się tylko w kwestii zapisu dwóch słów. Obwód na obu płytkach jest taki sam i obie działają doskonale z Arduino lub samodzielnie (tryb samodzielny). Biorąc pod uwagę, że Arduino ma wczytany poprawny kod i że jeden z nakładek ma również poprawne oprogramowanie, po dołączeniu nakładki do Arduino i podłączeniu kabla USB wystarczy ustawić styki P1 i P2 przełącznika DIP w pozycji ON i komunikacja przez natywny port szeregowy (piny D0 i D1) między płytami zostanie nawiązana.

Niektórzy twierdzą, że ta wersja Shiald ma niestabilne połączenie bezprzewodowe, ale ja twierdzę, że nie ma żadnej niestabilności.

Tarcza WiFi ESP8266 (Moer):

Obraz
Obraz

Zauważ, że na tej tablicy słowo Tarcza jest napisane poprawnie, a słowo „Więcej” jest napisane „Moer”, czyli źle. Niestety ta płytka nie działa tak, jak powinna i jeśli jest podłączona do Arduino (ze stykami przełącznika DIP OFF lub ON) i użytkownik spróbuje załadować kod na Arduino, w IDE pojawi się komunikat o błędzie jako ładowanie nie powiedzie się.

Jeśli twoja tarcza jest tą, która jest napisana w Moer i masz problem z używaniem jej z Arduino przez natywną komunikację szeregową, przejdź do następnego kroku i dowiedz się, jak rozwiązać problem. Jeśli twoja tarcza NIE JEST MOER, przejdź do kroku 5.

Krok 4: Shield Moer - Rozwiązywanie komunikacji szeregowej RX / TX

Jeśli ta płytka (Moer) jest połączona z Arduino (ze stykami przełącznika DIP OFF lub ON), a użytkownik spróbuje załadować kod do Arduino, w IDE pojawi się komunikat o błędzie, ponieważ ładowanie się nie powiedzie. Wynika to z błędu komponentu zastosowanego w konstrukcji tarczy.

Osłona, która ma prawidłową konstrukcję i działanie, ma zespawane dwa tranzystory MOSFET Channel N i jest oznaczona jako J1Y. Jeden z tranzystorów J1Y jest podłączony do ESP8266 RX, a drugi do ESP8266 TX. Na poniższym obrazku widać dwa podświetlone tranzystory:

Obraz
Obraz

Ten tranzystor J1Y to BSS138, którego celem jest umożliwienie obwodom poziomu logicznego 5 V komunikacji z obwodami poziomu logicznego 3,3 V i odwrotnie. Ponieważ ESP8266 ma poziom logiczny 3,3 V, a Arduino ma poziom logiczny 5 V, konieczne jest zastosowanie konwertera poziomów logicznych, aby zapewnić idealne działanie ESP8266.

W nakładce Moera na płytce wlutowane są dwa tranzystory oznaczone jako J3Y. Na poniższym obrazku widać dwa podświetlone tranzystory:

Obraz
Obraz

Tranzystor J3Y to S8050 NPN i ten typ tranzystora jest powszechnie stosowany w obwodach wzmacniaczy. Z jakiegoś powodu w czasie konstruowania nakładki Moer zastosowali tranzystor J3Y zamiast konwertera poziomu logicznego J1Y.

W ten sposób piny RX i TX ESP8266 nie będą działały tak, jak powinny, a zatem nakładka nie będzie miała żadnej komunikacji szeregowej z Arduino. Ponieważ nakładka komunikuje się z Arduino przez natywny port szeregowy (piny D0 i D1), w połączeniu z kodem Arduino ładowanie (w Arduino) nigdy nie zostanie zakończone pomyślnie, ponieważ w niektórych przypadkach zawsze będzie około 2,8V w RX i Arduino TX lub stałe 0V, wszystko z powodu niewłaściwych tranzystorów.

Po tych wszystkich informacjach jasne jest, że jedynym rozwiązaniem dla osłony Moera jest zastąpienie tranzystorów J3Y tranzystorami J1Y. Do tej procedury będziesz potrzebować oprócz tarczy cierpliwości Moera i:

01 - Lutownica01 - Tin01 - Szczypce lub szczypce igłowe01 - Przyssawka spawalnicza02 - BSS138 (J1Y)

Tranzystor BSS138 (J1Y) jest używany w konwerterze poziomów logicznych 3,3 V / 5 V.

UWAGA: Poniższa procedura wymaga znajomości obsługi lutownicy i najmniejszego doświadczenia w spawaniu. Podzespoły, które zostaną usunięte i te, które zostaną wymienione, to elementy SMD i wymagają większej ostrożności i cierpliwości podczas spawania zwykłą lutownicą. Uważaj, aby nie pozostawić lutownicy zbyt długo na zaciskach tranzystora, ponieważ może to spowodować ich uszkodzenie

Rozgrzaną lutownicą podgrzej jeden z końcówek tranzystora i włóż trochę cyny. Wykonaj tę procedurę dla każdego z zacisków dwóch tranzystorów. Nadmiar spawów na zaciskach ułatwi usunięcie tranzystorów:

Obraz
Obraz

Teraz weź pincetę / szczypce, trzymaj tranzystor za boki, podgrzej tę stronę tranzystora, która ma tylko jedną końcówkę i wciśnij tranzystor do góry, aby końcówka odpadła od lutu. Nadal trzymając tranzystor pęsetą / szczypcami, spróbuj umieścić końcówkę lutownicy na pozostałych dwóch zaciskach i zmusić tranzystor do zakończenia uwalniania go z płytki. Zrób to dla obu tranzystorów i bądź bardzo ostrożny:

Obraz
Obraz

Usunięto dwa J3Y ICs z osłony, po prostu umieść J1Y IC na miejscu, przytrzymaj go pęsetą / szczypcami i podgrzej każdy koniec osłony, aby cyna połączyła się ze stykiem. Jeśli styki są słabo lutowane, podgrzej każdy i umieść więcej cyny. Zrób to dla obu tranzystorów i bądź bardzo ostrożny:

Obraz
Obraz

Po naprawie jego osłona, która wcześniej nie miała bezpośredniej komunikacji z Arduino, zaczęła łączyć się z płytką przez natywny port szeregowy (piny D0 i D1).

Pierwszym testem potwierdzającym, że naprawa się powiodła, jest podłączenie nakładki (z wyłączonymi wszystkimi stykami przełącznika DIP) do Arduino, podłączenie kabla USB do płytki i komputera oraz próba załadowania kodu do Arduino. Jeśli wszystko jest w porządku, kod załaduje się pomyślnie.

Krok 5: Serwer WWW z konwerterem ESP8266 ESP-12E UART Wireless WIFI Shield TTL dla Arduino

Podstawowym wymogiem kontynuowania tego kroku jest wykonanie kroku 2.

Jak wspomniałem wcześniej, aby korzystać z nakładki z Arduino przez natywny port szeregowy (piny D0 i D1), konieczne jest wczytanie kodu do nakładki oraz wczytanie do Arduino kolejnego kodu do wysyłania, odbierania i interpretacji dane przesyłane przez natywny numer seryjny. W nakładce możemy umieścić firmware komend AT i zaprogramować Arduino do wysyłania komend do nakładki w celu połączenia z siecią WiFi oraz sterowania wejściami i wyjściami Arduino.

W tym kroku wykorzystamy bibliotekę WiFiESP, ponieważ posiada już wszystkie niezbędne funkcje do integracji ESP8266 (w naszym przypadku Shield WiFi ESP8266) z Arduino i przypisania WiFi do płytki. Biblioteka WiFiESP działa na zasadzie wysyłania poleceń AT, wówczas połączenie routera z siecią bezprzewodową i każde żądanie skierowane do serwera WWW spowoduje wysłanie poleceń AT do tarczy.

Aby biblioteka WiFiESP działała, wersja oprogramowania układowego polecenia AT musi być co najmniej 0,25 lub wyższa. Jeśli więc nie znasz wersji polecenia AT swojej tarczy, przejdź do kroku 2, aby zaktualizować płytę za pomocą oprogramowania układowego z wersją polecenia AT 1.2.0.0, a następnie wróć, aby kontynuować.

Jedną z rzeczy, które zidentyfikowałem podczas moich testów z tarczą i Arduino, jest to, że ponieważ komunikacja między nimi odbywa się za pośrednictwem natywnego portu szeregowego (piny D0 i D1), konieczne staje się, aby serial był używany wyłącznie do komunikacji między nimi. Dlatego nie polecam używania "Serial.print() / Serial.println()" do drukowania informacji na monitorze szeregowym Arduino IDE lub jakimkolwiek innym programie wyświetlającym informacje szeregowe.

Domyślnie biblioteka WiFiESP jest skonfigurowana do wyświetlania błędów szeregowych, ostrzeżeń i innych informacji o komunikacji między Arduino a ESP8266. Jak wspomniałem wcześniej, do komunikacji między Arduino a nakładką powinien zostać zwolniony szeregowy. Dlatego wyedytowałem plik z biblioteki i wyłączyłem wyświetlanie wszystkich informacji w serialu. Jedyne informacje, które będą wyświetlane na monitorze szeregowym, to polecenia AT wysyłane przez bibliotekę do tarczy w celu połączenia z siecią bezprzewodową lub polecenia AT w celu wykonania żądań skierowanych do serwera WWW.

Pobierz zmodyfikowaną bibliotekę WiFIESP i zainstaluj ją w Arduino IDE:

Modyfikacja WiFi

W folderze instalacyjnym biblioteki wystarczy przejść do ścieżki „WiFiEsp-master\src\utility”, a wewnątrz niej znajduje się plik „debug.h”, który został zmieniony w celu wyłączenia wyświetlania informacji o serialu. Otwierając plik w Notepad ++ mamy na przykład wiersze 25, 26, 27, 28 i 29, które pokazują odpowiednią numerację dla typów informacji, które będą wyświetlane na monitorze szeregowym. Zauważ, że liczba 0 wyłącza wyświetlanie wszystkich informacji na monitorze szeregowym. W końcu w linii 32 skonfigurowałem „_ESPLOGLEVEL_” z wartością 0:

Obraz
Obraz

Jeśli chcesz używać biblioteki WiFiESP w innych projektach z ESP8266 i potrzebujesz informacji wyświetlanych na monitorze szeregowym, po prostu ustaw „_ESPLOGLEVEL_” na wartość 3 (wartość domyślna biblioteki) i zapisz plik.

Ponieważ twoja tarcza ma już oprogramowanie układowe komend AT w wersji 0.25 lub nowszej, kontynuujmy.

Podłącz nakładkę do Arduino (Uno, Mega, Leonardo lub inną wersję, która pozwala na przyłączenie nakładki), ustaw wszystkie styki przełącznika DIP w pozycji OFF, podłącz diodę LED między pinem 13 a GND i podłącz kabel USB do Arduino i komputer:

Obraz
Obraz

Użyłem Arduino Mega 2560, jednak efekt końcowy będzie taki sam, jeśli użyjesz innej płytki Arduino, która umożliwia sprzężenie ekranu.

Pobierz kod z linku i otwórz go w Arduino IDE:

Kod Serwer WWW

Jeśli używasz Arduino Leonardo, przejdź do linii 19 i 20 kodu i zmień słowo Serial na Serial1, jak pokazano na poniższym obrazku:

Obraz
Obraz

W kodzie należy wpisać nazwę swojej sieci WiFi w linii char * ssid = "NAZWA TWOJEJ SIECI WIFI";, hasło należy wpisać w linii char * password = "HASŁO TWOJEJ SIECI WIFI"; oraz w wierszu WiFi.config (IPAddress … należy wprowadzić dostępny adres IP w sieci bezprzewodowej, ponieważ ten kod używa statycznego adresu IP:

Obraz
Obraz

W menu "Narzędzia" wybierz "Płyta" i wybierz model swojego Arduino. Nadal w menu „Narzędzia” wybierz opcję „Port” i sprawdź port COM, w którym przydzielono Twoje Arduino.

Kliknij przycisk, aby wysłać kod do Arduino i poczekaj na załadowanie.

Po wczytaniu kodu na Arduino odłącz kabel USB od karty, przestaw styki P1 i P2 przełącznika DIP nakładki w pozycję ON i ponownie podłącz kabel USB do Arduino.

UWAGA: Dopóki styki osłony P1 i P2 będą w pozycji ON, nie będzie można wysyłać kodów do Arduino, ponieważ natywny port szeregowy będzie zajęty. Pamiętaj za każdym razem, gdy zmieniasz położenie przełączników DIP, naciśnij przycisk ESP-RST

Natychmiast otwórz monitor szeregowy Arduino IDE:

Obraz
Obraz

Przy otwartym monitorze szeregowym możesz postępować zgodnie z poleceniami AT, które są wysyłane do osłony, aby uruchomić serwer WWW. Jeśli podczas otwierania monitora szeregowego nie są wyświetlane żadne informacje, naciśnij przycisk RESET na Arduino i poczekaj.

Zwróć uwagę, że na monitorze szeregowym polecenie „AT + CIPSTA_CUR” pokazuje adres IP do połączenia z serwerem internetowym, a polecenie „AT + CWJAP_CUR” pokazuje nazwę i hasło sieci bezprzewodowej, w której tarcza jest podłączona:

Obraz
Obraz

Skopiuj adres IP wyświetlany na monitorze szeregowym, otwórz przeglądarkę internetową, wklej adres IP i naciśnij ENTER, aby uzyskać dostęp. Załaduje się strona podobna do poniższej:

Obraz
Obraz

Na stronie znajduje się przycisk, który będzie odpowiedzialny za włączanie/wyłączanie diody LED podłączonej do pinu 13 Arduino. Naciśnij przycisk, aby włączyć / wyłączyć diodę LED i zobaczyć, że aktualny stan jest aktualizowany na stronie.

Możesz również uzyskać dostęp do strony internetowej na przykład za pomocą smartfona lub tabletu.

Zobacz poniższy film, aby zobaczyć ostateczny wynik:

To była prosta praktyka, ponieważ miała na celu pokazanie, jak łatwo można używać nakładki z Arduino. Wszystkie projekty, które można znaleźć w Internecie, które używają ESP8266 do przypisania WiFi do Arduino, można odtworzyć za pomocą tego WiFi Shield, różnica polega na tym, że nie trzeba montować dzielników napięcia w płycie głównej do komunikacji z platformami, a w prosty sposób projektów nie będziesz musiał martwić się o zasilanie obwodu zewnętrznym zasilaczem. Ponadto Twój projekt będzie miał o wiele przyjemniejszą estetykę.

Teraz, gdy już wiesz, jak zintegrować Shield WiFi ESP8266 z Arduino z serwera WWW, po prostu zmodyfikuj kod i zaimplementuj bardziej rozbudowany projekt lub zacznij tworzyć własny kod.

Jeszcze raz przepraszam za niedociągnięcia w języku angielskim.

Jeśli masz pytania dotyczące tarczy, po prostu zapytaj, a chętnie odpowiem.

Zalecana: