Wifi module and arduino

ESP8266 и Arduino, подключение, распиновка

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

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

image

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

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

image

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

image

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

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

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

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

image

Пару слов по ножкам 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 В. Таких валом как в Китае, так и у нас.

image

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

Читайте также:  Мини диктофон вай фай

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

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

image

К стати, к ножке 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 зовётся. Это конечно усугубляет работу с аналоговыми датчиками. В таком случае ардуино аналоговый мультиплексор в помощь.

image

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

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

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

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

Читайте также:  Алтел вай фай раздача

image

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

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

image

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

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

Я, у себя на ютуб канале, открыл целый плейлист посвящённый моим видео по теме этого Wi-Fi модуля. В планах построили машинку, или лодку, на Wi-Fi управлении, где вместо пульта ДУ будет обычный смарт. Но пока что я к этому ещё не пришёл, так что это всего лишь планы на будущее.

By Сергей ПоделкинЦ ака MrПоделкинЦ.

Уже на подходе плата на базе esp32:

image

http://www.pighixxx.com/test/2015/12/esp32-pinout/

Которая значительно круче чем esp8266, так что нас скоро ждёт бум, как мне кажется, темы IoT(интернет вещей).

Источник

Arduino WiFi: обзор модулей и ESP8266 для работы с сетью

WiFiGid

Привет! Эта статья должна была стать законченной точкой в ознакомлении с Wi-Fi модулями для Arduino или непосредственно Arduino со встроенными модулями, но получилась какая-то пеленка от чайника. Так что от чайника для чайников про Arduino WiFi.

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

Для чего это нужно?

Вся суть сводится к тому, что неплохо бы стандартные платы Arduino было бы прошивать не по проводу, а на лету по воздуху. Да и приятно изменять код удаленно, или даже просто иметь доступ к Wi-Fi сетям. И тут начинается – вначале не было ничего хорошего, пока китайцы из Espressif не показали рынку свою ESP8266 – классный модуль с широким функционалом.

Arduino WiFi: обзор модулей и ESP8266 для работы с сетью

Крутая цена и возможности сделали этот модуль по-настоящему народным. Его даже теперь встраивают в некоторые платы – например, в Arduino Uno WiFi. А как итог – подключили раз, и можно менять прошивки удаленно без использования паяльника. Старперы индустрии люто плачут на этом месте (но провод тоже никто не отменял).

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

Та же версия 07 идет в металлическим экраном-радиатором, но 01 – самая пополурная

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

Характеристики

Тут уже голимый паблик, все и так известно по этой игрушке. Что у нас имеется на борту:

  • 160 МГц, 32 бит
  • IEEE 802.11 b/g/n, WEP/WPA/WPA2
  • Флеш-память аж на 4 Мб, внешняя память до 16 Мб.
  • 14 портов ввода-вывода, SPI, I2C, UART, 10-бит АЦП
  • Питание – 2,2-3,6 В (оптимально 3,3 В, не сожгите пятивольниками), 300 мА (стандартная Ардуино не разгонит ее, лучше использовать доппитание)
  • ОЗУ – примерно 50 Кб
  • Кнопки перезагрузки и перепрошивки
  • И все это за пару баксов – шоколадка в микроэлеткронике, можно заказывать тоннами на Aliexpress
Читайте также:  Аэрофлот подключить вай фай

Подключение

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

В видео выше не только про то, как подключить, но и общую информацию о плате со всеми ее фичами и информацией по всем вариантам прошивок – обязательно посмотрите, о таком в одном месте никто и не пишет. При этом рабочая версия – NodeMCU.

Остальным же рекомендуется искать свою распиновку и документацию в официальных источниках. Схема распиновки на примере ESP8266 12E:

Arduino WiFi: обзор модулей и ESP8266 для работы с сетью

Есть несколько вариантов плат и несколько ревизий с разным расположением светодиода – копайте мануалы под свой вариант. Здесь лишь общая ознакомительная бесполезная информация.

Подключение к Arduino Nano:

Arduino WiFi: обзор модулей и ESP8266 для работы с сетью

Подключение к Arduino Uno:

Arduino WiFi: обзор модулей и ESP8266 для работы с сетью

Помните, Arduino использует 5В, а ESP8266 до 3,6 В. При соединении используйте резистивные делители, иначе есть риск спалить контроллер.

Arduino WiFi: обзор модулей и ESP8266 для работы с сетью

Не забываем, что сам «модуль» по сути является полноценным микроконтроллером со встроенной памятью. Т.е. при желании можно его запрограммировать через тот же USB-UART, а не использовать для этого подключение через отдельную плату. Тем более встроенной памяти хватит на хранение нескольких весомых библиотек.

Про программирование

Хоть модуль и является сторонним, извращаться с поиском всевозможных программ здесь не нужно. Базовая Arduino IDE все поддерживает из коробки, нужно лишь выбрать в списке нашу 8266 и уже будут доступны базовые программы, начиная от стандартного моргания диода через USB-UART (хеллоу ворлд епта, пример будет в видео ниже).

Про питание

Это прям начальная дилемма этой платы. Она требует 3,3 В и 300 мА. Та же Arduino Nano или просто USB-UART не вывозят такого тока – заранее нужно позаботиться о питании. Существующие варианты:

  • Покупка блока питания на 3,3 В – существуют такие, самый простой и скорее верный вариант.
  • Покупка модуля для понижения напряжения 5 В -> 3,3 В. Тоже доступно и удобно.
  • Самопальные сборки (на том же Хабре видел пример на базе регулятора AMS1117 и конденсатора 22 мкФ) – кто ищет, тот всегда найдет решение в любой непонятной ситуации. А для втянувшихся с головой в микроэлектронику подобные деяния просто мастхэв.

Платы со встроенным ESP8266

Вот основной список плат с уже встроенным ESP8266 и всем доступным для него функционалом:

NodeMCUWeMosArduino Uno WiFi

Последняя в списке Arduino Uni WiFi – это уже упоминаемый ТОП в платостроении. Именно на ней создают многие интересные проекты. И она как раз из коробки позволяет перепрошивать себя по воздуху (режима OTA – Firmware Over The Air). А вот и видеообзор этого чуда с характеристиками, подключением, базовым использованием:

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

Источник

Оцените статью
Adblock
detector