Inżynier

Płytka rozwojowa ENGINNERS ESP8266 NodeMCU

ENGINNERS-NodeMCU-Płyta rozwojowa

Internet rzeczy (IoT) to dziedzina, która zyskuje coraz większą popularność w świecie technologii. Zmieniło to sposób, w jaki pracujemy. Obiekty fizyczne i świat cyfrowy są teraz połączone bardziej niż kiedykolwiek. Mając to na uwadze, Espressif Systems (firma produkująca półprzewodniki z siedzibą w Szanghaju) wypuściła uroczy, niewielki mikrokontroler z obsługą Wi-Fi – ESP8266, w niewiarygodnej cenie! Za mniej niż 3 USD może monitorować i kontrolować rzeczy z dowolnego miejsca na świecie – idealnie nadaje się do niemal każdego projektu IoT.

Płytka rozwojowa wyposażona jest w moduł ESP-12E zawierający układ ESP8266 wyposażony w 32-bitowy mikroprocesor Tensilica Xtensa® LX106 RISC, który pracuje z regulowaną częstotliwością zegara od 80 do 160 MHz i obsługuje RTOS.

Układ ESP-12E

  • Tensilica Xtensa® 32-bitowy LX106
  • Częstotliwość zegara 80 do 160 MHz
  • Wewnętrzna pamięć RAM 128kB
  • Zewnętrzna pamięć flash 4MB
  • Transceiver Wi-Fi 802.11b/g/nENGINNERS-NodeMCU-Płyta rozwojowa-1

Dostępne jest również 128 KB pamięci RAM i 4 MB pamięci Flash (do przechowywania programów i danych), co wystarczy, aby poradzić sobie z dużymi ciągami znaków tworzącymi web strony, dane JSON/XML i wszystko, co obecnie rzucamy na urządzenia IoT. ESP8266 integruje transceiver Wi-Fi 802.11b/g/n HT40, dzięki czemu może nie tylko łączyć się z siecią Wi-Fi i wchodzić w interakcję z Internetem, ale może także tworzyć własną sieć, umożliwiając innym urządzeniom bezpośrednie łączenie się z siecią To. To sprawia, że ​​ESP8266 NodeMCU jest jeszcze bardziej wszechstronny.

Wymagania dotyczące zasilania

Jako objętość operacyjnatagZakres ESP8266 wynosi od 3 V do 3.6 V, płyta jest wyposażona w regulator głośności LDOtagregulator utrzymujący objętośćtage stałe przy 3.3 V. Może niezawodnie dostarczać do 600 mA, co powinno być więcej niż wystarczające, gdy ESP8266 pobiera aż 80 mA podczas transmisji RF. Wyjście regulatora jest również wydzielone na jedną ze stron płytki i oznaczone jako 3V3. Pin ten może być używany do zasilania komponentów zewnętrznych.

Wymagania dotyczące zasilania

  • Objętość operacyjnatage: 2.5 V do 3.6 V
  • Wbudowany regulator 3.3 V 600 mA
  • Prąd roboczy 80mA
  • 20 μA w trybie uśpieniaENGINNERS-NodeMCU-Płyta rozwojowa-2

Zasilanie ESP8266 NodeMCU jest dostarczane przez wbudowane złącze USB MicroB. Alternatywnie, jeśli masz regulowane napięcie 5 V voltage źródło, pin VIN może być użyty do bezpośredniego zasilania ESP8266 i jego urządzeń peryferyjnych.

Ostrzeżenie: ESP8266 wymaga do komunikacji zasilania 3.3 V i poziomów logicznych 3.3 V. Piny GPIO nie tolerują napięcia 5 V! Jeśli chcesz połączyć płytkę z komponentami o napięciu 5 V (lub wyższym), będziesz musiał wykonać pewne przesunięcie poziomu.

Urządzenia peryferyjne i wejścia/wyjścia

ESP8266 NodeMCU ma w sumie 17 pinów GPIO podłączonych do złączy pinów po obu stronach płytki rozwojowej. Styki te można przypisać do wszelkiego rodzaju zadań peryferyjnych, w tym:

  • Kanał ADC – 10-bitowy kanał ADC.
  • Interfejs UART – interfejs UART służy do szeregowego ładowania kodu.
  • Wyjścia PWM – piny PWM służące do ściemniania diod LED lub sterowania silnikami.
  • Interfejs SPI, I2C i I2S – interfejs SPI i I2C do podłączenia wszelkiego rodzaju czujników i urządzeń peryferyjnych.
  • Interfejs I2S – interfejs I2S, jeśli chcesz dodać dźwięk do swojego projektu.

Multipleksowane wejścia/wyjścia

  • 1 kanały ADC
  • 2 interfejsy UART
  • 4 wyjścia PWM
  • Interfejs SPI, I2C i I2SENGINNERS-NodeMCU-Płyta rozwojowa-3

Dzięki funkcji multipleksowania pinów w ESP8266 (wiele urządzeń peryferyjnych multipleksowanych na jednym pinie GPIO). Oznacza to, że pojedynczy pin GPIO może działać jako PWM/UART/SPI.

Przełączniki pokładowe i wskaźnik LED

ESP8266 NodeMCU posiada dwa przyciski. Ten oznaczony jako RST, znajdujący się w lewym górnym rogu, to przycisk Reset, służący oczywiście do resetowania układu ESP8266. Drugi przycisk FLASH w lewym dolnym rogu to przycisk pobierania używany podczas aktualizacji oprogramowania sprzętowego.

Przełączniki i wskaźniki

  • RST – Zresetuj układ ESP8266
  • FLASH – pobierz nowe programy
  • Niebieska dioda LED – programowalna przez użytkownikaENGINNERS-NodeMCU-Płyta rozwojowa-4

Płytka posiada również wskaźnik LED, który jest programowalny przez użytkownika i podłączony do styku D0 płytki.

Komunikacja szeregowa

Na płytce znajduje się kontroler mostkowy USB-UART CP2102 firmy Silicon Labs, który konwertuje sygnał USB na port szeregowy i umożliwia programowanie komputera oraz komunikację z układem ESP8266.

Komunikacja szeregowa

  • Konwerter USB-UART CP2102
  • Szybkość komunikacji 4.5 Mbps
  • Wsparcie kontroli przepływuENGINNERS-NodeMCU-Płyta rozwojowa-5

Jeśli masz starszą wersję sterownika CP2102 zainstalowaną na swoim komputerze, zalecamy aktualizację teraz.
Link do aktualizacji sterownika CP2102 – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Układ pinów NodeMCU ESP8266

ESP8266 NodeMCU ma łącznie 30 pinów, które łączą go ze światem zewnętrznym. Połączenia są następujące:ENGINNERS-NodeMCU-Płyta rozwojowa-6

Dla uproszczenia wykonamy grupy pinów o podobnych funkcjonalnościach.

Kołki zasilania Istnieją cztery piny zasilania, a mianowicie. jeden pin VIN i trzy piny 3.3 V. Pin VIN może być użyty do bezpośredniego zasilania ESP8266 i jego urządzeń peryferyjnych, jeśli masz regulowane napięcie 5Vtagźródło. Piny 3.3 V są wyjściem wbudowanego układu voltagregulator. Styki te można wykorzystać do zasilania komponentów zewnętrznych.

GND to pin uziemiający płytki rozwojowej NodeMCU ESP8266. Piny I2C służą do podłączania wszelkiego rodzaju czujników I2C i urządzeń peryferyjnych w projekcie. Obsługiwane są zarówno I2C Master, jak i I2C Slave. Funkcjonalność interfejsu I2C można zrealizować programowo, a częstotliwość zegara wynosi maksymalnie 100 kHz. Należy zauważyć, że częstotliwość zegara I2C powinna być wyższa niż najwolniejsza częstotliwość zegara urządzenia slave.

Piny GPIO ESP8266 NodeMCU ma 17 pinów GPIO, które można programowo przypisać do różnych funkcji, takich jak I2C, I2S, UART, PWM, pilot na podczerwień, dioda LED i przycisk. Każdy GPIO z obsługą cyfrową można skonfigurować do wewnętrznego podciągania lub rozwijania lub ustawić na wysoką impedancję. Po skonfigurowaniu jako wejście można je również ustawić na wyzwalanie zboczem lub wyzwalanie poziomem w celu generowania przerwań procesora.

Kanał ADC W NodeMCU wbudowany jest przetwornik ADC SAR o 10-bitowej precyzji. Obie funkcje można wdrożyć za pomocą ADC, a mianowicie. Testowanie zasilacza objtage pinów VDD3P3 i wejście testowe objtage pinu TOUT. Nie można ich jednak realizować jednocześnie.

Piny UART-a ESP8266 NodeMCU posiada 2 interfejsy UART tj. UART0 i UART1, które zapewniają komunikację asynchroniczną (RS232 i RS485) i mogą komunikować się z szybkością do 4.5 Mbps. Do komunikacji można wykorzystać UART0 (piny TXD0, RXD0, RST0 i CTS0). Wspomaga kontrolę płynów. Jednak UART1 (pin TXD1) obsługuje tylko sygnał transmisji danych, dlatego zwykle jest używany do drukowania dziennika.

Piny SPI ESP8266 posiada dwa interfejsy SPI (SPI i HSPI) w trybach slave i master. Te interfejsy SPI obsługują również następujące funkcje SPI ogólnego przeznaczenia:

  • 4 tryby synchronizacji transferu w formacie SPI
  • Do 80 MHz i dzielone zegary 80 MHz
  • Do 64 bajtów FIFO

Piny SDIO ESP8266 jest wyposażony w bezpieczny cyfrowy interfejs wejścia/wyjścia (SDIO), który służy do bezpośredniego łączenia kart SD. Obsługiwane są 4-bitowe 25 MHz SDIO v1.1 i 4-bitowe 50 MHz SDIO v2.0.

Piny PWM Płytka posiada 4 kanały modulacji szerokości impulsu (PWM). Wyjście PWM można zaimplementować programowo i wykorzystać do sterowania silnikami cyfrowymi i diodami LED. Zakres częstotliwości PWM można regulować w zakresie od 1000 μs do 10000 μs, tj. od 100 Hz do 1 kHz.

Piny kontrolne służą do sterowania ESP8266. Styki te obejmują pin włączania chipa (EN), pin resetowania (RST) i pin WAKE.

  • Pin EN – układ ESP8266 jest włączony, gdy pin EN jest ustawiony na WYSOKI. Po wyciągnięciu LOW układ działa przy minimalnej mocy.
  • Pin RST – pin RST służy do resetowania układu ESP8266.
  • Pin WAKE – Pin Wake służy do wybudzania chipa z głębokiego snu.

Platformy rozwojowe ESP8266

Przejdźmy teraz do ciekawostek! Istnieje wiele platform programistycznych, które można wyposażyć w programowanie ESP8266. Możesz skorzystać z Espruino – JavaScript SDK i oprogramowania sprzętowego ściśle emulującego Node.js, lub użyć Mongoose OS – systemu operacyjnego dla urządzeń IoT (platforma zalecana przez Espressif Systems i Google Cloud IoT) lub skorzystać z zestawu programistycznego (SDK) dostarczonego przez Espressif lub na jednej z platform wymienionych w WiKiPedia. Na szczęście niesamowita społeczność ESP8266 poszła o krok dalej w wyborze IDE, tworząc dodatek Arduino. Jeśli dopiero zaczynasz programować ESP8266, jest to środowisko, od którego zalecamy zacząć i które udokumentowamy w tym samouczku.
Ten dodatek ESP8266 dla Arduino opiera się na niesamowitej pracy Ivana Grokhotkowa i reszty społeczności ESP8266. Więcej informacji znajdziesz w repozytorium Arduino GitHub ESP8266.

Instalowanie rdzenia ESP8266 w systemie operacyjnym Windows

