RC-машинка из ESP8266 NodeMCU и LEGO — Разработка на vc.ru
3586
просмотров
Создаем управляемую модель на основе микроконтроллера с Wi-Fi модулем.
Собрав, как и положено взрослому мужчине, внушительную коллекцию LEGO, я задумался над тем, как извлечь из неё ещё больше положительных эмоций. Выяснилось, что в результате соединения разноцветных деталей и любви к программированию может получиться очень интересный проект. Если вы разделяете оба этих увлечения, приглашаю вас создать мечту детства – управляемую модель LEGO-автомобиля!
Погнали!
ESP8266 NodeMCU – плата для разработки на базе чипа ESP8266, который представляет собой UART-WiFi модуль с ультранизким потреблением. Сам чип проектировался для интернета вещей, а данная плата позволяет упростить разработку, поскольку на ней уже реализовано подключение по USB, установлен стабилизатор напряжения питания и все выводы чипа разведены на гребёнки со стандартным шагом 2.54 мм, что позволяет вставить его в макетную плату и создать прототип.
Кроме того, плата поставляется с прошивкой NodeMCU, благодаря чему можно программировать её с помощью Arduino IDE. (https://radioprog.ru/shop/merch/59)
Как это работает
На ESP8266 NodeMCU мы поднимаем точку доступа Wi-Fi, HTTP-сервер и WebSocket сервер. Подключаемся к точке Wi-Fi со смартфона. HTTP-сервер отдает нам HTML-страничку с JavaScript, который сразу подключается к WebSocket серверу. Мы касаемся экрана, и JavaScript отправляет координаты прикосновения к экрану WebSocket серверу. Когда вы прикасаетесь к верхней части экрана, машинка знает, что нужно ехать вперед. Это относится и к другим направлениям.
Материалы:
ESP8266 NodeMCU;
mini L298N;
макетная плата;
4 мотора TT 130 с редуктором и колесами;
провода;
powerbank;
переходник USB -> microUSB;
USB-шнур с возможностью подключения к макетной плате;
конструктор LEGO.
Настройка рабочей среды Arduino Studio
Добавление платы ESP8266 NodeMCU в Arduino IDE
Качаем Arduino IDE с официального сайта: https://www.arduino.cc/en/Main/Software
Во вкладке Настройки (Preferences) -> Дополнительные ссылки для менеджера плат (Additional boards manager URLs) вставляем ссылку http://arduino.esp8266.com/staging/package_esp8266com_index.json
На этом все! Желаю удачи в ваших творческих начинаниях!
Как создать точку доступа на ESP8266 за 5 минут. Управление по WI-FI
Первый это мы просто просканируем все сети, что окружают вас.
Второй – выведем две кнопки и по управляем встроенным в плату светодиодом.
И третий. Выведем номер RFID карты используя скетч из предыдущих уроков.
Давайте рассмотрим пример сканирования WIFI сетей. Мы будем использовать библиотеку ESP8266WIFI. Здесь ничего сложного. Запускается встроенная функция сканирования сетей и в цикле выводятся все найденные сети и уровень их сигнала. Затем ждём 5 секунд и снова сканируем.
У меня этот модуль нашёл сего 7 сетей. А вот ноутбук видит гораздо больше. Это говорит о том, что ESP встроенная в NodeMCU имеет гораздо меньшую чувствительность. А что можно было ожидать от антенны нарисованной на плате. Поэтому я в основном использую модули ESP-07 с керамической антенной и разъёмом для подключения внешней антенны. И к тому же ESP не видит сети с частотой 4 ГГц, а только 2,4 ГГЦ.
Теперь давайте рассмотрим второй пример. Это создание своей точки доступа и вывод двух кнопок на страницу для управления светодиодом. Точно так же можно управлять не только светодиодами, но и различными нагрузками, например реле. Для этого нам понадобится подключить несколько библиотек. Но они все входят в комплект
ARDUINO ide и становятся доступными после того как вы выберете плату ESP. Здесь мы пишем название своей новой сети. Я назвал её вот так, вы же можете называть как угодно. И задаём пароль. Если вы не укажете пароль, то у вас будет открытая сеть и каждый сможет к ней подключиться. Оно вам надо? Это html код который будет выводиться на странице. Это простой код который выведет две ссылки с надписями включить и выключить. А выше их будет отображаться статус указывающий текущее состояние светодиода. Включен или Выключен. Дальше идут строчки кода которые в основном отвечают за вывод в ComPort. Я по возможности всё написал по русски, и думаю вам не составит труда разобраться что и за что отвечает. Переходим на созданную сеть. У вас при первом подключении будет выведено окно для ввода пароля. Проверяем, чтобы не было ошибок с паролем, а иначе вы не сможете войти в эту сеть. Дальше будет вопрос подключать ли общий доступ к устройствам. Можете выбрать что угодно. Я ответил ДА. Вот мы и подключились к созданной нами сети. Вводим IP адрес вашего устройства. И вы ничего не должны увидеть. У меня это просто загрузился кэш страницы. Нажимая на кнопки никакого результата на плате я не вижу. Теперь нужно войти на локальный адрес самой ESP. Он вот такой 192.168.4.1 Вот теперь это уже реальная страница, что можно увидеть нажимая на кнопки. Как видите на плате включается и выключается светодиод. И как я уже говорил, это может быть реле и управлять большой нагрузкой.
Теперь переходим на свою обычную WIFI сеть. Обновляем страницу и видим, что доступ к интерфейсу пропал.
Ну и наконец третий пример. Выведем UID номер карты на экран компьютера. Для этого загрузим следующий скетч. Здесь у нас ещё прибавилось библиотек. Одну из них вам придётся установить, так как она не входит в комплект.
Если не знаете как, о посмотрите последние видео о RFID модуле. Там подробно всё рассказано. Мы будем работать с той же сетью, что и в предыдущем примере. В этом HTML коде мы будем выводить номер карты которую прикладывают с считывателю карт. Это код из предыдущего видео, поэтому здесь рассказывать нечего. Если в двух словах, то когда вы прикладываете карту к считывателю, то скетч считывает номер карты и отправляет его для вывода на web страницу.
Давайте посмотрим как это работает. Вводим IP адрес устройства и ничего не получаем. Так как мы находимся в своей обычной, домашней сети. Теперь переходим в созданную сеть. Перезагружаем страницу и всё мы не подключены. В следующем видео я расскажу как сделать так чтобы можно было видеть страницу из обычной WIFI сети, а если домашняя сеть пропадёт, то вы автоматически переключитесь на свою созданную сеть.
Переходим на локальный IP и видим текст и ожидание ввода карточки. Подносим карты к картридеру и видим, что их номера отображаются на странице. На этом я заканчиваю это видео. Сегодня мы рассмотрели как создать точку доступа, просканировать все доступные сети. Поуправляли светодиодом из интерфейса браузера. Получили UID номер карты.
Если вам понравилось это видео, то не забудьте поставить лайк. Если есть какие вопросы или пожелания, то пишите их в комментариях И поздравляю вас с Наступающим новым годом. До встречи в новых видео.
Скетчи
Светодиод, управляемый WiFi с использованием ESP8266 и Arduino
В этом проекте модуля WiFi ESP8266 мы узнаем об управляемом WiFi светодиоде с использованием ESP8266 и Arduino. Я покажу вам, как управлять светодиодом, подключенным к цифровому выводу ввода-вывода Arduino, по сети Wi-Fi с помощью WiFi-модуля ESP8266.
Outline
Обзор
Wi-Fi-модуль ESP8266 — интересное дополнение к сообществу производителей и любителей, поскольку он позволяет нам интегрировать Wi-Fi и Интернет в наши проекты «сделай сам».
[адсенс1]
IoT или Интернет вещей — это одна из таких областей, которая может быть реализована с использованием различных датчиков, подключенных к микроконтроллеру, такому как Arduino, и WiFi-модуль ESP8266 для доступа к данным датчиков из любой точки мира.
Прежде чем думать о больших проектах IoT, давайте начнем изучение WiFi-модуля ESP8266 и реализуем небольшой, но полезный проект под названием WiFi Controlled LED с использованием ESP8266 и Arduino.
Я уже рассказывал вам о WiFi-модуле ESP8266 в моем НАЧАЛО РАБОТЫ С ESP8266 И ARDUINO Project. Сначала обратитесь к этому проекту, чтобы узнать основную информацию о WiFi-модуле ESP8266, его схеме контактов, конфигурации контактов и о том, как связать ESP8266 с Arduino.
ВАЖНОЕ ПРИМЕЧАНИЕ:
В моем втором проекте по WiFi-модулю ESP8266 я показал вам , как прошить прошивку AT Command на ПЗУ WiFi-модуля ESP8266.
Очень важно сначала реализовать этот проект, т. е. убедиться, что на вашем WiFi-модуле ESP8266 установлена прошивка AT.
Если вы запрограммировали WiFi-модуль ESP8266 с помощью другой программы (например, Blink), вам необходимо прошить прошивку. Если на вашем модуле ESP уже установлена прошивка AT Commands, оставьте ее как есть.
Концепция светодиода, управляемого по WiFi с использованием ESP8266 и Arduino
Прежде чем углубляться в детали проекта, такие как принципиальная схема, компоненты, соединения и код, позвольте мне рассказать вам о концепции светодиода, управляемого по WiFi с использованием ESP8266 и Arduino.
Идея проекта очень проста. Подключите светодиод к плате Arduino. Этот светодиод должен быть подключен через WiFi, т.е. в локальной сети через смартфон или ноутбук.
Для этого используйте WiFi-модуль ESP8266 и подключите его к Arduino через последовательную связь. Arduino даст команду модулю ESP8266 подключиться к сети Wi-Fi и получить данные от клиента (страница HTML).
В зависимости от информации, отправленной клиентом (с помощью веб-браузера), Arduino либо включает, либо выключает светодиод. Вот и все.
[адсенс2]
Принципиальная схема
Принципиальная схема светодиода, управляемого по WiFi, с использованием ESP8266 и проекта Arduino показана на рисунке ниже.
Необходимые компоненты
Arduino UNO [Купить здесь]
Модуль Wi-Fi ESP8266
Светодиод
Резистор 330 Ом (1/4 Вт)
Резистор 1 кОм (1/4 Вт)
Резистор 2,2 кОм (1/4 Вт)
Кнопка
Соединительные провода
Мини-макет
Схемотехника
Я использовал программную серийную функцию Arduino и сделал ее цифровые выводы 2 и 3 как RX и TX. Эти контакты должны быть подключены к контактам TX и RX WiFi-модуля ESP8266.
ПРИМЕЧАНИЕ. Я использовал преобразователь уровня, состоящий из резистора 1 кОм и резистора 2,2 кОм, перед подключением контакта TX Arduino (контакт 3) к контакту RX ESP8266.
Светодиод подключен к цифровому входу/выходу 11 контакта Arduino. (Это светодиод, которым мы будем управлять через WiFi).
Что касается остальных соединений в отношении ESP8266, его контакты VCC и CH_PD подключены к 3,3 В Arduino, а GND подключен к контакту GND Arduino. Кнопка подключается между RESET ESP8266 и GND.
Оба контакта GPIO ESP8266, то есть GPIO0 и GPIO2, оставлены открытыми, так как мы не будем использовать эти контакты в этом проекте.
Код
Ниже приведен код, который необходимо загрузить в Arduino. Он настроит WiFi в модуле ESP8266, а также проверит данные с HTML-страницы (будет обсуждаться позже).
HTML-код для отправки данных в ESP8266
Чтобы создать интерфейс для проекта, я создал простую веб-страницу на основе HTML. Ниже приведен HTML-код этой веб-страницы.
Загрузите этот код HTML (сохраните его как файл .html).
Эта веб-страница HTML использует библиотеку JavaScript «jQuery.js». Загрузите эту библиотеку с здесь и поместите ее в ту же папку, что и файл . html.
Итак, папка вашей веб-страницы состоит из двух файлов: одного файла «webpage.html» и файла «jQuery.js». Откройте файл HTML с помощью любого веб-браузера. Интерфейс выглядит так.
Работа светодиода, управляемого по WiFi, с использованием ESP8266 и проекта Arduino
Загрузите приведенный выше код Arduino на плату Arduino после выполнения всех необходимых подключений. После загрузки кода откройте последовательный монитор Arduino. Вы можете увидеть ход выполнения настройки на WiFi-модуле ESP8266.
Часть информации на изображении выше выглядит мусором, но я уверяю, что данные передаются корректно. Если вы получили чистый ответ, вы можете найти IP-адрес модуля ESP8266 в выделенном месте на изображении выше.
Поскольку я не смог найти IP-адрес в Serial Monitor, мне пришлось искать его с помощью другого инструмента под названием «Расширенный сканер IP».
Теперь откройте сохраненную ранее веб-страницу и введите этот IP-адрес в соответствующее поле IP-адрес. После ввода IP-адреса вы можете нажать кнопку на странице, чтобы включить или выключить светодиод.
Заключение
Здесь разработан простой проект под названием WiFi Controlled LED с использованием ESP8266 и Arduino, в котором светодиод, подключенный к Arduino, управляется через WiFi (в той же сети).
Любое устройство, подключенное к той же сети Wi-Fi, может управлять светодиодом с помощью простой веб-страницы HTML.
Следующим шагом или расширенной версией этого проекта будет управление светодиодом через Интернет, то есть из любой точки мира (включая переадресацию портов).
Начало работы с макетной платой ESP8266 NodeMCU| Random Nerd Tutorials
Впервые на ESP8266? Начало здесь! ESP8266 — это система Wi-Fi на чипе (SoC), производимая Espressif Systems. Это отлично подходит для проектов IoT и домашней автоматизации. Эта статья представляет собой руководство по началу работы с платой разработки ESP8266.
Впервые на ESP8266? Вы находитесь в правильном месте. Это руководство содержит всю информацию, необходимую для начала работы с этой замечательной доской. Узнайте, что такое ESP8266, для чего он используется, как выбрать плату для разработки ESP8266, как загрузить свою первую программу и многое другое.
Содержание
Знакомство с ESP8266 NodeMCU
ESP8266 Технические данные
Сравнение ESP8266 и ESP32
Версии ESP 820260027 Платы для разработки ESP8266
Как выбрать плату для разработки ESP8266?
Какая плата для разработки ESP8266 лучше всего подходит для начинающих?
ESP8266-12E NodeMCU Kit
Другие макетные платы ESP8266
ESP8266 Руководство по распиновке GPIO
Как запрограммировать ESP8266?
ESP8266 с Arduino IDE
Загрузите код в ESP8266 с помощью Arduino IDE
Лучшие ресурсы для начала работы с ESP8266
Знакомство с ESP8266 NodeMCU
Что такое ESP8266 NodeMCU? ESP8266 — недорогой чип Wi-Fi, разработанный Espressif Systems.
Его можно использовать как отдельное устройство или как адаптер UART-Wi-Fi, чтобы другие микроконтроллеры могли подключаться к сети Wi-Fi. Например, вы можете подключить ESP8266 к Arduino, чтобы добавить возможности Wi-Fi на плату Arduino. Наиболее практичным применением является использование его в качестве автономного устройства.
С ESP8266 вы можете управлять входами и выходами так же, как с Arduino, но с возможностями Wi-Fi. Это означает, что вы можете размещать свои проекты в Интернете, что отлично подходит для приложений домашней автоматизации и Интернета вещей. Почему ESP8266 так популярен? В основном по следующим причинам:
Недорогой : вы можете приобрести платы ESP8266 по цене от 3 долларов США (или меньше) в зависимости от модели.
Низкое энергопотребление : ESP8266 потребляет очень мало энергии по сравнению с другими микроконтроллерами и даже может переходить в режим глубокого сна, чтобы потреблять меньше энергии;
Wi-Fi : ESP8266 может создавать собственную сеть Wi-Fi (точку доступа) или подключаться к другим сетям Wi-Fi (станции), чтобы получить доступ в Интернет. Это означает, что ESP8266 может получать доступ к онлайн-сервисам, например, для выполнения HTTP-запросов или сохранения данных в облаке. Он также может выступать в качестве веб-сервера, чтобы вы могли получить к нему доступ с помощью веб-браузера и иметь возможность удаленно контролировать и контролировать свои доски.
Совместимость с «языком программирования» Arduino : те, кто уже знаком с программированием платы Arduino, были рады узнать, что они могут программировать ESP8266 в стиле Arduino.
Совместимость с MicroPython : вы можете запрограммировать ESP8266 с прошивкой MicroPython, которая представляет собой повторную реализацию Python 3, предназначенную для микроконтроллеров и встроенных систем.
Что можно сделать с ESP8266?
Вот краткий список того, что вы можете делать с ESP8266:
Создать веб-сервер для управления выходами;
Создать веб-сервер для отображения показаний датчиков;
Отправка HTTP-запросов;
Управление выходами, чтение входов и установка прерываний;
Проекты регистрации данных;
Связь со сторонними службами;
Создание веб-приложений;
Отправляйте электронные письма, уведомления, публикуйте твиты и т. д.
И многое другое.
Технические данные ESP8266
Для получения более подробной информации о спецификациях ESP8266 см. следующий список:
Микросхема Wi-Fi ESP8266-12E
Процессор: 32-разрядное ядро микропроцессора RISC L106 на основе Tensilica Diamond Standard 106Micro под управлением на частоте 80 или 160 МГц
Память:
32 КиБ ОЗУ инструкций
32 КиБ Кэш инструкций ОЗУ
80 КиБ данных пользователя ОЗУ
16 КиБ ETS системных данных ОЗУ
6 QS 5 90 Поддерживается МиБ (обычно от 512 КиБ до 4 МиБ)
IEEE 802.11 b/g/n Wi-Fi
Встроенный коммутатор TR, балун, LNA, усилитель мощности и согласующая сеть
UART на выделенных контактах, плюс UART только для передачи может быть включен на GPIO2
10-битный АЦП (последовательное приближение) АЦП)
Основные различия между ESP8266 и ESP32
Существует преемник ESP8266 — ESP32. ESP32 сочетает в себе Wi-Fi и Bluetooth и является двухъядерным. Если вы хотите начать с любой из этих плат, мы рекомендуем приобрести ESP32. Если у вас уже есть ESP8266, не волнуйтесь. Он отлично работает, у него огромное сообщество, и он подходит для большинства проектов DIY IoT.
В следующей таблице показаны основные различия между чипами ESP8266 и ESP32:
ESP8266
ESP32
MCU
Xtensa Single-core 32-bit L106
Xtensa Dual-Core 32-bit LX6 with 600 DMIPS
802.11 b/ g/n Wi-Fi
HT20
HT40
Bluetooth
X
Bluetooth 4.2 and BLE
Typical Frequency
80 MHz
160 MHz
SRAM
X
✓
Flash
X
✓
GPIO
Нет / 16 каналов0295
2/1/2/2
4/2/2/2
ADC
10-bit
12-bit
CAN
X
✓
Ethernet MAC Interface
X
✓
Touch Sensor
X
✓
Temperature Sensor
X
✓ (old versions)
Hall effect senso r
X
✓
Price
$ (3$ – $6
$$ (6-12 долларов США)
Где купить
Лучший ESP8266. для этих плат мы рекомендуем прочитать следующую статью: ESP32 против ESP8266 — плюсы и минусы.
Версии ESP8266
Существует несколько версий модулей ESP8266, как показано на рисунке ниже. ESP-01 и ESP-12E являются наиболее популярными версиями. Вы найдете широкий выбор макетных плат с чипами ESP-12E или ESP-12F.
ESP8266 Отладочные платы NodeMCU
Использование голых микросхем или модулей не просто и не практично. Для обучения, тестирования и создания прототипов вам понадобятся платы разработки ESP8266 NodeMCU.
Они поставляются со всеми необходимыми схемами для подачи питания, загрузки кода, простого доступа к GPIO для подключения датчиков и исполнительных механизмов, антенны для сигнала Wi-Fi и других полезных функций.
Как выбрать макетную плату ESP8266?
Существует множество плат ESP8266 от разных производителей. Хотя все они работают одинаково, некоторые доски могут больше подходить для одних проектов, чем другие. При поиске макетной платы ESP8266 необходимо учитывать несколько аспектов:
Интерфейс USB-UART и схема регулятора напряжения . Большинство полнофункциональных макетных плат имеют эти две функции. Это важно для простого подключения ESP8266 к компьютеру для загрузки кода и подачи питания.
Кнопки BOOT и RESET/EN для перевода платы в режим прошивки или сброса (перезапуска) платы.
Конфигурация контактов и количество контактов. Чтобы правильно использовать ESP8266 в своих проектах, вам необходимо иметь доступ к распиновке платы (например, к карте, показывающей, какой вывод соответствует какому GPIO и его функциям). Поэтому убедитесь, что у вас есть доступ к распиновке платы, которую вы получаете. Кроме того, некоторые платы имеют более доступные GPIO, чем другие. Это фактор, который вы должны учитывать в зависимости от особенностей вашего проекта.
Размер . Существует множество макетных плат ESP8266 разных размеров. Некоторые платы выигрывают от небольшого форм-фактора, который может быть очень практичным в зависимости от особенностей вашего проекта. Обычно на платах меньшего размера имеется небольшое количество доступных GPIO, таких как ESP-01.
Разъем антенны . Большинство плат поставляются со встроенной антенной для сигнала Wi-Fi. Некоторые платы поставляются с антенным разъемом для дополнительного подключения внешней антенны. Добавление внешней антенны увеличивает радиус действия Wi-Fi.
Какая плата для разработки ESP8266 лучше всего подходит для начинающих?
Лучшая плата разработки ESP8266 для вашего проекта будет зависеть от того, что вы собираетесь делать. Если вы только начинаете работать с платой ESP8266, мы рекомендуем использовать комплект NodeMCU ESP8266-12E.
ESP8266-12E NodeMCU Kit
ESP12-E NodeMCU Kit — одна из наиболее часто используемых плат разработки ESP8266. Он оснащен 4 МБ флэш-памяти, доступом к 11 контактам GPIO и одному контакту аналого-цифрового преобразователя (АЦП) с 10-битным разрешением. Кроме того, на плате есть встроенный регулятор напряжения, и вы можете подключить модуль, используя разъем mini USB или контакт Vin.
Загрузить код на плату так же просто, как загрузить код в Arduino. Нет необходимости в программаторе FTDI или дополнительных схемах, так как он имеет встроенный преобразователь USB-последовательный порт. Большинство плат поставляются с чипами CP2101 или Ch440.
Он поставляется со встроенной антенной для сигнала Wi-Fi, а также с кнопками RST и FLASH для перезагрузки платы и перевода ее в режим мигания. Внутри есть синий светодиод, подключенный к GPIO 2, что очень удобно для отладки.
Это модель платы ESP8266, которую мы чаще всего используем в наших проектах Wi-Fi и IoT. Он очень универсален и отлично подходит для начинающих. Итак, если вы впервые используете ESP8266, мы рекомендуем этот модуль: ESP8266 12-E NodeMCU Kit.
Где купить?
Вы можете перейти по следующей ссылке, чтобы найти ESP8266-12E NodeMCU Kit в разных магазинах:
ESP8266 Сравнение плат для разработки Wi-Fi
Другие популярные платы для разработки ESP8266 01 и ESP8266 Wemos D1 mini.
Хотя я не рекомендую ESP-01 для начинающих, ESP8266 Wemos D1 mini может быть хорошим выбором.
ЭСП-01
ЭСП-01
ESP-01 очень мал и помещается в любой корпус, поэтому он идеально подходит для готовых проектов. Однако он очень ограничен в количестве доступных GPIO и не имеет встроенного стабилизатора напряжения, поэтому вам нужно использовать источник питания 3V3 или добавить регулятор напряжения, чтобы понизить входное напряжение до 3V3. Кроме того, он не поставляется с преобразователем USB-последовательный порт, а это означает, что вам нужен программатор FTDI или специальная плата программатора для загрузки кода.
WeMos D1 Mini
ESP8266 WeMos D1 Mini
WeMos D1 Mini предлагает 4 МБ флэш-памяти, 11 GPIO и 1 контакт ADC в минимальной и небольшой конфигурации. Сообщество разработало множество экранов для мини-платы D1, которые позволяют создавать небольшие и простые установки практически без проводки. Вам просто нужно сложить экраны для подключения нескольких периферийных устройств. Он поставляется со встроенным регулятором напряжения и преобразователем USB-UART, что упрощает загрузку кода. По этим причинам это также может быть хорошим выбором для начинающих.
Для сравнения различных плат ESP8266 вы можете прочитать следующую статью:
Сравнение лучших плат для разработки Wi-Fi ESP8266
Существует множество других версий различных плат ESP8266. Большинство досок работают по схожему принципу. Просто убедитесь, что они подходят для требований вашего проекта.
В следующей таблице вы можете увидеть основные различия между ESP-01, ESP8266-12E NodeMCU Kit и WeMos D1 Mini.
ESP-01
ESP-12E NodeMCU
WeMos D1 Mini
GPIOS
4 (including TX and RX)
11
11
ADC Pins
1
1
1
Flash Memory
1MB (upgraded version)
4MB
4MB
Breadboard friendly
x
✓
✓
USB to Serial Converter
x
✓
✓
Size
24. 75mm x 14.5mm (0.97” x 0.57”)
48.55mm x 25.6mm (1.91” x 1”)
34.2mm x 25.6mm (1.35” x 1”)
Price
$
$ $
$ $
Где купить?
ESP-01
ESP-12E NODEMCU
WEMOS D1 MINI
ESP8266 Nodemcu Pinaout
Самый широкий широкий esp8266 nodemcu nodemcu. ЭСП-01. Мы покажем вам распиновку этих плат. Распиновка похожа на карту, которая показывает, какой вывод соответствует какому GPIO и его функциям. Таким образом, вы должны знать, какие GPIO использовать, если вам нужно использовать SPI, I2C, ADC или другие.
Если у вас другая плата, вы сможете найти ее распиновку с помощью быстрого поиска в Google. Здесь мы просто взглянем на распиновку. Мы рекомендуем прочитать следующую статью, в которой подробно рассказывается о распиновке ESP8266 и о том, как использовать ее GPIO: Справочник по распиновке ESP8266: какие контакты GPIO следует использовать?
Контакты питания
Обычно все платы поставляются с контактами питания: 3V3, GND и VIN. Вы можете использовать эти контакты для питания платы (если питание не подается через порт USB) или для подачи питания на другие периферийные устройства (если питание платы подается через порт USB).
Универсальные входные и выходные контакты (GPIO)
Важно отметить, что в ESP8266 номер GPIO не соответствует этикетке на трафаретной печати платы. Например, D0 соответствует GPIO16, а D1 соответствует GPIO5. При программировании ваших плат с помощью Arduino IDE вы должны использовать номер GPIO, а не номер на шелкографии. Это относится к большинству плат ESP8266.
К периферийным устройствам ESP8266 относятся:
17 GPIO (обычно не все GPIO доступны на макетных платах ESP8266)
SPI
I2C (реализовано программно)
Интерфейсы I2S с DMA
UART
10-битный АЦП
Разные ESP8266 GPIO имеют определенные функции для ваших проектов, поэтому вы должны выбирать выводы с умом для своих проектов. В противном случае вы можете получить неожиданные результаты.
Мы рекомендуем ознакомиться с нашим руководством по GPIO ESP8266, в котором подробно показаны функции каждого GPIO и как выбрать лучший GPIO для вашего проекта:
ESP8266 Распиновка Справочник: Какие контакты GPIO следует использовать?
Распиновка комплекта ESP-12E NodeMCU
На следующем рисунке показан обзор распиновки комплекта ESP-12E NodeMCU:
Распиновка WeMos D1 Mini
Вот распиновка Wemos D1 Mini:
Pin0 079-0 ESP1266 распиновка ESP-01.
Как запрограммировать ESP8266?
Существует множество различных способов программирования ESP8266 с использованием разных языков программирования: Arduino C/C++ с использованием ядра Arduino для ESP32, Micropython, LUA и другие.
Мы предпочитаем программировать ESP8266 с помощью «языка программирования Arduino» с помощью Arduino IDE или VS Code. Новичкам мы рекомендуем начать работу с Arduino IDE.
У нас также есть несколько руководств, показывающих, как программировать ESP866 с помощью MicroPython. Однако в этой статье мы сосредоточимся на Arduino IDE.
Программирование ESP8266 с помощью Arduino IDE
Для программирования плат вам понадобится IDE для написания кода. Для начинающих мы рекомендуем использовать Arduino IDE. Хотя это не лучшая IDE, она хорошо работает, проста и интуитивно понятна для начинающих. После знакомства с Arduino IDE и создания более сложных проектов вам может оказаться полезным вместо этого использовать VS Code с расширением PlatformIO.
Если вы только начинаете работать с ESP8266, начните с Arduino IDE. На момент написания этого руководства мы рекомендуем использовать устаревшую версию (1.8.19) с ESP8266. Хотя версия 2 хорошо работает с Arduino, все еще есть некоторые ошибки и некоторые функции, которые еще не поддерживаются для ESP8266.
Установка Arduino IDE
Для запуска Arduino IDE на вашем компьютере должна быть установлена JAVA. Если нет, перейдите на следующий веб-сайт, чтобы загрузить и установить последнюю версию: http://java.com/download.
Загрузка Arduino IDE
Чтобы загрузить Arduino IDE, перейдите по следующему адресу:
https://www.arduino.cc/en/Main/Software
Не устанавливайте версию 2.0. На момент написания этого руководства мы рекомендуем использовать устаревшую версию (1.8.19) с ESP8266. Хотя версия 2 хорошо работает с Arduino, все еще есть некоторые ошибки и некоторые функции, которые еще не поддерживаются для ESP8266.
Прокрутите вниз, пока не найдете раздел устаревшей версии.
Выберите свою операционную систему и загрузите программное обеспечение. Для Windows мы рекомендуем загрузить « Windows ZIP-файл ».
Запуск Arduino IDE
Возьмите папку, которую вы только что загрузили, и разархивируйте ее. Запустите исполняемый файл с именем arduino.exe (выделен ниже).
Должно открыться окно Arduino IDE.
Установка NodeMCU ESP8266 в Arduino IDE
Чтобы иметь возможность программировать NodeMCU ESP8266 с помощью Arduino IDE, необходимо добавить поддержку плат ESP8266. Выполните следующие шаги:
Перейти к Файл > Настройки .
Введите следующее в поле « Дополнительные URL-адреса менеджера плат ».
Найдите ESP8266 и установите « ESP8266 by ESP8266 Community ».
Все. Он будет установлен через несколько секунд.
После этого перезапустите Arduino IDE.
Затем перейдите к Tools > Board и убедитесь, что у вас есть доступные платы ESP8266.
Теперь вы готовы приступить к программированию ESP8266 с помощью Arduino IDE.
ESP8266 Примеры
В Arduino IDE вы можете найти несколько примеров для платы ESP8266. Во-первых, убедитесь, что в Tools > Board выбрана плата ESP8266. Затем просто перейдите к Файл > Примеры и просмотрите примеры в разделе ESP8266.
Обновите ядро ESP8266 в Arduino IDE
Время от времени рекомендуется проверять, установлена ли у вас последняя версия надстройки для плат ESP8266.
Вам просто нужно перейти к Tools > Board > Boards Manager , найти ESP8266 и проверить версию, которую вы установили. Если доступна более новая версия, выберите ее для установки.
Загрузить код в NodeMCU ESP8266 с помощью Arduino IDE
Чтобы показать вам, как загружать код на плату ESP8266, мы попробуем простой пример, доступный в примерах Arduino IDE для ESP8266.
Во-первых, убедитесь, что в 9 выбран ESP8266.0019 Инструменты > Плата . Если вы используете комплект NodeMCU ESP8266-12E, как показано на предыдущих рисунках, выберите вариант NodeMCU 1.0 (модуль ESP-12E). Если вы не знаете, какая у вас плата, вы всегда можете выбрать Generic ESP8266 Module .
Затем перейдите к Файл > Примеры > ESP8266WiFi > WiFiScan .
Это загрузит скетч, который сканирует сети Wi-Fi в пределах досягаемости вашей платы ESP8266.
Подключите макетную плату ESP8266 к компьютеру с помощью USB-кабеля.
Предупреждение: необходимо использовать кабель USB с проводами передачи данных. Некоторые USB-кабели от зарядных устройств или блоков питания предназначены только для питания и не передают данные — они не будут работать.
Теперь выполните следующие шаги, чтобы загрузить код.
1) Перейдите к Tools > Board , прокрутите вниз до раздела ESP8266 и выберите свою плату ESP8266. Если вы не знаете, какая у вас доска, Generic ESP8266 Module обычно отлично работает для большинства плат.
2) Перейдите к Инструменты > Порт и выберите доступный COM-порт. Если COM-порт неактивен, это означает, что у вас нет необходимых драйверов USB. Прежде чем продолжить, ознакомьтесь с разделом «Установка USB-драйверов».
3) Нажмите кнопку загрузки.
Код должен быть успешно загружен на плату через несколько секунд.
Загрузка кода в ESP-01
Если вы используете ESP-01, прочтите этот раздел, чтобы узнать, как загрузить код на плату.
ESP-01 не имеет встроенного программатора, поэтому загрузка кода не так проста. Самый простой способ загрузить код в ESP-01 — приобрести программатор ESP-01. Есть несколько доступных онлайн, на картинке ниже показан пример программатора ESP-01.
Это очень практично, потому что вам просто нужно подключить ESP-01 к модулю, а модуль к компьютеру, чтобы запрограммировать ESP8266.
Другой альтернативой является использование программатора FTDI. Вам нужно будет подключить ESP-01 к программатору FTDI, как показано ниже. Затем просто подключите программатор FTDI к компьютеру.
В следующей таблице показаны соединения, которые необходимо установить между ESP8266 и программатором FTDI.
ESP8266
FTDI programmer
RX
TX
TX
RX
CH_PD
3.3V
GPIO 0
GND
VCC
3. 3V
GND
GND
If you have a brand new FTDI Programmer, you возможно, потребуется установить драйверы FTDI на ПК с Windows. Посетите этот веб-сайт для получения официальных драйверов. (Если COM-порт неактивен в Arduino IDE, это, вероятно, связано с тем, что у вас не установлены драйверы).
Затем вам просто нужно подключить программатор FTDI к компьютеру и загрузить код в ESP8266, нажав кнопку загрузки.
Демонстрация
Чтобы убедиться, что код работает должным образом, откройте Serial Monitor со скоростью 115200 бод.
Нажмите кнопку ESP8266 RST или EN, чтобы перезагрузить плату и запустить только что загруженный код.
Вы должны получить список ближайших сетей Wi-Fi.
Если вы используете ESP-01, после загрузки кода отключите GPIO 0 от GND, чтобы отключить режим программирования. Затем подключите контакт RST к GND примерно на одну секунду, а затем отключите его, чтобы сбросить плату.
Установка USB-драйверов ESP8266 NodeMCU
Если после подключения платы ESP8266 к компьютеру COM-порт в Arduino IDE неактивен, это означает, что на вашем компьютере не установлены необходимые драйверы USB.
Большинство плат ESP8266 используют драйверы CP2101 или Ch440. Проверьте преобразователь USB в UART на вашей плате и установите соответствующие драйверы.
Инструкции легко найти с помощью быстрого поиска в Google. Например, «установить драйверы CP2101 для Windows».
Лучшие ресурсы для начала работы с ESP8266
Если вы хотите создать свои собственные проекты IoT и домашней автоматизации с платами ESP8266 и вам нужна помощь в начале работы, у нас есть лучшие ресурсы для вас.
Домашняя автоматизация с ESP8266 : это наша премиальная электронная книга ESP8266. Узнайте, как использовать ESP8266 для автоматизации вашего дома. Даже если вы абсолютный новичок, вы сможете продолжить и придумать свои собственные проекты IoT.
Бесплатные проекты и руководства по ESP8266 : у нас есть несколько руководств и руководств по ESP8266, охватывающих множество различных тем, которые вы можете посмотреть здесь.
У нас есть другие электронные книги о ESP8266, которые охватывают более конкретные темы, которые могут вас заинтересовать:
Создание веб-серверов с ESP32 и ESP8266
Веб-приложение Firebase с ESP32 и ESP8266
SMART HOME, Raspberry, Pi ESP32, ESP8266
Программирование на MicroPython с помощью ESP32 и ESP8266 электронная книга
Подведение итогов
Мы надеемся, что это руководство по началу работы оказалось для вас полезным. Думаю, мы предоставили вам всю необходимую информацию для начала работы. Вы узнали, что такое ESP8266, как выбрать плату для разработки ESP8266 и как загрузить новый код в ESP8266 с помощью Arduino IDE.
Хотите узнать больше? Для начала мы рекомендуем следующие руководства:
ESP8266 Цифровые входы и цифровые выходы NodeMCU (Arduino IDE)
ESP8266 Web Server Tutorial
Кроме того, не забудьте взглянуть на распиновку ESP8266, чтобы узнать, как использовать ее GPIO:
Справка по распиновке ESP8266: Какие контакты GPIO следует использовать?
Если вы серьезно относитесь к изучению платы ESP8266, рекомендуем ознакомиться с нашей электронной книгой, посвященной ESP8266:
Домашняя автоматизация с использованием ESP8266 (4-е издание)
Вы также можете ознакомиться со всеми нашими бесплатными учебными пособиями по ESP8266.