Инженер

ИНЖЕНЕРИ ESP8266 NodeMCU платка за разработка

ИНЖЕНЕРИ-NodeMCU-платка за разработка

Интернет на нещата (IoT) е модерно поле в света на технологиите. Това промени начина, по който работим. Физическите обекти и цифровият свят сега са свързани повече от всякога. Имайки предвид това, Espressif Systems (базирана в Шанхай компания за полупроводници) пусна очарователен, миниатюрен WiFi микроконтролер – ESP8266, на невероятна цена! За по-малко от $3 той може да наблюдава и контролира неща от всяка точка на света – идеален за почти всеки IoT проект.

Платката за разработка оборудва модула ESP-12E, съдържащ чип ESP8266 с 32-битов микропроцесор Tensilica Xtensa® LX106 RISC, който работи на регулируема тактова честота от 80 до 160 MHz и поддържа RTOS.

ESP-12E чип

  • Tensilica Xtensa® 32-битов LX106
  • 80 до 160 MHz тактова честота
  • 128kB вътрешна RAM
  • 4MB външна флаш памет
  • 802.11b/g/n Wi-Fi трансивърENGINERS-NodeMCU-Development-Board-1

Има също 128 KB RAM и 4 MB флаш памет (за съхранение на програми и данни), достатъчно, за да се справи с големите низове, които съставляват web страници, JSON/XML данни и всичко, което хвърляме към IoT устройства в наши дни. ESP8266 интегрира 802.11b/g/n HT40 Wi-Fi трансивър, така че може не само да се свърже към WiFi мрежа и да взаимодейства с интернет, но също така може да настрои собствена мрежа, позволявайки на други устройства да се свързват директно към то. Това прави ESP8266 NodeMCU още по-гъвкав.

Изискване за мощност

Като оперативен томtagДиапазонът на ESP8266 е от 3V до 3.6V, платката идва с LDO voltagд регулатор за запазване на обtage стабилен на 3.3V. Той може надеждно да доставя до 600 mA, което трябва да е повече от достатъчно, когато ESP8266 издърпва до 80 mA по време на RF предавания. Изходът на регулатора също е разбит на една от страните на платката и е означен като 3V3. Този щифт може да се използва за захранване на външни компоненти.

Изискване за мощност

  • Работен обемtage: 2.5 V до 3.6 V
  • Вграден регулатор 3.3V 600mA
  • 80mA работен ток
  • 20 μA по време на режим на заспиванеENGINERS-NodeMCU-Development-Board-2

Захранването на ESP8266 NodeMCU се доставя чрез вградения MicroB USB конектор. Алтернативно, ако имате регулиран 5V voltagИзточник, щифтът VIN може да се използва за директно захранване на ESP8266 и неговите периферни устройства.

Предупреждение: ESP8266 изисква 3.3 V захранване и 3.3 V логически нива за комуникация. GPIO щифтовете не са толерантни към 5V! Ако искате да свържете платката с 5V (или по-високи) компоненти, ще трябва да направите известно преместване на нивото.

Периферни устройства и I/O

ESP8266 NodeMCU има общо 17 GPIO пина, разбити към заглавките на щифтовете от двете страни на платката за разработка. Тези щифтове могат да бъдат присвоени на всякакви периферни задължения, включително:

  • ADC канал – 10-битов ADC канал.
  • UART интерфейс – UART интерфейсът се използва за серийно зареждане на код.
  • PWM изходи – PWM щифтове за димиране на светодиоди или управление на двигатели.
  • SPI, I2C & I2S интерфейс – SPI и I2C интерфейс за свързване на всякакви сензори и периферни устройства.
  • I2S интерфейс – I2S интерфейс, ако искате да добавите звук към вашия проект.

Мултиплексирани I/Os

  • 1 ADC канали
  • 2 UART интерфейса
  • 4 PWM изхода
  • SPI, I2C & I2S интерфейсENGINERS-NodeMCU-Development-Board-3

Благодарение на функцията за пин мултиплексиране на ESP8266 (Множество периферни устройства, мултиплексирани на един GPIO щифт). Това означава, че един GPIO щифт може да действа като PWM/UART/SPI.

Вградени превключватели и LED индикатор

ESP8266 NodeMCU разполага с два бутона. Единият, маркиран като RST, разположен в горния ляв ъгъл, е бутонът за нулиране, използван разбира се за нулиране на чипа ESP8266. Другият бутон FLASH в долния ляв ъгъл е бутонът за изтегляне, използван при надграждане на фърмуера.

Превключватели и индикатори

  • RST – Нулирайте чипа ESP8266
  • FLASH – Изтегляне на нови програми
  • Син светодиод – програмируем от потребителяENGINERS-NodeMCU-Development-Board-4

Платката също така има LED индикатор, който е програмируем от потребителя и е свързан към D0 щифта на платката.

Серийна комуникация

Платката включва CP2102 USB-към-UART мостов контролер от Silicon Labs, който преобразува USB сигнала в сериен и позволява на вашия компютър да програмира и комуникира с чипа ESP8266.

Серийна комуникация

  • CP2102 USB към UART конвертор
  • 4.5 Mbps скорост на комуникация
  • Поддръжка на Flow ControlENGINERS-NodeMCU-Development-Board-5

Ако имате по-стара версия на драйвера CP2102, инсталиран на вашия компютър, препоръчваме да надстроите сега.
Връзка за надграждане на драйвер CP2102 – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

ESP8266 NodeMCU Pinout

ESP8266 NodeMCU има общо 30 пина, които го свързват с външния свят. Връзките са както следва:ENGINERS-NodeMCU-Development-Board-6

За по-голяма простота ще направим групи от щифтове с подобни функции.

Захранващи щифтове Има четири захранващи щифта, а именно. един VIN щифт и три 3.3V щифта. VIN щифтът може да се използва за директно захранване на ESP8266 и неговите периферни устройства, ако имате регулиран 5V voltage източник. 3.3V щифтовете са изход на бордовия voltagд регулатор. Тези щифтове могат да се използват за захранване на външни компоненти.

GND е заземяващ щифт на платката за разработка ESP8266 NodeMCU. I2C щифтовете се използват за свързване на всякакви I2C сензори и периферни устройства във вашия проект. Поддържат се както I2C Master, така и I2C Slave. Функционалността на интерфейса I2C може да бъде реализирана програмно, а тактовата честота е максимум 100 kHz. Трябва да се отбележи, че тактовата честота на I2C трябва да бъде по-висока от най-бавната тактова честота на подчиненото устройство.

GPIO щифтове ESP8266 NodeMCU има 17 GPIO пина, които могат да бъдат програмно присвоени на различни функции като I2C, I2S, UART, PWM, IR дистанционно управление, LED светлина и бутон. Всеки цифров GPIO може да бъде конфигуриран за вътрешно изтегляне или изтегляне или настроен на висок импеданс. Когато е конфигуриран като вход, той може също да бъде настроен на задействане по край или ниво за генериране на прекъсвания на процесора.

ADC канал NodeMCU е вграден с 10-битов прецизен SAR ADC. Двете функции могат да бъдат реализирани с помощта на ADC, т.е. Тестване на захранване voltage на щифт VDD3P3 и тестов вход обtage на щифта TOUT. Те обаче не могат да бъдат изпълнени едновременно.

UART щифтове ESP8266 NodeMCU има 2 UART интерфейса, т.е. UART0 и UART1, които осигуряват асинхронна комуникация (RS232 и RS485) и могат да комуникират до 4.5 Mbps. UART0 (TXD0, RXD0, RST0 & CTS0 пинове) може да се използва за комуникация. Поддържа контрол на течностите. Въпреки това, UART1 (TXD1 pin) включва само сигнал за предаване на данни, така че обикновено се използва за отпечатване на дневник.

SPI щифтове ESP8266 разполага с два SPI (SPI и HSPI) в подчинен и главен режими. Тези SPI също поддържат следните SPI функции с общо предназначение:

  • 4 режима на синхронизиране на прехвърлянето на SPI формат
  • До 80 MHz и разделени часовници от 80 MHz
  • До 64-байтов FIFO

SDIO щифтове ESP8266 включва Secure Digital Input/Output Interface (SDIO), който се използва за директно свързване на SD карти. Поддържат се 4-битов 25 MHz SDIO v1.1 и 4-битов 50 MHz SDIO v2.0.

PWM щифтове Платката има 4 канала на широчинно-импулсна модулация (PWM). ШИМ изходът може да се реализира програмно и да се използва за управление на цифрови двигатели и светодиоди. Честотният диапазон на ШИМ може да се регулира от 1000 μs до 10000 μs, т.е. между 100 Hz и 1 kHz.

Контролни щифтове се използват за управление на ESP8266. Тези щифтове включват щифт за активиране на чип (EN), щифт за нулиране (RST) и щифт WAKE.

  • EN щифт – Чипът ESP8266 се активира, когато EN щифтът е изтеглен ВИСОКО. Когато е изтеглен LOW, чипът работи на минимална мощност.
  • RST щифт – RST щифтът се използва за нулиране на чипа ESP8266.
  • WAKE pin – Wake pin се използва за събуждане на чипа от дълбок сън.

ESP8266 Платформи за разработка

Сега да преминем към интересните неща! Има различни платформи за разработка, които могат да бъдат оборудвани за програмиране на ESP8266. Можете да използвате Espruino – JavaScript SDK и фърмуер, близко емулиращ Node.js, или да използвате Mongoose OS – операционна система за IoT устройства (препоръчана платформа от Espressif Systems и Google Cloud IoT) или да използвате комплект за разработка на софтуер (SDK), предоставен от Espressif или една от платформите, изброени в WiKiPedia. За щастие, невероятната общност на ESP8266 направи избора на IDE крачка напред, като създаде добавка за Arduino. Ако тепърва започвате да програмирате ESP8266, това е средата, с която препоръчваме да започнете, и тази, която ще документираме в този урок.
Тази добавка ESP8266 за Arduino е базирана на невероятната работа на Иван Грохотков и останалата част от общността на ESP8266. Разгледайте ESP8266 Arduino GitHub хранилището за повече информация.

Инсталиране на ESP8266 Core на Windows OS

Нека продължим с инсталирането на ESP8266 Arduino ядро. Първото нещо е да имате най-новата Arduino IDE (Arduino 1.6.4 или по-нова версия) инсталирана на вашия компютър. Ако го нямате, препоръчваме да надстроите сега.
Връзка за Arduino IDE – https://www.arduino.cc/en/software
За да започнем, ще трябва да актуализираме мениджъра на борда с персонализиран URL. Отворете Arduino IDE и отидете на File > Предпочитания. След това копирайте по-долу URL в допълнителен мениджър на борда URLs текстово поле, разположено в долната част на прозореца: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonENGINERS-NodeMCU-Development-Board-7

Натиснете OK. След това отидете до Мениджър на дъски, като отидете на Инструменти > Дъски > Мениджър на дъски. Трябва да има няколко нови записа в допълнение към стандартните платки Arduino. Филтрирайте търсенето си, като напишете esp8266. Кликнете върху този запис и изберете Инсталиране.ENGINERS-NodeMCU-Development-Board-8

Дефинициите на платката и инструментите за ESP8266 включват изцяло нов набор от gcc, g++ и други сравнително големи, компилирани двоични файлове, така че може да отнеме няколко минути за изтегляне и инсталиране (архивираните file е ~110MB). След като инсталацията приключи, до записа ще се появи малък текст ИНСТАЛИРАНО. Вече можете да затворите Board Manager

Arduino Example: Мигайте

За да сме сигурни, че ядрото на ESP8266 Arduino и NodeMCU са правилно настроени, ще качим най-простата скица от всички – The Blink! Ще използваме вградения светодиод за този тест. Както бе споменато по-рано в този урок, щифтът D0 на платката е свързан към вградения син светодиод и е програмируем от потребителя. Перфектно! Преди да стигнем до качване на скица и игра с LED, трябва да се уверим, че платката е избрана правилно в Arduino IDE. Отворете Arduino IDE и изберете опцията NodeMCU 0.9 (ESP-12 Module) под вашето Arduino IDE > Инструменти > меню Board.ENGINERS-NodeMCU-Development-Board-9

Сега включете вашия ESP8266 NodeMCU към вашия компютър чрез micro-B USB кабел. След като платката е включена, тя трябва да получи уникален COM порт. На Windows машини това ще бъде нещо като COM#, а на Mac/Linux компютри ще бъде под формата на /dev/tty.usbserial-XXXXXX. Изберете този сериен порт под менюто Arduino IDE > Инструменти > Порт. Изберете също скорост на качване: 115200ENGINERS-NodeMCU-Development-Board-10

Предупреждение: Трябва да се обърне повече внимание на избора на платка, избора на COM порт и избора на скорост на качване. Може да получите грешка espcomm_upload_mem, докато качвате нови скици, ако не го направите.

След като сте готови, опитайте бившияample скица по-долу.

void setup()
{pinMode(D0, OUTPUT);}void loop()
{digitalWrite(D0, HIGH);
забавяне (500);
digitalWrite(D0, LOW);
забавяне (500);
След като кодът бъде качен, светодиодът ще започне да мига. Може да се наложи да докоснете бутона RST, за да накарате вашия ESP8266 да започне да изпълнява скицата.ENGINERS-NodeMCU-Development-Board-11

Документи / Ресурси

ИНЖЕНЕРИ ESP8266 NodeMCU платка за разработка [pdfИнструкции
ESP8266 NodeMCU платка за разработка, ESP8266, NodeMCU платка за разработка

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *