Esp 8266 подключение к ардуино: d0_bf_d1_80_d0_be_d0_b4_d1_83_d0_ba_d1_82_d1_8b:esp8266-wifi-module [Амперка / Вики]

Содержание

WiFi ESP-01 (esp8266). Урок 19. Ардуино

WIFI модуль ESP-01

Привет! Ну вот мы и подошли к самой интересной части работы с Ардуино. А именно wifi модуль и подключение устройств на Ардуино к беспроводной сети. В этом уроке мы настроим wifi модуль ESP-01 и попробуем подключиться к интернету с его помощью.

В предыдущих уроках мы уже говорили про подключение проводного интернета к Ардуино. Это также интересная тема, так что посмотрите тот урок, если уже забыли или пропустили.

А сегодня мы говорим про беспроводную сеть и wifi модуль ESP-01 (esp8266). Подключим его к плате и проверим подключение к сети с помощью АТ команд.

Для того, чтобы выполнить этот урок нам понадобиться

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • WIFI модуль ESP-01 (esp8266)
  • Кабель USB

WIFI модуль ESP-01

Внешний вид и пины модуля ESP-01

Модуль представляет собой небольшую плату. На ней уже есть встроенная антенна и 8 контактов для подключения у Ардуино или другим устройствам.

Технические характеристики
  • Wi-Fi 802.11 b/g/n
  • Режимы WiFi: клиент, точка доступа
  • Выходная мощность — 19,5 дБ
  • Напряжение питания — 1.8 -3.6 В
  • Ток потребления — 220 мА
  • Портов GPIO : 4
  • Тактовая частота процессора — 80 МГц
  • Объём памяти для кода
  • Оперативная память — 96 КБ
  • Размеры — 13×21 мм

Принципиальная схема

Подключим модуль к Ардуино, чтобы получить доступ к АТ командам.

Принципиальная схема подключения модуля esp-01

Обратите внимание, что модуль работает от 3.3 вольт. Контакт RX подключим к пину 0 на Ардуино. А контакт TX к 1 пину.

После подключения питания на модуле должна загореться красная лампочка. Если этого не произошло проверьте контакты питания и земли.

AT команды

После подключения Ардуино к компьютеру, нам понадобиться монитор последовательного порта. Скетч на саму плату Ардуино можно не загружать. А в мониторе переключиться на скорость 115200 и выбрать режим Both NL & CR

.

Теперь мы можем отправить на модуль АТ команду и проверить его состояние. Введем в строку команду АТ и нажмем ввод. Если модуль успешно стартовал, то он отвечает «OK».

АТ команды и ответы модуля в мониторе порта

Переключить скорость на 9600 бод можно командой AT+UART=9600,8,1,0,0

Переключим режим модуля на клиент командой AT+CWMODE_CUR=1

И проверим, какие беспроводные сети есть в радиусе работы модуля командой AT+CWLAP

Эта команда выводит SSID, метод шифрования, силу сигнала, MAC адрес, номер канала. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSK. Моя сеть называется welcome.

Подключимся к сети выполнив команду AT+CWJAP_CUR =“welcome”,“password” И проверим ip адрес модуля командой AT+CIFSR

Подключимся к сети выполнив команду AT+CWJAP_CUR =“welcome”,“password”

После этого мы можем увидеть модуль в сети или пропинговать его.

Заключение

Мы рассмотрели wifi модуль esp-01 и подключили его к беспроводной сети. В следующий раз попробуем использовать модуль для отправки и получения данных через интернет.

Где купить

Похожее

Физическое подключение — Hi-Lab.ru

О разделе

Модуль ESP8266 является сложным техническим устройством, к тому же работающим в СВЧ диапазоне, поэтому подключение его вызывает некоторые трудности, особенно у неподготовленных пользователей. В этом разделе будет рассмотрено физическое подключение этих модулей и их первый запуск.

Модули с USB-UART интерфейсами

Если вы обладатель модуля со встроенным USB-UART интерфейсом, такого, как WeMos D1, D1 mini, NodeMCU или подобного, то ваша задача значительно упрощается — всю сложную техническую работу по обеспечению работоспособности модуля уже выполнили за вас инженеры компании, выпустившей модуль. Вы просто подключаете его и работаете.

Здесь же мы рассмотрим подключение «голого» модуля ESP8266.

Подключение модуля ESP8266

В тестовой конфигурации использовался модуль ESP-12-F QIO L4, но, в принципе, дистрибутив может работать на любом модуле семейства ESP8266 (с достаточным объёмом памяти). Рассмотрим подробно его подключение.

Переходник

Модуль ESP8266 может подключаться к компьютеру двумя способами: при помощи USB-UART адаптера или при помощи платы Arduino качестве этого адаптера. В тестовой конфигурации использовалось подключение при помощи Arduino Uno. Именно этот способ мы и рассмотрим (как отлично себя зарекомендовавший).

Обратите внимание. Arduino Uno работает от напряжения 5 В, а модуль ESP8266 — от 3.3 В, но в тестовой конфигурации их соединение работало отлично. Если вы опасаетесь за работоспособность своего модуля ESP8266 при таком подключении, то вам лучше воспользоваться схемой работы с USB-UART адаптером на 3.3 В (с соответствующим источником питания).

Arduino Uno

Подключение Arduino Uno в качестве USB-UART переходника элементарно: вывод

RX (0) платы Arduino Uno соединяются с выводом RX модуля ESP8266, а вывод TX (1) — с выводом TX модуля. То есть осуществляется «прямое» соединение.

Вывод «Reset» Arduino Uno соединяется с «землёй». Это всё, остаётся только соединить общие провода платы и модуля и подключить модуль ESP8266 к источнику питания 3,3 В, а плату Arduino Uno — к USB порту компьютера.

Питание

Для нормальной работы модулю ESP8266 требуется питание 3.3 вольта и ток 300 мА. Особое внимание следует уделить качеству источника питания. Если ваш источник питания недостаточно качественный (пульсации, просадки напряжения и т. п.), то работа модуля и всей системы Arduino Mega Server будет ненадёжной.

Вы можете долго искать, почему ваш сервер перегружается или работает с ошибками, а дело будет просто в некачественном питании.

Обвязка

Это, можно сказать, ключевой момент магии ESP8266. Требуется подключить всего несколько резисторов, но от правильности их подключения зависит вся работа модуля. И этому моменту настоятельно рекомендуется уделить повышенное внимание. Одна незначительная ошибка и ваш модуль либо вообще не будет работать, либо будет постоянно доставлять вам неприятности нестабильной работой.

Вот схема, проверенная в тестовой конфигурации и отлично себя зарекомендовавшая. Конденсаторы, отмеченные пунктиром, необязательны к установке, но делают работу схемы более надёжной. Их номиналы — неполярный керамический 0.1 мкФ и электролитический 10мкФ

Для ещё большей надёжности и стабильности работы рекомендуется «подтянуть» неподключённые выводы к напряжению питания через резисторы номиналом 10К.

Режим программирования

Для управления модулем ESP8266 в «ручном режиме» требуется подключить две кнопки: для программирования и перезапуска модуля. Процедура заливки скетча очень проста — вы нажимаете на кнопку PRG и, удерживая её, нажимаете и отпускаете кнопку RESET (после этого первую кнопку тоже можно отпустить), всё, можно нажимать кнопку заливки скетча в Arduino IDE.

Обратите внимание. Система Arduino Mega Server непрерывно развивается и в код проекта постоянно вносятся изменения и улучшения, поэтому, описание и документация может не соответствовать вашей конкретной версии системы. Последняя правка этой страницы относится к 0.15 версии системы.

Настройка Arduino IDE и подключение ESP8266 (без кнопок RESET и PROG) — Espressif Systems

Всем привет, в этой статье поговорим об уже надоевшей всем теме — «Метеостанция». Каждый пытается сделать что-то свое, вот и я не стал исключением и попытался материализовать свои эротические фантазии на контроллере ESP8266. Тема задумывалась уже давно как некое обновление для предыдущего проекта этой тематики, но из-за своей неспешности переросла в нечто самостоятельное.

При всей привлекательности микроконтроллера ESP8266 с его большим объемом памяти, железной поддержкой Wi-Fi и массой разных плюшек, он не лишен недостатков. Самый основной — ограниченное количество поддерживаемых одновременных TCP соединений равное 5. Если превысить этот лимит, то контроллер потеряет связь с окружающим миром, при этом watchdog будет думать, что все в порядке, а следовательно, даже не попытается нам помочь. Будем стараться это помнить!

Стоит начать с концепции
Доступ к данным метеостанции нужно получать без установки внешних приложений и под любой операционной системой. Для этих целей подойдет практически любой современный браузер. Меня всем устраивает Chrome. Раз уж за основу взят HTTP протокол, стоит озаботиться экономией трафика и ограничением числа TCP соединений. Хорошим тоном будет передача всего необходимого для формирования страницы контента только при первом обращении, а все последующие операции, такие как отображение показаний с датчиков или настройку контроллера, производить через API. В этом нам поможет JQuery. А вот, чтобы ослабить болевые ощущения от передачи файлов с SPI Flash в браузер, стоит предусмотреть систему кэширования, например, Etag. Это позволит отдавать тяжелый контент единожды, а при последующих загрузках страницы просто подтверждать его актуальность на уровне Web сервера микроконтроллера и кэш браузера вступит в игру, неимоверно уменьшив время загрузки страницы! «Вы были правы в одном, Мастер: переговоры были недолгими.» © Звездные войны. Эпизод 1 Из-за того, что метеостанция с датчиками и контроллером должна располагаться на улице, жизненно необходимо предусмотреть возможность обновлять прошивку ESP через Web интерфейс. Аналогичным образом должны обновляться файлы Web сервера расположенные на SPI Flash. Этот и предыдущий пункт вкупе позволят обновлять функционал микроконтроллера из домашней сети или из интернета, если конечно в этом возникнет острая необходимость. Чтобы никто посторонний не могу вмешаться в работу устройства или изменить файлы Web сервера, последний должен хотя бы как-то себя защищать. Пускать в панель управления только после авторизации, блокировать доступ при попытках брутфорса пароля. В конце концов, контроллер обязан самостоятельно генерировать ключи (salt) для авторизации, дабы сделать алгоритм непредсказуемым и исключить потенциальный взлом, в случае если злодей завладеет исходниками проекта. Понятно, что кому она там нужна, эта метеостанция, если её не завязывать с умным домом, если только из-за спортивного интереса, но как говориться “Береженого Бог бережет”. Датчики стоит расположить по уму — в метеобудке, а вот контроллер в сухом и закрытом боксе. Объединить их между собой, как мне кажется, удобнее по I2C шине — минимум проводов, максимум удобства. Практически на всех вариантах плат ESP-xx имеется штатный светодиод, можно воспользоваться им как для индикации режимов и состояния микроконтроллера, так и для вывода какой-либо промежуточной информации. Что касаемо режимов работы ESP8266, как ни странно, но он должен находить домашнюю Wi-Fi сеть и подключаться к ней. Если вдруг звезды не были к нам благосклонны, и домашняя беспроводная сеть приказала долго жить, контроллер обязан перейти в режим точки доступа (AP) дабы к нему можно было подключиться с какого-либо устройства и перенастроить его на другую сеть. А вот пока последнее не произошло, ESP должен периодически сканировать эфир в поисках долгожданной домашней точки доступа и, если боги были к нам милосердны, и домашняя сеть появилась в эфире, незамедлительно переключиться в режим клиента (STA) и в пылу страсти воссоединиться с ней. Ну и естественно, как же без отправки данных на внешние ресурсы, сейчас без этого не обходится ни одна уважающая себя кофеварка, не говоря уже о метеостанции. Думаю, что основным блюдом станет протокол MQTT, это уже облегчает возможность интеграции с умным домом, стулом или той же кофеваркой. Ну а на закуску добавим поддержку «ThingSpeak» и «Народного мониторинга». При желании можно нарастить функционал, благо памяти у микроконтроллера еще много. Как я себе это представляю
Учтите, что на видео, данные с датчиков, эмитируются самим микроконтроллером, это нужно для наглядности. В жизни метеорологическая обстановка намного спокойнее слава Богу.
Перейдем к физической сборки устройства
Как по мне, так самый оптимальный вариант, это воспользоваться отладочной платой NodeMCU V3 и базой для неё. Таким образом, мы получим отличный комплект с разведенной на его борту всей необходимой обвязкой и возможностью питать устройство от 5 до 24 Вольт.

Отладочная плата на базе, и смотрится хорошо, и удобства хоть отбавляй.

Заливаем прошивку, образ SPI Flash и подключаем четырьмя проводами датчики. Справится даже ребенок.
Ссылки:
Базовая плата для NodeMCU V3 с преобразователем питания 5-24V в 5V Отладочная плата ESP8266 от NodeMCU Естественно никто не запрещает Вам развести свою плату. Если Вы это сделаете, скиньте нам свое творение, возможно мы перейдем на него. В идеале, все должно размещаться в метеобудке.
Датчики взятые за основу
Теперь настал момент озаботиться, где описанные выше ребята будут жить. В прошлый раз мы использовали для этих целей, найденную в подножном корме, электрическую распределительную коробку. Кроме дешевизны в этом решении нет ничего положительного.
В этот раз мы воспользуемся более серьезным вариантом – «Метеорологическая будка Стивенсона». Она способна защитить датчики от прямых воздействий окружающей среды, но при этом имеет открытую структуру со стенками в виде жалюзи. Удобно, красиво и самое главное – правильно!
Будка печатается на 3D принтере по эскизам опубликованным на Thingiverse неким kowomike, спасибо добрый человек! Архив с эскизами можно будет скачать в конце поста.

Фото готовой будки

Шпилька М8 крепится через зажимной хомут к мачте уличной антенны.
Примерка. Шпилька практически не укорачивалась, чтобы не закрывать будку параболической Wi-Fi антенной.
Хотя в моем случае все это сделано не правильно т.к это солнечная сторона дома. Доступа на теневую сторону дома у меня нет, поэтому приходиться довольствоваться тем, что имеем. По прошлой метеостанции мне говорили «на солнечной стороне все эти измерения — сферический конь в вакууме, слепи %описание-многА-букАв% и закрепи на теневой стороне дома».
Я пока живу в панельном многоквартирном доме, как и не малая часть нашей страны. Доступ к теневой стороне дома (а для меня, по факту, это окна в подъезде) — прямой вызов всем гопникам района трущимся рядом, любопытным соседям с бегающими глазками и всей элите человечества скрашивающей фоном мою унылую и слишком простую, по их мнению, жизнь. Думаю, что мысль я донес.

Датчики располагаются на разных уровнях. В основании находится датчик освещенности Bh2750 и смотрит ровно вниз. Мне кажется, так он будет меньше пачкаться и покрываться пылью и при этом смотреть наружу сквозь минимальное количество препятствий для солнечного света. Вообще размещение этого датчика, это целая головная боль. Как не крути, все будет не то. Оставил так, ведь по сути важны не сами показания, а тенденция изменения. Хотя кого я пытаюсь обмануть, точность важна всегда! Предлагайте свои варианты.
Намного проще обстоят дела с датчиком атмосферного давления BMP180 и влажности SI7021, кстати, с последнего мы также будем забирать данные о температуре. Их размещаем в оставшемся свободном пространстве будки, благо его там с избытком, но не в конусе т.к пространство в нем менее проветриваемое.

Все хозяйство подключается между собой следующим образом
NodeMCU | ESP 07/12 | Датчики —————————— D2 | GPIO 4 | SDA D1 | GPIO 5 | SCL 3.3V | 3.3V | 3.3V GND | GND | GND ВАЖНО: при финальном монтаже устройства на его место службы, обязательно установите перемычку между пинами GPIO 0 (D3) и питанием 3.3 Вольта. Причины её установки описаны в закрепленном сообщении с описание обновления от 12.08.2017.
Сам микроконтроллер будет спрятан в уже знаменитую распределительную коробку, закрепленную на шпильке, чуть ниже будки Стивенсона. У меня все находится на стадии неторопливой сборки с попутным поиском более удачных идей.
Плата расширения, на которой будет установлена плата NodeMCU, закреплена через ножки для крепления компьютерных материнских плат в корпусах.

Разъемы для подключения внешних датчиков и питающей линии установил на местах где была пара штатных заглушек. Закрепил все через переходную пластину, выпиленную из куска фольгированного текстолита. Естественно, предварительно пластина была протравлена, а вся медь искоренена, ибо в этом случае она нам не друг.
Также была предусмотрена проставка из полиэтиленового поролона (используется в качестве упаковочного материала при транспортировке грузов) между текстолитом и корпусом, общей толщиной 5мм, а после затяжки крепежных винтов, его толщина не превышает 1мм. Это было сделано из-за опыта эксплуатации предыдущего (временного) бокса для этой метеостанции. Без проставки влага быстро найдет путь вовнутрь, и срок службы устройства снизится.
Производим примерку.
При окончательном монтаже обязательно необходимо удалить все не плотно прилегающие части полиэтиленового поролона, то есть те части, которые располагаются снаружи и не сдавлены крепежной текстолитовой пластиной. Это необходимо сделать для препятствования накоплению влаги в доступных для неё полостях. Также пришлось увеличить число крепежных болтов для более надежного прилегания текстолита, в противном случае он может выгибаться.
Все самое сложное позади, остается только вывести на один разъем шину i2c с питание 3.3 Вольта, а на другой подвести пины питания платы расширения. Но т.к у меня валялся «хвост» отрезанный когда-то от не рабочего блока питания маршрутизатора, и я не побрезговал им воспользоваться по прямому назначению.

Далее останется все подравнять, проверить качество монтажа, возможность замены платы NodeMCU, если это будет необходимо при эксплуатации и самое главное, дважды проверить, что и куда припаяно. Мои кривые руки и невнимательность уже наказывали меня, а т.к ждать новые запчасти долго, повторять не хочется.

Общий вид получился таким
А вот как все выглядит в боевых условиях. Кстати, могу предложить идею с помещением в бокс мешочка содержащий впитывающий влагу гель, они часто встречаются в коробках с обувью. Если все герметично, то он впитает остатки влаги, а если нет, то лишним уж точно не будет.

Требования (!!!Читать обязательно!!!)
Arduino IDE с поддержкой контроллера ESP8266, версия 2.6.2 (на версиях выше работоспособность не проверялась) Установленный модуль в Arduino IDE для загрузки файлов во Flash память микроконтроллера. Как установить описано тут. Для работы модуля загрузки файлов во Flash может понадобится последняя версия Python https://www.python.org/downloads/ Любой модуль на базе ESP8266 c Flash 4MB (3MB выделяем под SPIFFS) В параметрах выставляем lwIP версии 2 и максимальную производительность (lwIP v2 Higher Bandwidth) Сам архив с последней версией проекта. Скачать можно в конце статьи или по этой ссылке.   
Обязательные библиотеки (!!!Читать обязательно!!!)
ArduinoJson (v5.13.5) PubSubClient Ссылки на библиотеки сенсоров указаны в комментариях к коду. Сами библиотеки, как и обслуживаемые ими сенсоры, не являются обязательными. Вы вольны использовать любые датчики, как физические, так и программные.
Порядок установки (!!!Читать обязательно!!!)
Изучите файлы проекта с примерами использования тех или иных сенсоров. Все файлы с примерами начинаются с префикса users_, это users_auto.h, users_bme280_x2.h и т.д. Загрузите необходимые Вам библиотеки или используйте эти файлы как пример для добавления иных датчиков. Выставите необходимые настройки для контроллера в среде разработки Arduino IDE. Пример настроек указан на скриншоте выше. Обязательно убедитесь, что выбрано правильное распределение места для внутренней файловой системы, это значит, что 3MB должно быть выделено под файловую систему. Также проверяем, чтобы использовался lwIP v2 в режиме максимальной производительности (lwIP v2 Higher Bandwidth). Произведите загрузку программы с помощью среды разработки (Ctrl + U). Произведите загрузку содержимого каталога data в файловую систему. Меню/Инструменты/ESP8266 Sketch Data Upload Перед тем как устанавливать метеостанцию на постоянное место жительства, подтянуть GPIO-0 (пин D3 на плате NodeMCU) к питанию 3.3V. Во время данной процедуры, питание на контроллере должно отсутствовать. Первый запуск (!!!Читать обязательно!!!)
Помните, что вся конфигурация микроконтроллера производится исключительно через web интерфейс. Никаких изменений значений тех или иных параметров в коде не требуется, а подобную практику будем считать плохим тоном.
И так, после запуска микроконтроллера он сразу перейдет в аварийный режим и поднимет собственную точку доступа с именем WeatherStation. Это нормальное поведение т.к подразумевается использование метеостанции в домашней беспроводной сети, ну а раз о ней пока ничего не известно, то и подключаться не к чему.
Подключитесь к данной сети с любого удобного устройства и перейдите в панель управления (для этого имеется соответствующая иконка, запутаться невозможно), контроллер будет доступен по адресу http://espws.local или http://192.168.4.1 При попытке входа в панель управления будет запрошено имя пользователя и пароль, по умолчанию admin/admin. После входа в панель управления перейдите в раздел «Основные настройки WiFi» и укажите имя и пароль Вашей домашней сети, а также, при необходимости, укажите пароль для подключения к точке доступа поднимаемой контроллером в аварийном режиме. Если все сделано правильно, то контроллер подключится к домашней сети в течении 5-и минут.
Если Ваша домашняя сеть скрыта, то после первоначальной настройки необходимо перезагрузить контроллер. Это необходимо из-за частичной поддержки работы со скрытыми сетями. После перезагрузки контроллер увидит Вашу сеть и запомнит её MAC адрес. Помните об этом если захотите сменить домашний маршрутизатор.
Хотите помочь проекту или спонсировать новый?
Yandex.Money PayPal.me Файлы
 

Esp 12 подключение к ардуино. Как построить схему управления на Arduino и ESP8266 с настраиваемыми таймерами, контролируемую через Wi-Fi. Прошивка Arduino по WiFi

void setup() { Wifi.begin () ; Wifi.println («Web Server is up» ) ; // Выводим сообщение о старте сервера в wifi-консоль } void loop() { while (Wifi.available () ) { process(Wifi) ; } delay(50 ) ; } void process(WifiData client) { String command = client.readStringUntil («/» ) ; if (command == «webserver» ) { WebServer(client) ; } } void WebServer(WifiData client) { client.println («HTTP/1.1 200 OK» ) ; client.println («Content-Type: text/html» ) ; client.println («Connection: close» ) ; client.println («Refresh: 2» ) ; // Заголовок, который задаёт период обновления страницы в секундах client.println () ; client.println («» ) ; // Формируем страницу client.println (» UNO WIFI Web-server» ) ; client.print (»

Пример вывода значений с аналоговых пинов

» ) ; client.print («
    » ) ; for (int analogChannel = 0 ; analogChannel «
  • на аналоговом входе » ) ; client.print (analogChannel) ; client.print («: » ) ; client.print (sensorReading) ; client.print («
  • » ) ; } client.println («
» ) ; client.print (DELIMITER) ; // Не забудьте закрыть соединение! }

Элементы платы

Микроконтроллер ATmega328P

Сердцем платформы Arduino Uno WiFi является 8-битный микроконтроллер семейства AVR — ATmega328P.

Микроконтроллер ATmega16U2

Микроконтроллер ATmega16U2 обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК Arduino Uno WiFi определяется как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется.

Пины питания

    VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, если к устройству подключён внешний адаптер.

    5V: На вывод поступает напряжение 5 В от стабилизатора платы. Данный стабилизатор обеспечивает питание микроконтроллера ATmega328. Запитывать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.

    3.3V: 3,3 В от стабилизатора платы. Максимальный ток вывода — 1 А.

    GND: Выводы земли.

    IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.

Порты ввода/вывода

    Цифровые входы/выходы: пины 0 – 13
    Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.

    ШИМ: пины 3 , 5 , 6 , 9 , 10 и 11
    Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала.

    АЦП: пины A0 – A5
    6 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 значений). Разрядность АЦП — 10 бит.

    TWI/I²C: пины SDA и SCL
    Для общения с периферией по синхронному протоколу, через 2 провода. Для работы — используйте библиотеку Wire .

    SPI: пины 10(SS) , 11(MOSI) , 12(MISO) , 13(SCK) .
    Через эти пины осуществляется связь по интерфейсу SPI. Для работы — используйте библиотеку SPI .

    UART: пины 0(RX) и 1(TX)
    Эти выводы соединены с соответствующими выводами микроконтроллера ATmega16U2, выполняющей роль преобразователя USB-UART. Используется для коммуникации платы Arduino с компьютером или другими устройствами через класс Serial .

Светодиодная индикация

Разъём USB Type-B

Разъём USB Type-B предназначен для прошивки платформы Arduino Uno WiFi с помощью компьютера.

Разъём для внешнего питания

Разъём для подключения внешнего питания от 7 В до 12 В.

Регулятор напряжения 5 В

Когда плата подключена к внешнему источнику питания, напряжение проходит через стабилизатор MPM3610 . Выход стабилизатора соединён с пином 5V . Максимальный выходной ток составляет 1 А.

Регулятор напряжения 3,3 В

Стабилизатор MPM3810GQB-33 с выходом 3,3 вольта. Обеспечивает питание модуля WiFi ESP8266 и выведен на пин 3,3V . Максимальный выходной ток составляет 1 А.

ICSP-разъём для ATmega328P

ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega328P. С использованием библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 10(SS) , 11(MOSI) , 12(MISO) и 13(SCK) .

ICSP-разъём для ATmega16U2

ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega16U2.

В процессе изучения и проектирования всё более сложных проектов приходит время, когда возникает необходимость и желание научиться работать с таким распространенным видом связи как WiFi. Так как именно такой вид связи может позволить комфортно создать единую сеть для ваших умных домашних устройств и управлять ими, например, с мобильного телефона, планшета или компьютера, то есть другими словами создать самый настоящий умный дом, который обойдется вам в десятки раз дешевле, чем покупать готовые решения в магазине. Применение WiFi конечно не ограничивается на этом и примеров использования данного вида связи настолько много, что перечислять их нет смысла, и если Вы попали на эту страницу, значит, использование WiFi вам уже зачем-то понадобилось, осталось только разобраться, как правильно с ним работать.

Разбираться мы будем на основе самого дешевого и популярного WiFi модуля ESP8266-01 . Купить WiFi модуль ESP8266-01 можно у нас на сайте.

Один из главных плюсов такого модуля это наличие памяти и своего микроконтроллера на плате, что позволяет работать ему самостоятельно, загрузив скетч непосредственно в сам модуль.

Модификаций WiFi модуля ESP8266 на самом деле достаточно много и перечислять их здесь мы не будем, научившись работать с одним, Вы без проблем сможете начать работать и с другими. Хочется сразу отметить, что работа с WiFi может показаться довольно не простым занятием, и если в Вашем багаже мало законченных проектов, лучше пока отказаться от WiFi связи и использовать в своих проектах радиосвязь, работа с которой гораздо проще для понимания. По работе с WiFi модулями создают целые сообщества и тематические форумы, что лишний раз доказывает насколько большинству людей трудно сразу разобраться с данным видом связи, а перечитывая всю информацию, у большинства людей просто опускаются руки. Скорей всего и мне не удастся всю важную информацию вместить в рамках только одной этой статьи, да и нет в этом смысла, иначе получится очередная путаница. Я попытаюсь пойти по пути строгой последовательности самых важных моментов, чтобы Вы смогли начать понимать принцип работы данного вида связи и далее уже просто развивать самостоятельно свои навыки в этом направлении.

И так, давайте приступим и для начала разберем выводы WiFi модуля ESP8266-01 .

VCC — питание модуля от 3V до 3.6V

GND — земля.

RST — вывод Reset отвечающий за перезагрузку модуля.

CH_PD — «chip power-down» при подаче питания на него активизируется работа модуля.

TX — передача данных (UART интерфейс)

RX — прием данных (UART интерфейс)

GPIO0

GPIO2 — порт ввода/вывода общего назначения

Выводы GPIO0 и GPIO2 — это точно такие же цифровые выводы, с которыми мы работаем на платах Arduino для взаимосвязи с различными датчиками, и применяются они в случае реализации самостоятельной работы на внутреннем микроконтроллере WiFi модуля ESP8266-01.

Для надежного питания модуля ESP8266-01 используйте внешний стабилизированный источник питания на 3.3V и лучше не пытайтесь брать питание от своей платы Arduino, так как модуль потребляет ток до 215mA и это может плохо закончится для вашей отладочной платы. Где взять стабилизированный источник питания на 3.3V надеюсь для вас не проблема, в противном случае вам явно еще рано заниматься данным модулем. Мне, например, нравится использовать для быстрого сбора схем на макетных платах вот такой модуль питания 3.3V и 5.0V YWRobot , который позволяет быстро получить стабилизированное напряжение на 3.3V или 5V на соответствующих дорожках питания макетной платы.

Подключаем плюс (+) от нашего источника питания 3.3V к выводу VCC модуля ESP8266-01, а минус (-) источника питания подводим к выводу GND . В таком состоянии на модуле включится красный светодиод, сигнализирующий нам о правильном подключении питания. Для того чтобы модуль активизировался, необходимо также соединить плюс (+) источника питания с выводом CH_PD модуля ESP8266-01 и желательно это сделать сразу через резистор 10кОм. Теперь, когда мы включим питание, на модуле должен загореться красный светодиод и пару раз быстро мигнуть синий светодиод. Если у вас так все и происходит, значит все отлично, вы правильно все подсоединили и ваш модуль рабочий. В противном случае еще раз проверьте подключение, либо замените модуль, так как он скорей всего не рабочий.

Идем дальше. Для работы с WiFi модулем ESP8266 нам необходим переходник USB-UART. Переходники бывают разные, например: FT232RL , CP2102 , PL2303 . Но мы предположим, что у вас нет таких переходников, и будем в качестве переходника USB-UART использовать плату Arduino. Я буду использовать для этого плату Arduino NANO, а вы можете использовать любую другую имеющуюся в вашем распоряжении. Подключение на любой плате один в один идентично. Производим подключение согласно следующей схеме.

Давайте рассмотрим, что мы здесь сделали. Сразу обратите внимание на то, что мы замкнули перемычкой на плате Arduino выводы RST и GND . Такая манипуляция отключает микроконтроллер и позволяет сделать из нашей платы Arduino самый настоящий переходник USB-UART.

Так как WiFi модуль ESP8266-01 мы питаем от отдельного внешнего источника питания, незабываем, что мы должны всегда соединять между собой землю всех источников питания в наших проектах. Поэтому мы соединяем вывод GND платы Arduino c землей (-) нашего внешнего источника питания 3.3V, предназначенного для питания модуля ESP8266-01.

Вывод TX вашей платы Arduino соединяем с выводом TX модуля ESP8266-01. По этой линии будут передаваться данные от WiFi модуля к плате Arduino. Кто знаком с UART интерфейсом, может задуматься: «Но как же так? Везде учили, что TX должен соединяться с RX. TX передает информацию, а RX принимает». И Вы будете правы. Всё верно всегда TX соединяется с RX, но именно в случае, когда мы делаем из Arduino переходник UART, необходимо подключать устройства напрямую. Считайте это исключением из правил.

Линию RX вашей платы Arduino подключаем так же напрямую к линии RX модуля ESP8266-01. По этой линии будет передаваться информация от платы Arduino на плату WiFi модуля. Но делаем это соединение через так называемый делитель напряжения, состоящий из двух резисторов номиналами 1кОм и 2кОм. Уменьшить напряжение на этой линии с помощью двух резисторов (делителя напряжения) нам необходимо, так как плата Arduino передает логический сигнал напряжением 5V, а WiFi модуль работает с напряжением 3.3V. Для преобразования логического сигнала мы могли бы использовать специальную платку преобразователя логических уровней, что было бы конечно правильней, но опять же предположим, что у вас ее нет, и нам пришлось пойти более простым путем и сделать это с помощью делителя напряжения.

Всё необходимое для дальнейшей работы мы пока подключили, но у нас остаются не задействованные ещё 3 вывода (GPIO0 , GPIO2 и RST ) на WiFi модуле ESP8266-01 . Для стабильной работы WiFi модуля нам необходимо эти оставшиеся не задействованные выводы подтянуть к плюсовой (+) линии питания модуля через резисторы в 10кОм.

Это избавит нас от различных помех (наводок) и сделает работу модуля стабильной. Лучше это делать сразу. В противном случае не удивляйтесь, что ваш модуль постоянно перегружается, выдает не понятную информацию, либо вообще не хочет работать. Использовать подтягивающие резисторы на незадействованных выводах микроконтроллера должно быть, как правило, если хотите стабильной работы в ваших проектах.

И снова проверяем работоспособность модуля WiFi ESP8266-01. Включаем питание и смотрим, чтобы зажегся красный светодиод и пару раз мигнул синий. Если всё так происходит, значит отлично, идем дальше. В противном случае проверяем правильность соединений, а так же качество всех контактов. Может быть просто банальная ситуация, когда десять раз все перепроверили и убедились, что все правильно подключили, но включая модуль, видите, что синий светодиод ведет себя не адекватно, постоянно горит, постоянно мигает или вообще не на что не реагирует. Это может происходить из-за плохого контакта на какой-то линии. Например, собирая схему на макетной плате, какой-нибудь из резисторов неплотно сидит на своем месте и это вызывает помехи. Проверяйте качество соединений. Модуль очень чувствителен. Не пренебрегайте этим. Это частая причина не стабильной работы.

В общем, с подключением мы закончили. Сейчас нам необходимо подготовить программу Arduino IDE для работы с WiFi модулем ESP8266-01. Для этого нам надо скачать и установить в Arduino IDE необходимый архив с библиотеками, примерами и платами ESP, который впоследствии позволит нам заливать скетчи прямо в микроконтроллер модуля ESP8266-01, менять прошивку и т.д. В рамках этой статьи нам скорей всего эти настройки и не понадобятся, но мне кажется, что после того, как мы разобрались с подключением модуля, порядок действий будет правильным, если мы сразу скачаем все необходимое для работы с Arduino IDE. Тут все в принципе просто.

Запускаем программу Arduino IDE и переходим в меню «Файл» — «Настройки»

В появившемся окне в верхнем поле пишем «esp8266». В итоге в окне у нас останется только нужная прошивка. При нажатии на прошивку появится кнопка «Установка» . Нажимаем на кнопку «Установка» и ждем, пока все установится. Архив достаточно большой, около 150 мегабайт, так что придется подождать.

После окончания установки. Перезагружаем Arduino IDE и видим, как появились новые платы ESP в меню «Инструменты» — «Платы». На этом всё. С настройкой Arduino IDE мы закончили. Пока нам эти настройки не нужны, но в дальнейшей работе нам без них не обойтись.

Всё мы подключили и подготовились, теперь можем начать разбираться с управлением. На самом деле, сейчас будет продолжение проверки и настройки модуля с помощью AT команд и без этого ни как не обойтись. WiFi модули реализованы так, что всё общение с ними происходит с помощью так называемых AT команд, которые зашиты в прошивке модуля. Мы не будем здесь перечислять все AT команды, их достаточно много и если захотите все тщательно изучить, можете без труда их найти в интернете. А мы будем использовать сейчас только самые необходимые для начала работы.

И так, подключаем нашу плату Arduino через USB кабель к компьютеру. А внешний источник питания, который питает WiFi модуль ESP8266-01 пока включать не надо. Запускаем программу Arduino IDE, выбираем в меню «Инструменты» нашу плату Arduino, в моем случае это Arduino NANO, а вы выбираете свою. Так же не забываем выбрать порт к которому подключена наша Ардуинка. Надеюсь все это вы понимаете и делать умеете.

Открываем мониторинг порта «Инструменты» — «Монитор порта» . Выбираем скорость порта 74880 (на такой скорости происходит запуск модуля) и слева в списке выбираем «NL & CR»

Вот теперь подключаем внешний источник питания который питает наш WiFi модуль. После чего вы должны увидеть в мониторе порта примерно такую информацию.

Здесь мы видим некоторую информацию по нашему WiFi модулю (скорость, количество памяти на борту и т.д.). Полученная информация может отличаться в зависимости от версии прошивки WiFi модуля. Не будем на этом заострять внимание. Важно другое. Внизу мы видим набор бессмысленных символов, это означает, что скорость порта (74880 бод), которую мы выставили, подходит только для начальной загрузки модуля, чтобы увидеть нормально эту информацию, но эта скорость не подходит для нормального общения с WiFi модулем.

Чтобы подобрать правильную скорость порта, будем просто изменять скорость порта и посылать в порт (поле сверху и кнопка отправить) символы AT пока не получим ответ ОК . Если Вы попробуете прямо сейчас послать символы AT в порт на скорости 74880, то будете получать очередные один-два бессмысленных символа в ответ.

Попробуйте сразу выставить скорость 115200 бод и послать команду AT. Чаще всего модули прошиты на эту скорость.

Вот такую картину вы должны увидеть в вашем мониторе порта. Если все равно в ответ пришел непонятный набор символов, понижайте скорость и повторяйте отправку AT команды, пока в ответ не вернется ОК . Если вы перепробовали все скорости и не добились правильного ответа, значит вам не повезло и модуль прошит прошивкой с нестандартной скоростью. Тогда остается только перепрошить модуль нормальной прошивкой, но это тема отдельной статьи.

Надеюсь, что все хорошо и скорость правильную вы подобрали. Кстати если вы попробуете выключить и снова включить WiFi модуль, после того как подобрали правильную скорость, то уже вместо той самой первоначальной информации, которая корректно отображалась на скорости 74880 бод, вы наоборот, увидите беспорядочный набор символов, но в конце вы увидите слово «ready». Но у нас есть возможность посмотреть эту первоначальную информацию в нормальном виде на правильной скорости, для этого необходимо программно перезагрузить модуль с помощью AT-команды AT+RST .

Чтобы узнать версию прошивки вашего WiFi модуля ESP8266-01, необходимо в монитор порта отправить команду AT+GMR и в ответ вы получите примерно следующую информацию:

WiFi модуль ESP8266-01 может работать как в режиме точки доступа, так и в режиме клиента. Чтобы разрешить модулю работать сразу во всех режимах, отправьте в монитор порта команду AT+CWMODE=3 и в ответ вы должны получить ОК .

Команда AT+CWLAP позволит посмотреть все WiFi точки доступа, которые видит в данный момент ваш модуль. Мой модуль, например, видит на данный момент в зоне своего покрытия всего три WiFi точки доступа. Ответ должен быть примерно таким:

Например, мы знаем пароль к третьей точке доступа и чтобы подключиться к ней выполняем команду AT+CWJAP=»имя»,»пароль» , в моем случае эта команда выглядит AT+CWJAP=»dsl_unlim_512_home»,»11111111″ , на что получаем успешный ответ:

Параметры команды записываются на флеш память WiFi модуля ESP8266-01, и если мы выключим модуль и опять его включим, он автоматически подключится к этой точке доступа. Смотрите случайно в команде не допустите пробел, иначе получите в ответ ERROR . Необходимо обратить внимание, что в последних версиях прошивки рекомендуют использовать команду AT+CWJAP_CUR , то есть команда будет выглядеть AT+CWJAP_CUR=»имя»,»пароль». Если вдруг мы забыли, к какой точке доступа подключен наш модуль, необходимо послать команду AT+CWJAP? или AT+CWJAP_CUR? и в ответ получим ту точку доступа, к которой подключен WiFi модуль на данный момент.

С подключением и первоначальной настройкой WiFi модуля ESP8266-01 мы разобрались. Модуль работает и готов для реализации ваших дальнейших проектов. Разобрать все возможные примеры работы с данным модулем в рамках одной статьи просто не возможно и мы этим займемся в следующих статьях. А для тех, кто не очень дружит с программированием, но очень хочет побыстрей начать управлять своими проектами с помощью WiFi, рекомендую познакомить с конструктором WiFi проектов RemoteXY . Этот сайт поможет вам без особого труда создать интерфейс управления для вашего мобильника или планшета и с помощью него управлять своим устройством, к которому вы подключите WiFi модуль.

Решил изучить Ардуино. Построить «умный» дом. С чего-то надо начинать.
На базе WI-FI модуля ESP8266 можно получить беспроводной датчик температуры, влажности, давления, освещенности… Надо всего лишь обновить прошивку модуля и подключить датчики. Дополнительные микроконтроллеры не требуются.
Около двух лет назад на китайском рынке появились дешёвые WI-FI модули ESP8266 китайского разработчика. Это не просто WI-FI модуль, а полноценный 32 битный микроконтроллер со своим набором GPIO, в том числе SPI, UART, I2C.

Технические характеристики:
Процессор: одноядерный Tensilica L106 частотой до 160 MHz.
Поддерживаемые стандарты WI-FI: 802.11 b / g / n.
Поддерживаемы типы шифрования: WEP, WPA, WPA2.
Поддерживаемые режимы работы: Клиент(STA), Точка доступа(AP), Клиент+Точка доступа(STA+AP).
Напряжение питания 1.7..3.6 В.
Потребляемый ток: до 215мА в зависимости от режима работы.
Количество GPIO: 16 (фактически до 11). Доступно на модулях: ESP-01 — 4, ESP-03 — 7+1, включая UART. Существуют и другие варианты модулей.
Интерфейсы: 1 ADC, I2C. UART, SPI, PWM.
Внешняя Flash память может быть установлена от 512кБ до 4МБ.
RAM данных 80 кБ, RAM инструкций — 64 кБ.
Смотрим, в каком виде прислали.


Заказал сразу три модуля. Одного для «умного» дома будет маловато.

Эти модули необычные. Имеют возможность подключения внешней антенны.


Техническая информация на странице магазина отсутствует полностью.
Поэтому ориентируемся на то, что расположено на плате и на то, что нарыл.
Схема модуля состоит из минимального количества деталей: самого чипа ESP8266,


flash памяти 25Q41BT (4M-bit Serial Flash, 512K-byte, 256 bytes per programmable page)

и кварца на 26МГц.

Памяти для серьёзных проектов маловато. Способ увеличения несложный. Достаточно перепаять МС памяти на более ёмкую. Обзор на Муське не так давно был:

Для простых проектов той, что стоит, вполне достаточно.
Для проектирования своих задач решено было использовать макетницу. Но возникла проблемка.


Выводы для программирования модуля явно были «лишними». Пришлось немного переделать.

Левые снимки – оригинал, справа после переделки. Никого не заставляю так делать. Просто это моё решение, мне так удобнее.
Теперь ничто не мешает, и программировать удобно.


Как писал ранее, эти модули могут работать как с внутренней (на печатке) антенной, так и с внешней. Изначально модуль «настроен» на работу с внешней антенной. Для перенастройки придётся перепаять перемычку-сопротивление.


Я решил проверить, насколько разнится коэффициент усиления внутренней и внешней антенны. Именно для этого на одном модуле перепаял перемычку.
Но возникла ещё одна сложность: два модуля из трёх пришли пустыми (не прошитые).
Заодно потренировался.
Пригодился кабель-конвертер (USB To RS232 TTL UART) из одного моего обзора про ВольтАмперВаттметр с функцией счётчика PZEM-004.


Обычный кабель-конвертер.

У меня есть более дешёвый вариант. Но этот более удобен (для меня).
Устанавливаю модуль на макетку и вгоняю в него скетч-пример для ESP8266 при помощи Arduino IDE. Есть нюансы. Смотрим схему подключения.

Модуль запитал от внешнего источника. В моём случае узел питания был в комплекте с макеткой.
При загрузке скетча GPIO 00 сажаем на Gnd. Для запуска скетча (после прошивки) GPIO 00 подключаем на +3.3V.
Подключил, всё работает. Осталось проверить, у какой антенны коэффициент усиления выше.
Установил на макетку три модуля.
— ESP-201 с внутренней антенной.
— ESP-201 с «хвостиком» для внешней антенны (шёл в комплекте).
— И у же стандартный модуль на основе ESP8266, купленный по этой ссылке с год назад:

Для питания использовал PowerBank. Для чистоты эксперимента пришлось выйти почти в поле. Тем не менее, один несанкционированный роутер всё же поймался:) Название на графике удалил. Мешаться не будет.
Оценивать силу сигнала буду при помощи программы Acrylic Wi-Fi. Программ существует множество, в том числе и для смартфонов. Но эта может отслеживать все изменения в динамике.
В непосредственной близости от модулей.


Wifi_int_ant — ESP-201 с внутренней антенной.
Wifi_ext_ant — ESP-201 с «хвостиком» для внешней антенны.
WeatStat — ESP8266,
Отошёл на 10 метров.


Отошёл ещё на 10 метров.


Ещё.


И ещё.


Погрешности измерения естественно присутствуют. Но общая картина ясна.
Пора объявлять победителей.
1 место: ESP-201 с внутренней антенной.
2 место: стандартный модуль на основе ESP8266.
3 место: ESP-201 с «хвостиком» для внешней антенны.
Подпаялся к банке из-под сгущённого молока.


Картина реально изменилась.


Дело было не бабине… 🙂
С выносной антенной сигнал намного сильнее. Даже если в качестве антенны обычная консервная банка.
Вот, в общем-то, и всё. Для правильного вывода того, что написал, должно хватить. Кому что-то неясно, задавайте вопросы. Возможно, какие-то моменты упустил.
Надеюсь, хоть кому-то помог.
Удачи!
Продолжение следует…

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Планирую купить +33 Добавить в избранное Обзор понравился +29 +58

Всё больше набирает популярности, и уже Arduino подхватывает инициативу — добавляя эти Wi-Fi модули в список поддерживаемых плат.
Но как же его подключить к ардуино? И возможно как-то обойтись вообще без ардуино? Сегодня именно об этом и пойдёт речь в этой статье.

Забегая наперёд, скажу, что будет вторая статья, уже более практическая, по теме прошивки и программирования модуля ESP8266 в среде разработки Arduino IDE . Но, обо всём по порядку.

Этот видеоролик, полностью дублирует материал, представленный в статье.

На данный момент, существует много разновидностей этого модуля, вот некоторые из них:

А вот распиновка ESP01, ESP03, ESP12:


* Данную картинку можно посмотреть в хорошем качестве на офф. сайте pighixxx.com .

Лично мне, больше всего нравится версия ESP07. Как минимум за то, что тут есть металлический экран (он защищает микросхемы от внешних наводок, тем самым обеспечивает более стабильную работу), своя керамическая антенна, разъём для внешней антенны. Получается, подключив к нему внешнюю антенну, например типа биквадрат , то можно добиться неплохой дальности. К тому же, тут есть немало портов ввода вывода, так называемых GPIO(General Purpose Input Output — порты ввода-вывода общего назначения), по аналогии с ардуино — пинов.

Давайте вернёмся к нашим баранам Wi-Fi модулям и Arduino. В этой статье, я буду рассматривать подключение ESP8266(модели ESP01) к Arduino Nano V3.

Но, данная информация будет актуальна для большинства модулей ESP8266 и так же разных Arduino плат, например самой популярной Arduino UNO.

Пару слов по ножкам ESP01:

Vcc и GND (на картинке выше это 8 и 1) — питание, на ножку Vcc можно подавать, судя по документации , от 3 до 3.6 В , а GND — земля (минус питания). Я видел, как один человек подключал этот модуль к двум AA аккумуляторам (напряжение питания в этом случае было примерно 2.7 В) и модуль был работоспособным. Но всё же разработчики указали диапазон напряжений, в котором модуль должен гарантированно работать, если вы используете другой — ваши проблемы.

Внимание! Этот модуль основан на 3.3 В логике, а Arduino в основном — 5 В логика. 5 В запросто могут вывести из строя ESP8266, потому на него нужно отдельно от ардуино подавать питание .

— На моей ардуинке есть ножка, где написано 3.3 В, почему бы не использовать её?

Наверное подумаете вы. Дело в том, что ESP8266 довольно таки прожорливый модуль, и в пиках может потреблять токи до 200 мА, и почти никакая ардуинка по умолчанию не способна выдать такой ток, разве что исключением является Arduino Due , у которой ток по линии 3.3 В может достигать 800 мА, чего с запасом хватит, в других же случаях советую использовать дополнительный стабилизатор на 3.3 В, например AMS1117 3.3 В . Таких валом как в Китае, так и у нас.

Ножка RST 6 — предназначена «железной» для перезагрузки модуля, кратковременно подав на неё низкий логический уровень, модуль перезагрузиться. Хоть и на видео я этим пренебрёг, но всё же вам советую «прижимать» данную ногу резистором на 10 кОм к плюсу питания , дабы добиться лучшей стабильности в работе модуля, а то у меня перезагружался от малейших наводок.

Ножка CP_PD 4(или по-другому EN ) — служит, опять же, для «железного» перевода модуля в энергосберегающий режим, в котором он потребляет очень маленький ток. Ну и снова — не будет лишним «прижать» эту ногу резистором на 10 кОм к плюсу питалова. На видео я тупо закоротил эту ногу на Vcc, потому как под рукой не оказалось такого резистора.

Ноги RXD0 7 TXD0 2 — аппаратный UART, который используется для перепрошивки, но ведь никто не запрещает использовать эти порты как GPIO(GPIO3 и GPIO1 соотвественно). GPIO3 на картинке почему-то не размечен, но в даташите он есть:

К стати, к ножке TXD0 2 подключен светодиод «Connect», и горит он при низком логическом уровне на GPIO1, ну или когда модуль отправляет что-то по UART.

GPIO0 5 — может быть не только портом ввода/вывода, но и переводить модуль в режим программирования. Делается это подключив этот порт к низкому логическому уровню(«прижав» к GND) и подав питание на модуль. На видео я делаю это обычной кнопкой. После перепрошивки — не забудьте вытащить перемычку/отжать кнопку(кнопку во время перепрошивки держать не обязательно, модуль при включении переходит в режим программирования, и остаётся в нём до перезагрузки).

GPIO2 3 — порт ввода/вывода.

И ещё один немаловажный момент, каждый GPIO Wi-Fi модуля может безопасно выдавать ток до 6 мА , чтобы его не спалить, обязательно ставьте резисторы последовательно портам ввода/вывода на… Вспоминаем закон Ома R = U/I = 3.3В / 0.006 А = 550 Ом, то есть, на 560 Ом . Или же пренебрегайте этим, и потом удивляйтесь почему оно не работает.

В ESP01 все GPIO поддерживают ШИМ, так что к нашим четырём GPIO, то есть GPIO0-3 можно подключить драйвер двигателя, аля L293 / L298 и рулить двумя двигателями, например катера, или же сделать RGB Wi-Fi приблуду. Да, да, данный модуль имеет на борту много чего, и для простеньких проектов скрипач Arduino не нужен, только для перепрошивки. А если использовать ESP07 то там вообще портов почти как у Uno, что даёт возможность уже уверенно обходиться без ардуино. Правда есть один неприятный момент, аналоговых портов у ESP01 вообще нет, а у ESP07 только один, ADC зовётся. Это конечно усугубляет работу с аналоговыми датчиками. В таком случае ардуино аналоговый мультиплексор в помощь.

Всё вроде как по распиновке пояснил, и вот схема подключения ESP8266 к Arduino Nano:

Видите на Arduino Nano перемычка на ножках RST и GND? Это нужно для того, чтобы ардуинка не мешала прошивке модуля, в случае подключения ESP8266 при помощи Arduino — обязательное условие.

Так же если подключаете к Arduino — RX модуля должен идти к RX ардуинки, TX — TX. Это потому, что микросхема преобразователь уже подключена к ножкам ардуино в перекрестном порядке.

Так же немаловажен резистивный делитель, состоящий из резисторов на 1 кОм и 2 кОм (можно сделать из двух резисторов на 1 кОм последовательно соединив их) по линии RX модуля. Потому как ардуино это 5 В логика а модуль 3.3. Получается примитивный преобразователь уровней. Он обязательно должен быть, потому что ноги RXD TXD модуля не толерантные к 5 В.

Ну и можно вообще обойтись без ардуино, подключив ESP8266 через обычный USB-UART преобразователь. В случае подключения к ардуино, мы, по сути, используем штатный конвертер интерфейсов usb и uart, минуя мозги. Так зачем тратиться лишний раз, если можно обойтись и без ардуино вообще? Только в этом случае, мы подключаем RXD модуля к TXD конвертора, TXD — RXD.

Если вам лениво заморачиваться с подключением, возится с резисторами и стабилизаторами — есть готовые решения NodeMcu:

Тут всё значительно проще, воткнул кабель в компьютер, установил драйвера и программируй, только не забывай задействовать перемычку/кнопку на GPIO0 для перевода модуля в режим прошивки.

Ну вот, с теорией наверное всё, статья получилась пожалуй довольно таки большая, и практическую часть, аля прошивка и программирование модуля, я опубликую немного позже.

Arduino, ESP 8266, ESP32, Raspberry Pi, Orange Pi и других

Главная » Uncategorized » Подключение компьютера к микроконтроллерам: Arduino, ESP 8266, ESP32, Raspberry Pi, Orange Pi и других 22 05 2021      Петр       Пока нет комментариев

Подключение компьютера к микроконтроллерам конкретно, мы осветим в других статьях (ESP 8266;), здесь же отметим некоторые тонкости и ошибки при подключении конкретных компьютеров (с  ОС MS Windows 7/10 и Linux (Debian/Ubuntu)) к конкретным микроконтроллерам: Arduino, ESP 8266, ESP32, Raspberry Pi, Orange Pi и других.

  • абракадабра
  • бнопня
  • зюки
  • мусор
  • иероглифы

Кракозябры чаще всего появляются от не соответствия выставленной Вами скорости приема/передачи в  программах, устанавливаемых на Вашем компьютере для соединения с микроконтроллерами (Arduino IDE, PUTTY и т. д.), со скоростью заданной изготовителем в программе (прошивке) для UART микроконтроллера.

 

Пример №1. Ввод через USB-UART преобразователь в программу Arduino IDE в монитор последовательного порта Вашего компьютера сообщения прошивки ESP8266 при скорости приема/передачи 115200 бод (сообщения заводской прошивки ESP8266, где обычно для UART  запрограммированы две скорости: 74880 бод — сообщения начального загрузчика и 115200 бод — сообщения от Ваших программ).

 

Пример №2. Ввод через USB-UART преобразователь в программу Arduino IDE в монитор последовательного порта Вашего компьютера сообщения прошивки ESP8266 при скорости приема/передачи 74880 бод установленной в мониторе последовательного порта программы Arduino IDE.

Если прошивка  ESP8266 не стартует, то на скорости 74880 бод в мониторе  последовательного порта программы Arduino IDE отобразиться читабельный стек ошибок, по которому возможно удастся определить причину сбоя запуска ESP8266.

Также Кракозябры появляются в следующем случае. При передачи двоичной кодировки иногда производят трансляцию (перевод) из одной кодировки в другую при этом отсутствующие символы в преобразуемой (целевой) кодировке могут просто выбрасываться, заменяться на символ-заменитель (часто знак вопроса — ?, иногда �) или же заменяться на похожие символы из ASCII (например, знак минуса (U+2212, −) может заменяться на простой дефис (U+002D, -), буква š может заменяться на s и т. д
Подробнее: Кракозябры

Продолжение следует!

Поделитесь записью

Подключение Esp8266 | Ардуино | Поддерживаемые устройства | Поддержка

Подключение плат Esp8266 к комплексу DispSky



Для подключения плат Esp8266 к комплексу DispSky необходимо:
Для платы Esp8266:

Скачайте пример скетча и откройте его при помощи среды разработки Arduino IDE:


  1. Укажите имя своей WiFi сети
  2. Укажите пароль своей WiFi сети
  3. Укажите адрес сервера DispSky «s1.dispsky.ru»
  4. Укажите порт сервера DispSky «5010»
  5. Придумайте свой уникальный код состоящий из 12-ти любых ASCII символов
Сформируйте прошивку и поместите её в микроконтроллер.
В личном кабинете DispSky:

Добавьте узел  (Для этого нажмите правой кнопкой мыши на свободной области поля «устройства»)::

В открывшемся окне введите параметры подключения:


  1. Введите название узла.
  2. Выберите режим настройки – HF2211.
  3. Введите 12-значный код, который вы указали в скетче для Esp8266.
После выбора всех параметров для сохранения настроек нажмите «Сохранить».

Добавьте Устройство:

В открывшемся окне введите параметры устройства:


  1. Введите название устройства.
  2. Выберите протокол Modbus TCP.
  3. Придумайте и введите идентификатор для устройства.
После выбора всех параметров для сохранения настроек нажимаем «Сохранить».

В дереве устройств появится добавленное устройство. Галка зеленного цвета означает корректно выполненные настройки и наличие устройства на связи с комплексом DispSky.

Далее переходим на просмотр регистров доступных на плате Esp8266 нажатием на кнопку «Теги»:

Для добавления тегов нажмите кнопку добавить и введите параметры регистров.

В примере скетча доступны регистры типов Coils и Discrete Inputs по адресам 1 – 200, а также Holding Registers и Input Registers по адресам 1 – 130, вы можете уменьшить или увеличить их количество, в зависимости от потребности и наличия свободной памяти. Обратите внимание что адреса регистров в массивах скетча и в личном кабинете DispSky отличаются на + 1.

Проконтролировать передачу данных возможно в настройках соединения путем выбора вкладки «Диагностика»:


В связи с особенностями работы Esp8266 при использовании некоторых типов WiFi роутеров, возможны кратковременные прерывания опроса. В таких случаях, отключите в настройках роутера автоматический выбор канала WiFi вещания и установите один из постоянных.

Для удобного и наглядного контроля за параметрами программы Вы можете сделать мнемосхему и видеть все показатели в ОнЛайн режиме в личном кабинете из любой точки в мире.


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

Рассмотрим модуль esp8266, как его подключить и как управлять яркостью светодиода при помощи слайдера, ползунка. Применять будем nodemcu esp8266. Подключим библиотеки и настроим сервер на esp. Это один из примеров esp8266.  На моём канале много esp8266 проектов.

Сегодня я расскажу как можно просто управлять разными устройствами из интерфейса web Servera.
Это будет серия видео. Начнём с самого простого, управления светодиодом. Как включать и выключать светодиод есть много видео, в том числе и на моём канале. Я же покажу как изменять яркость свечения с помощью слайдера. Это вот такой обычный ползунок. В одном из следующих видео я расскажу как слайдером управлять сервомотором. Да и ещё много чем можно управлять.

Для сегодняшнего видео надо будет установить две библиотеки

  •  ESPAsyncWebServer
  •  ESPAsyncTCP


Эти библиотеки нужны для асинхронного управления.
Архивы с этими библиотеками можно скачать с гитхаба или с моего сайта. Архив ниже.

Работа слайдера проста. При перемещении слайдера его значение сохраняется в переменную, которую можно передать на сервер. По сути это простой GET запрос про который я уже неоднократно говорил.
Он имеет вид /slider?value=0 или 1023.
Поэтому так просто на другом конце подключить любое устройство. Управление будет по ШИМ(PWM). Широтноимпульсной модуляции.
Сервер мы поднимем тоже на ESP.

Для начала работы давайте подключим обычный светодиод, можно применить и встроенный. Чтобы быть уверенным, что он работает. Загрузим любой пример BLINK. Его можно взять из примеров, а можно использовать мой, из архива.
Я подключил светодиод к выводу D4 платы ESP. Также я создал переменную LED, чтобы было проще.
В скетче говорится, то светодиод будет 2 секунды гореть, затем на секунду погаснет, и снова загорится.
Если у вас всё работает то переходим ко второму этапу.

Запустим второй скетч. Здесь довольно много кода, но сегодня мы его не будем изучать.
Единственное, что нам будет нужно, так это вписать имя WIFI сети и пароль для доступа.
Если вы подключили светодиод к другому контакту, то необходимо это указать.
Здесь можно вывести свою надпись которая будет на web странице.

  • Здесь указано минимальное и максимально значение которое будет передаваться на сервер.
  • А это сам GET запрос который передаёт всего одно значение.
  • Скорость обмена с серийным портом 115200.

Теперь можно переходить к установке библиотек.
Эти библиотеки недоступны для установки через Диспетчер библиотек Arduino, поэтому вам нужно установить их самостоятельно.
Для этого заходим в меню Скетч и выбираем Подключить библиотеку. Нажимаем добавить zip библиотеку. Заходим в папку с архивами и по очереди добавляем обе библиотеки.
После установки можно не перезагружать ARDUINO IDE.
Теперь указываем имя своей WIFI сети и пароль.
Здесь указан вывод к которому подключен светодиод.
Это указывает, что слайдер при загрузке страницы будет установлен в ноль.

Теперь прошиваем скетч.
Заходим в монитор порта и смотрим IP адрес который был присвоен вашему устройству.
У меня это 192.168.1.162 Копируем его и вставляем в адресную строку браузера.
Это также хорошо работает и на телефоне.

Видим что web server запустился, и у него всего ползунок и наверху значение переменной. Оно может меняться от 0 до 1023, но можно было бы в коде изменить от 0 до 100 используя функцию map.
Мне лень было паять светодиод, поэтому я взял готовый RGB светодиод и подключил один цвет.
Теперь посмотрим как это работает.
Может быть небольшой рассинхрон между слайдером и светодиодом. Это из-за того что я не очень хорошо совместил два видео. А так, пересылка значений происходила практически мгновенно, ну кроме одного раза. Что-то там затупило. На видео плохо видно когда светодиод меняет свою яркость при большом свечении. Но в жизни всё хорошо видно.
Как я уже говорил, в одном из следующих видео я покажу как управлять ползунком для изменения угла сервопривода. Так же можно сделать управление лампой освещения. Диапазон применения огромен.

Вот опять закончилось видео. У меня ещё много примеров и задумок, хватило бы времени их выполнить. Ну, а если вам нравятся мои уроки, то ставьте лайк и делитесь моими видео с другими.
До встречи в новых видео.
Пока.

ESP8266 — Учебник для начинающих + Project

Что такое ESP8266 и как он работает?

ESP8266 — это недорогой модуль Wi-Fi, принадлежащий к семейству ESP, который вы можете использовать для управления своими проектами в области электроники в любой точке мира. Он имеет встроенный микроконтроллер и флэш-память объемом 1 МБ, позволяющую подключаться к Wi-Fi. Стек протоколов TCP / IP позволяет модулю обмениваться данными с сигналами WiFi. Максимальное рабочее напряжение модуля составляет 3,3 В, поэтому вы не можете подавать 5 В, так как это сожжет модуль.

Давайте рассмотрим пример управления светодиодной лампой с помощью ESP8266 со смартфона. ESP8266 действует как переводчик между светодиодом и смартфоном. Поскольку мы используем приложение Blynk для управления светодиодом, дальнейшие объяснения будут основаны на нем.

Посмотрите на это изображение, ESP8266 подключен к ближайшей точке доступа Wi-Fi, которая позволяет ему получить доступ к Интернету и отправляет данные на сервер Blynk вместе с кодом аутентификации. Затем код аутентификации отправляется в приложение с таким же кодом аутентификации, а затем приложение получает данные для создания безопасного соединения между приложением и ESP8266.

Данные (инструкции по управлению светодиодом) из приложения Blynk отправляются на сервер Blynk вместе с кодом аутентификации, и поскольку ESP8266 уже имеет тот же код аутентификации, который связан с сервером Blynk, сервер идентифицирует соответствующий код и данные отправляются на соответствующий ESP8266. Затем микроконтроллер ESP8266 включает светодиод.

ESP8266: Распиновка

pin 1 _____ Rx — подключите его к Rx Arduino

pin 2_____GPIO 0 — подключите его к земле при загрузке кода в Arduino IDE

pin 3_____GPIO 2,

pin 4_____ GND — подключите он заземлен

контакт 5 _____ Tx — подключите его к Tx Arduino

контакт 6 _____ CH_PD (EN) — подключите его к 3.3v

контакт 7 _____ RST (сброс) — (необязательно) подключите его к 3,3 В для нормальной работы

и 0 В (GND) для сброса

контакт 8 ____ Vcc — питание 3,3 В от Arduino или от внешнего источника

Схема и подключение

Arduino UNO используется в этом проекте. Перед запуском проекта снимите микроконтроллер ATmega328P с платы.

ПРИМЕЧАНИЕ: — Удалите соединение GPIO 0 с GND, когда синий светодиод в ESP8266 перестанет мигать (после загрузки кода).

Теперь подключите его согласно принципиальной схеме.

Blnyk: установка и настройка

Зайдите в игровой магазин и найдите приложение Blynk.

Загрузите приложение и откройте его.

Теперь нажмите «Новый проект».

Затем введите имя проекта и выберите устройство как «ESP8266».

Теперь сохраните его, нажав кнопку «Создать».

В настройках добавьте кнопку в пустую область, чтобы можно было управлять светодиодом, нажимая на нее.

Щелкните символ «болт» вверху.

Затем прокрутите вниз, пока не увидите заголовок «маркер аутентификации.«

Auth token — это код аутентификации, о котором я говорил ранее. Он предназначен для создания безопасного соединения из приложения Blynk с ESP8266 с помощью веб-сервера, а также для идентификации устройства во время его передачи.

Теперь выберите любой методы под токенами аутентификации для сохранения кода аутентификации.Код аутентификации должен быть введен в программный код позже.

Настройка Arduino IDE для программирования ESP8266

Перед программированием ESP8266 в Arduino IDE вам необходимо изменить диспетчер платы на ESP8266.

Если вы раньше не делали никаких проектов на ESP8266, вам необходимо выполнить следующие действия на веб-сайте (ссылка приведена ниже), чтобы установить менеджер плат ESP8266 в Arduino IDE.

Installing ESP8266 Board in Arduino IDE (Windows, Mac OS X, Linux)

Если вы завершили установку менеджера платы или уже установили его, выберите тип менеджера платы как « Generic ESP8266». Модуль «.

Чтобы связать ESP8266 с приложением Blynk, вам необходимо добавить библиотеку Blynk в папку Arduino IDE.Для этого вам необходимо загрузить файл библиотеки по ссылке ниже:

https://github.com/blynkkk/blynk-library/releases

После загрузки извлеките файл и скопируйте папки. Затем откройте папку Arduino и щелкните папку библиотеки . Щелкните правой кнопкой мыши и нажмите вставить кнопку . Вы успешно установили библиотеки Blynk.

Теперь скопируйте приведенный ниже код и загрузите его на доску.

Научитесь управлять внешним светодиодом через esp8266 (ссылка ниже)

https: // www.hackster.io/Niv_the_anonymous/esp8266-control-an-external-led-over-internet-7a5986

Как подключить ESP8266 к Arduino UNO — блог Тео

В Интернете есть много руководств о том, как подключить ESP8266 к Arduino uno, но слишком много путаницы и недостаточно объяснений. Итак, я дам вам краткую версию вместе с деталями.

Подключение ESP8266 к Arduino

Шаги, которые вам нужно предпринять, просты. Это написано для ESP8266-01, но вы можете легко найти распиновку для других моделей и использовать те же контакты.Сначала мы подключим Arduino UNO к макетной плате:

  1. Подключите выход Arduino 3v3 (3,3 В) к красной линии на макетной плате. ESP8266 работает с напряжением 3,3 В, а не 5 В, поэтому это необходимо. Если вы хотите подключить другие компоненты, которые используют 5 В, вы можете подключить выход 5 В к другой красной линии макета, только убедитесь, что вы не подключаете их.
  2. Подключите GND (земля) к синей линии.
  3. Подключите контакт RES или RESET к синей линии.Когда вы заземляете контакт сброса, Arduino работает как тупой USB-последовательный разъем, о чем мы и хотим поговорить с ESP8266.
  4. Подключите контакт RXD Arduino к контакту RX ESP8266 (желтый цвет на картинке).
  5. Подключите контакт TXD Arduino к контакту TX ESP (зеленый цвет на рисунке). Обычно, когда мы хотим, чтобы два объекта взаимодействовали друг с другом по последовательному каналу, мы подключаем вывод TX одного к RX другого (отправка идет на прием и наоборот).Здесь у нас нет связи Arduino с ESP8266, наш компьютер обращается к нему через Arduino.
  6. Подключите вывод GND ESP к синей линии, а вывод VCC — к красной линии.
  7. Наконец CH_PD переходит на красную линию, якобы не будет работать, если вы не подключите это. Согласно обсуждению я нашел:

ESP-01 и ESP-03 изначально предназначались для использования в качестве модуля Arduino WiFi.В этом аспекте имеет смысл отключить CH_PD, чтобы пользователь мог отключить устройство, когда оно не используется (для экономии энергии).

Использование Arduino IDE

В среде Arduino IDE вам не нужно выбирать плату, так как мы ничего не загружаем в ESP8266. Просто выберите правильный порт в меню Tools и перейдите в Tools Serial Monitor . Затем просто установите скорость передачи данных 115200 (она используется в прошивке ESP8266 по умолчанию), а окончание строки — И NL, и CR .

Если вы наберете AT в поле сообщения и нажмете Enter, он должен ответить OK .

И поскольку мы говорили о выводе CH_PD, помните, что если вы хотите прошить ESP8266, вы должны подключить вывод GPIO0 к GND (синяя линия), что переводит ESP в режим прошивки.

Вот и все! Если у вас есть вопросы, задавайте их ниже, и я постараюсь ответить!

Связанные

Подключите ESP8266 к оборудованию Arduino — MATLAB и Simulink

Подключите ESP8266 к оборудованию Arduino

ESP8266 — это недорогой чип, который может добавить к микроконтроллеру возможность Wi-Fi ® .Многие модели микросхем на базе ESP8266, например доступны как ESP-01 и ESP-12. Модели различаются количеством контактов GPIO. подверженности воздействию, объему флэш-памяти и другим различным факторам. Однако основные Функциональность Wi-Fi во всех вариантах одинакова.

ESP8266 связывается с Arduino ® через последовательное соединение. Arduino отправляет AT-команды на чип. Чип получает команду, обрабатывает он и отправляет ответ.

Подключите ESP8266 к плате Arduino, как показано на этой принципиальной схеме. Чип, используемый в схеме диаграмма ESP-12, но вы можете использовать те же контакты с другими моделями ESP8266.

Источник питания к ESP8266

В таблице показаны соединения контактов между источником питания и ESP8266.

Источник питания ESP8266
3,3 В Vcc
3.3 В CH_PD
Gnd Gnd

Внимание

Микросхему ESP8266 требуется всего 3,3 В для связи. На чипе нет 5 V толерантные входы. Если микросхема подключена к устройствам с напряжением 5 В, микросхема может получить поврежден.

Аппаратные соединения Arduino с ESP8266

В таблице показаны соединения контактов между платой Arduino и ESP8266.

Подключите контакт TX ESP8266 к контакту RX на плате Arduino и подключите контакт RX ESP8266 к контакту TX на плате Arduino. Плата Arduino.Для получения дополнительной информации о последовательных портах на разных Платы Arduino см. В разделе Отображение контактов для блоков, независимых от таймера Arduino.

После подключения желаемого последовательного порта перейдите к параметрам конфигурации > Аппаратная реализация > Настройки аппаратной платы > Целевые аппаратные ресурсы > Свойства Wi-Fi и установите параметры, как описано в разделе Настройка сетевых параметров для Вай фай.

См. Также

Настройка параметров сети для WiFi

Начало работы с ESP8266 и Arduino: ESP8266 Интерфейс Arduino

Если вы занимаетесь IoT (Интернетом вещей), возможно, вы слышали о модуле ESP8266 WiFi.Если нет, не волнуйтесь. Это руководство посвящено началу работы с WiFi-модулем Esp8266 и тому, как пару ESP8266 Arduino можно использовать в ваших проектах IoT.

Итак, прежде чем вдаваться в подробности того, как взаимодействовать с парой ESP8266 Arduino, давайте сначала начнем с WiFi-модуля ESP8266.

Взгляните на эти ПРОЕКТЫ ИНТЕРНЕТ ВЕЩЕЙ (IOT) .

Что такое ESP8266?

ESP8266 (технически ESP8266EX) — это WiFi-модуль на базе 32-битного микроконтроллера Cadence Tensilica L106 производства Espressif Systems.SoC ESP8266 содержит полнофункциональный стек WiFi и стек TCP / IP, который позволяет любому микроконтроллеру подключаться к сети WiFi.

С помощью комплектов для разработки программного обеспечения (SDK) вы можете напрямую программировать микроконтроллер ESP8266 на кристалле, без необходимости использования внешнего микроконтроллера.

На базе ESP8266 SoC несколько сторонних производителей начали производство специализированных плат, и одним из таких производителей является Ai-Thinker. Первой платой, выпущенной Ai-Thinker, является ESP-01 (та же плата, что использовалась в этом проекте), и она стала довольно популярной.

Основываясь на успехе модуля ESP-01, компания Ai-Thinker выпустила несколько других модулей, таких как ESP-02, ESP-07, ESP-12 и т. Д. Все эти платы основаны на ESP8266 SoC, но главное отличие — количество контактов GPIO.

Существуют и другие модули, такие как ESP-WROOM от Espressif Systems, NodeMCU, WeMOS, SparkFun ESP8266 и т. Д.

ESP8266 ESP-01

В этом проекте мы будем использовать модуль ESP-01 от Ai-Thinker. Он состоит из 8 контактов, а на следующем изображении показаны различные компоненты платы.

Переходя к конфигурации контактов, как упоминалось выше, модуль ESP-01 состоит из 8 контактов, и это контакты VCC, GND, TX, RX, RST, CH_PD, GPIO0 и GPIO2. На следующем изображении показана схема контактов модуля ESP-01.

Описание контактов модуля ESP8266 ESP-01
  • VCC : это вывод питания, через который подается напряжение 3,3 В.
  • GND : Это контакт заземления.
  • TX : Этот вывод используется для передачи последовательных данных на другие устройства.
  • RX : Вывод RX используется для приема последовательных данных от других устройств.
  • RST : Это вывод сброса и активный вывод LOW. (ESP8266 сбрасывается, если вывод RST получит сигнал LOW).
  • CH_PD : Это вывод включения микросхемы, и это активный вывод HIGH. Обычно подключается к 3,3 В.
  • GPIO0 : Контакт GPIO0 (универсальный ввод / вывод) имеет двойную функцию — одну для нормальной работы GPIO, а другую — для включения режима программирования ESP8266.
  • GPIO2 : Это вывод GPIO.

ВАЖНОЕ ПРИМЕЧАНИЕ : ESP8266 несовместим с 5 В, а модуль ESP-01 не имеет встроенных регуляторов напряжения. Убедитесь, что питание ESP8266 составляет 3,3 В, желательно от специального источника питания, а не от вывода 3,3 В на Arduino.

ESP8266 Интерфейс Arduino

Прежде чем увидеть интерфейс ESP8266 Arduino, вам нужно кое-что узнать о модуле ESP8266.Модуль WiFi ESP8266 поставляется с прошивкой по умолчанию, которая поддерживает AT-команды.

После подключения WiFi-модуля ESP8266 к Arduino и загрузки нашей собственной программы исходная прошивка будет удалена. В отдельном проекте мы увидим, как взаимодействовать с модулем ESP8266 для AT-команд, а также как прошивать оригинальную прошивку с помощью Arduino.

Теперь мы увидим, как запрограммировать ESP8266 с помощью Arduino и получить доступ к его контактам GPIO. Сначала мы увидим принципиальную схему интерфейса.

Принципиальная схема интерфейса ESP8266 Arduino

Если модуль ESP8266 на принципиальной схеме нечеткий, вам может помочь следующее изображение. Это просто личное представление принципиальной схемы. Вы уже видели настоящую схему контактов в предыдущем разделе.

Необходимые компоненты
  • Arduino UNO [Купить]
  • ESP8266 ESP-01
  • Резистор 1 кОм
  • Резистор 2,2 кОм
  • Конденсатор 100 пФ (код конденсатора — 104)
  • Макетная мини-плата
  • Соединительные провода

Подготовка модуля ESP8266 ESP-01 для монтажа на макетной плате

Если вы посмотрите на контакты модуля ESP8266 ESP-01, вы увидите, что он не подходит для макетной платы.Итак, я сделал небольшую перфокарту с контактами, подходящими для макетной платы, на дне и гнездовыми разъемами, чтобы установить на нее модуль ESP8266 ESP-01.

На этой рабочей плате я также подключил резисторы преобразователя уровня для вывода RX ESP8266, а также байпасный конденсатор 100 пФ между VCC (3,3 В) и GND. На следующем изображении показан монтаж модуля ESP8266 ESP-01 на мини-макетной плате.

Подготовка Arduino IDE к программированию ESP8266

Модуль

ESP8266 WiFi можно запрограммировать с помощью Arduino IDE, и для этого вам необходимо внести несколько изменений в Arduino IDE.Сначала перейдите в меню «Файл» -> «Настройки» в среде Arduino IDE и в разделе «URL-адреса диспетчера дополнительных плат» введите следующий URL-адрес.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

ПРИМЕЧАНИЕ : Вы можете добавить много таких URL-адресов, но они должны быть разделены запятыми.

Теперь перейдите в Инструменты -> Плата -> Менеджер плат и найдите ESP8266 в поле поиска. Выберите ESP8266 от сообщества ESP8266 и нажмите «Установить».

ПРИМЕЧАНИЕ : Эта функция добавления сторонних плат через менеджер плат доступна для Arduino IDE версии 1.6.4 и выше. Итак, убедитесь, что у вас установлена ​​последняя версия Arduino IDE.

Подготовка Arduino UNO к программированию ESP8266

Чтобы запрограммировать модуль ESP8266, нам необходимо подключить его к компьютеру. Поскольку последовательная связь является единственной доступной связью на модуле ESP8266 ESP-01, нам нужен USB-последовательный адаптер, такой как FTDI, Ch440 или FT232RL.

Если у вас нет выделенного адаптера USB для последовательного порта, не беспокойтесь. Arduino UNO имеет встроенный USB-последовательный адаптер (который используется для программирования Arduino). Мы собираемся использовать это для программирования ESP8266.

Мы будем использовать контакты TX и RX Arduino для подключения к модулю ESP8266, и чтобы убедиться, что Arduino не использует эти контакты, мы можем загрузить минимальный эскиз в Arduino.

ПРИМЕЧАНИЕ : Минимальный эскиз состоит только из функций настройки и цикла без каких-либо данных.

В моем случае у меня есть дополнительная плата Arduino UNO с нефункционирующей микросхемой ATmega328p. Итак, я удалил микросхему микроконтроллера из Arduino UNO и начал использовать ее в качестве преобразователя USB в последовательный порт.

Схема для программирования ESP8266 с использованием Arduino

Вы уже видели необходимые компоненты и принципиальную схему проекта. Теперь давайте попробуем разобраться в конструкции схемы.

Прежде всего, модуль ESP8266 работает от источника питания 3,3 В, и все, что выше, например 5 В, убьет SoC.Итак, выводы VCC и CH_PD модуля ESP8266 ESP-01 подключены к источнику питания 3,3 В.

Следующее важное обстоятельство, о котором следует помнить, это то, что модуль WiFi ESP8266 имеет два режима работы: режим программирования и нормальный режим.

В режиме программирования вы можете загрузить программу или прошивку в модуль ESP8266, а в нормальном режиме загруженная программа или прошивка будут работать нормально.

Для включения режима программирования вывод GPIO0 должен быть подключен к GND. На принципиальной схеме я подключил переключатель SPDT к контакту GPIO0.Переключение рычага SPDT переключит ESP8266 между режимом программирования (GPIO0 подключен к GND) и нормальным режимом (GPIO0 действует как контакт GPIO).

Кроме того, RST (сброс) играет важную роль в включении режима программирования. Вывод RST является активным выводом LOW и, следовательно, подключен к GND через кнопку. Таким образом, всякий раз, когда нажимается кнопка, модуль ESP8266 сбрасывается.

Контакты RX и TX модуля ESP8266 подключены к контактам RX и TX на плате Arduino.Поскольку ESP8266 SoC не может выдерживать 5 В, вывод RX Arduino подключается через преобразователь уровня, состоящий из резистора 1 кОм и резистора 2,2 кОм.

Наконец, вывод GPIO2 подключается к светодиоду для проверки работы программы. Все необходимые подключения для включения режима программирования в ESP8266 упомянуты ниже.

  1. VCC — -> 3,3 В
  2. земля — ​​-> земля
  3. CH_PD — -> 3,3 В
  4. RST — -> нормально открытый; GND для сброса
  5. GPIO0 — -> ЗЕМЛЯ
  6. TX — -> TX Arduino
  7. RX — -> RX Arduino (через преобразователь уровня)

Работа интерфейса ESP8266 Arduino

Убедитесь, что все вышеупомянутые соединения выполнены правильно.После подключения и настройки ESP8266 в режиме программирования (GPIO0 подключен к GND) подключите Arduino к системе.

После включения модуля ESP8266 нажмите кнопку RST и откройте Arduino IDE. В параметрах платы (Инструменты -> Плата) выберите плату «Generic ESP8266». Выберите соответствующий номер порта в среде IDE.

Теперь откройте Blink Sketch и измените вывод светодиода на 2. Здесь 2 означает вывод GPIO2 модуля ESP8266. Прежде чем начать загрузку, убедитесь, что GPIO0 подключен к GND, а затем нажмите кнопку RST.

Нажмите кнопку загрузки, и код займет некоторое время для компиляции и загрузки. Вы можете увидеть прогресс в нижней части IDE. После успешной загрузки программы вы можете удалить GPIO0 из GND. Светодиод, подключенный к GPIO2, будет мигать.

В этом проекте мы увидели, как будет работать интерфейс ESP8266 Arduino, как загрузить программу в модуль ESP8266 WiFi и получить доступ к контактам ввода / вывода модуля ESP8266.

ESP8266 WiFi-модуль Arduino 3.Подключение 3 В

В этом уроке мы покажем, как подключить WiFi-модуль ESP8266 к Arduino. Мы будем использовать программный последовательный порт. Последовательный порт HW будет доступен для загрузки и отладки программ.

Модуль

ESP8266 WiFi — это модуль последовательного приемопередатчика WiFi, основанный на ESP8266. Небольшие размеры и невысокая стоимость делают его подходящим для сенсорных узлов. Он работает от 3,3 В и потребляет ток до 250 мА. Потребление тока довольно велико, поэтому обычно он не работает от батареи.Если вы используете 5V Arduino, прочтите ESP8266 WiFi и 5V Arduino connection.

Для платы Arduino мы будем использовать Arduino pro mini 3.3V 8Mhz и программный последовательный порт. Последовательный порт HW будет доступен для загрузки и отладки программ. Позже вы можете переключить модуль на последовательный порт HW.

Прежде чем мы начнем использовать модуль WiFi ESP8266, нам необходимо обновить прошивку ESP8266. Мы используем версию прошивки V0.9.2.2. Подробные инструкции по обновлению прошивки можно найти здесь.Скорость передачи по умолчанию для новой прошивки составляет 9600 бод, что позволяет использовать программный последовательный порт на плате Arduino.

Потребление тока ESP8266 слишком велико для использования внутреннего регулятора Arduino. Мы будем использовать специальный регулятор мощности AMS1117. Убедитесь, что вы используете достаточно большие дополнительные конденсаторы, чтобы предотвратить падение напряжения при передаче.

Блок питания

Подключение WiFi-модуля ESP8266 и Arduino Pro Mini 8Mhz, 3.3V

ESP8266 Распиновка WiFi модуля

Arduino Pro Mini 3.Распиновка 3V 8Mhz

Модуль ESP8266 Мини-модуль Arduino pro Блок питания
VCC VCC Источник питания 3,3 В VCC
ЗЕМЛЯ ЗЕМЛЯ Блок питания GND
RST 3
UTXD 10
URXD 11
CH_PHD 3.Источник питания 3V VCC

Тестирование узла датчика температуры и влажности ESP8266 DHT22.

В следующем посте мы покажем, как использовать модуль ESP8266, подключенный к Arduino, в качестве сенсорного узла с библиотекой ESP8266 EasyIoT.

Дополнительные руководства см. На http://iot-playground.com/build

Для поддержки этого сайта и разработки фреймворка EasyIoT покупайте в нашем магазине.

3.3V версия Arduino. При использовании ESP8266 нет необходимости в рычаге переключения передач.

Регулятор напряжения 3,3 В,

Для Raspberry Pi или сенсорных модулей, дешевое и простое решение для электропитания.

ESP8266 Модуль последовательного беспроводного приемопередатчика WIFI

ESP8266 Модель последовательного Wi-Fi ESP-03

ESP8266 Беспроводной модуль последовательного порта WIFI ESP-12

ESP8266 ESP-05 Модуль последовательного беспроводного приемопередатчика WIFI

Настройка ESP8266 и Arduino Uno

Это для людей, которые говорят «скажи мне, как я лабрадор».Я один из них …. так что ваш лабораторный клещ найдет это полезным,

ESP8266 окружен множеством загадок, загадок, если вы не используете все технические слова, которые говорят знающие люди (слава богу за них !!!)

Оборудование, которое я использовал:

ESP8266

Arduino Uno

Макетная плата

Jumper Wires -5 (Male-Female / Male-Male) в зависимости от контактов на вашей плате.

Мелочь, но важная

ESP8266 требует 3.Питание 3 В — НЕ подключайте его к источнику 5 вольт !. Подключите 3,3 В от Arduino Uno для подключения к макетной плате.

Удалите MCU из Arduino uno — // Обратитесь к рисунку и посмотрите видео.

Подключите ESP8266 RXD к Arduino RX

Подключите ESP8266 TXD к arduino TX

Подключите ESP8266 VCC к макетной плате powerrail, которая получает питание от Arduino 3.3v

Подключите ESP8266 GND к Arduino GND

Подключите ESP8266 CH_PD к шине питания макетной платы, которая получает питание от Arduino 3.3в

Подключите Arduino к внешнему источнику питания 5 В

Подключите Arduino 3,3 В к шине питания макетной платы

Подключите ардуино через USB к компьютеру

Откройте IDE arduino и загрузите «пустой» скетч, который не использует последовательное соединение, например BareMinimum. или вы даже можете загрузить черный набросок, который появится.

Вызовите серийный монитор

С этого момента я пытался отправить «AT» несколько раз, каждый раз используя разную скорость передачи.(внизу справа «9600 бод», также измените на «BOTH NL & CR»

Единственная скорость передачи, которая дала мне «ОК», была 9600.

ОК

, если это не сработает для вас, вернитесь и снова проверьте свои соединения, также было сказано, что это последовательное соединение и «Не очень законный» способ сделать это.

предложит проверить http://www.pridopia.co.uk/pi-doc/ESP8266ATCommandsSet.pdf. играть с AT-командами, чтобы выяснить свой ESP8266

вот что…

Программирование ESP8266 с помощью Arduino IDE за 3 простых шага

esp8266 — это недорогой модуль Wi-Fi, созданный эспрессо-системы . его популярность среди аппаратного сообщества растет благодаря его приятным функциям и стабильности, до такой степени, что его можно легко запрограммировать, используя ваш arduino ide .

в этом посте мы узнаем, как запрограммировать ваш esp8266 с помощью uartbee или arduino uno, а также arduino ide.

требования

  1. модуль esp8266.

  2. ан arduino uno , uartbee или любой другой UART для USB-устройства.

  3. перемычки.

  4. arduino ide версии 1.6.6 или выше.

1. Подключите!

Во-первых, нам нужно определить распиновку esp8266.

чтобы установить esp8266 в режим программирования, вам необходимо подключить его провода следующим образом:

esp8266 uartbee arduino uno
rxd txd rx
gpio0 земля земля
gpio2 ——- ———-
земля земля земля
vcc 3.3в 3,3 В
первый ——— ————
ch_pd 3,3 В 3,3 В
txd rxd tx

Примечание: если вы используете arduino uno, вам необходимо установить arduino rst на gnd. будьте осторожны с vcc esp8266, он работает только с 3.Питание 3В.

2. настроить arduino ide

  1. скачать arduino ide.

  2. открой свой ide и нажми на «файл -> настройки».

  3. в «URL-адресах менеджеров дополнительных досок» добавьте эту строку и нажмите «ОК»:

  4. » http://arduino.esp8266.com/stable/package_esp8266com_index.

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

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