Przejdźmy do instalacji rdzenia Arduino ESP8266. Pierwszą rzeczą jest zainstalowanie na komputerze najnowszego Arduino IDE (Arduino 1.6.4 lub nowszego). Jeśli go nie masz, zalecamy aktualizację teraz.
Link do Arduino IDE – https://www.arduino.cc/en/software
Na początek będziemy musieli zaktualizować menedżera tablicy za pomocą niestandardowego URL. Otwórz Arduino IDE i przejdź do File > Preferencje. Następnie skopiuj poniżej URL na stanowisko Dodatkowego Menedżera Zarządu URLpole tekstowe znajdujące się w dolnej części okna: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonENGINNERS-NodeMCU-Płyta rozwojowa-7

Naciśnij OK. Następnie przejdź do Menedżera tablic, wybierając Narzędzia > Tablice > Menedżer tablic. Oprócz standardowych płytek Arduino powinno pojawić się kilka nowych wpisów. Przefiltruj wyszukiwanie, wpisując esp8266. Kliknij ten wpis i wybierz opcję Zainstaluj.ENGINNERS-NodeMCU-Płyta rozwojowa-8

Definicje płytek i narzędzia dla ESP8266 obejmują zupełnie nowy zestaw gcc, g++ i innych stosunkowo dużych, skompilowanych plików binarnych, więc pobranie i instalacja może zająć kilka minut (zarchiwizowany plik file wynosi ~110MB). Po zakończeniu instalacji obok wpisu pojawi się mały tekst ZAINSTALOWANE. Możesz teraz zamknąć Menedżera Zarządu

Przykład Arduinoample: Mrugnij

Aby upewnić się, że rdzeń Arduino ESP8266 i NodeMCU są prawidłowo skonfigurowane, prześlemy najprostszy szkic ze wszystkich – The Blink! Do tego testu użyjemy wbudowanej diody LED. Jak wspomniano wcześniej w tym samouczku, pin D0 płytki jest podłączony do wbudowanej niebieskiej diody LED i można go programować przez użytkownika. Doskonały! Zanim przystąpimy do przesyłania szkiców i zabawy z diodami LED, musimy upewnić się, że płytka jest odpowiednio wybrana w Arduino IDE. Otwórz Arduino IDE i wybierz opcję NodeMCU 0.9 (moduł ESP-12) w menu Arduino IDE > Narzędzia > Płyta.ENGINNERS-NodeMCU-Płyta rozwojowa-9

Teraz podłącz ESP8266 NodeMCU do komputera za pomocą kabla USB micro-B. Po podłączeniu płytki należy przypisać jej unikalny port COM. Na komputerach z systemem Windows będzie to coś w rodzaju COM#, a na komputerach Mac/Linux będzie to postać /dev/tty.usbserial-XXXXXX. Wybierz ten port szeregowy w menu Arduino IDE > Narzędzia > Port. Wybierz także prędkość wysyłania: 115200ENGINNERS-NodeMCU-Płyta rozwojowa-10

Ostrzeżenie: Więcej uwagi należy poświęcić wyborowi karty, portowi COM i szybkości wysyłania. Jeśli nie udało się tego zrobić, podczas przesyłania nowych szkiców może pojawić się błąd espcomm_upload_mem.

Gdy już skończysz, wypróbuj exampszkic poniżej.

pustka setup()
{pinMode(D0, WYJŚCIE);}pusta pętla()
{digitalWrite(D0, WYSOKI);
opóźnienie(500);
digitalWrite(D0, NISKI);
opóźnienie(500);
Po przesłaniu kodu dioda LED zacznie migać. Może być konieczne dotknięcie przycisku RST, aby ESP8266 zaczął uruchamiać szkic.ENGINNERS-NodeMCU-Płyta rozwojowa-11

Dokumenty / Zasoby

Płytka rozwojowa ENGINNERS ESP8266 NodeMCU [plik PDF] Instrukcje
Płytka rozwojowa NodeMCU ESP8266, ESP8266, płytka rozwojowa NodeMCU

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *