Управление ардуино через wifi esp8266: Программирование и обмен данными с «ARDUINO» по WI-FI посредством ESP8266 Часть Первая / Хабр

Содержание

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

Затем выбираем Инструменты (Tools) -> Платы (Boards) -> Менеджер плат (Boards Manager).

В поле поиска Менеджера плат наберите ESP, затем выберите ESP8266 by ESP8266 Community

и нажмите кнопку Установка.

Установите Инструменты (Tools) -> Платы (Boards) -> ESP8266 Boards -> NodeMCU 1.0.

Добавление необходимых библиотек

Необходимо скачать ZIP-архив библиотек:

  • https://github.com/me-no-dev/ESPAsyncWebServer
  • https://github. com/bblanchon/ArduinoJson

Загрузите их в Arduino IDE: Скетч (Scetch) -> Добавить библиотеку (Include library) -> добавить ZIP-библиотеку (add ZIP library).

Прошивка контроллера

Создаем новый проект в Arduino IDE: Файл (File) -> Новый (New).

Сохраняем новый проект с именем «esp8266-car»: Файл (File) -> Сохранить (Save).

Вставляем в Arduino IDE код отсюда: https://raw.githubusercontent.com/mrsuh/car-esp8266/master/main.ino

По желанию меняем название точки доступа и её пароль в начале файла вот тут:

const char *ssid = «car-esp8266»;//название Wi-Fi точки доступа const char *password = «password»;//пароль Wi-Fi точки доступа

Подключаем ESP8266 NodeMCU через USB к компьютеру и нажимаем кнопку Залить (Upload).

Сбор машинки

Схему подключения можно посмотреть здесь:

Непосредственно перед сборкой я приклеил небольшие детали LEGO к моторам клеевым пистолетом и припаял провода к L298N.

Теперь, используя вашу фантазию, собираем уникальную машинку!

Вот что получилось:

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

После включения вашей машинки в списке сетей должна появиться ваша точка доступа.

При первом подключении к точке доступа я выставляю ip для этой сети вручную.

Configure: Manual IP: 192.168.4.100 Subnet mask: 255.255.255.0 Router: 192.168.4.1

Первый заезд!

На этом все! Желаю удачи в ваших творческих начинаниях!

Как создать точку доступа на 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, усилитель мощности и согласующая сеть
    • Аутентификация WEP или WPA/WPA2 или открытые сети
    • 17 контактов GPIO
    • Последовательный периферийный интерфейс Шина (SPI)
    • I²C (программная реализация)
    • Интерфейсы I²S с DMA (общие контакты с GPIO)
    • 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. Выполните следующие шаги:

    1. Перейти к Файл > Настройки .
    1. Введите следующее в поле « Дополнительные URL-адреса менеджера плат ».
     https://arduino.esp8266.com/stable/package_esp8266com_index.json
     

     См. рисунок ниже. Затем нажмите кнопку « OK ».

    Примечание. Если у вас уже есть URL-адрес платы ESP32, вы можете разделить URL-адреса запятой следующим образом:

     https://dl.espressif.com/dl/package_esp32_index.json,
    http://arduino.esp8266.com/stable/package_esp8266com_index.json 
    1. Откройте диспетчер плат . Перейдите в Tools > Board > Boards Manager…
    1. Найдите 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.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *