Привет! Эта статья должна была стать законченной точкой в ознакомлении с Wi-Fi модулями для Arduino или непосредственно Arduino со встроенными модулями, но получилась какая-то пеленка от чайника. Так что от чайника для чайников про Arduino WiFi.
Есть исправления, важные дополнения или хороший анекдот? Внизу статьи люди оставляют комментарии, можно написать и туда!
Для чего это нужно?
Вся суть сводится к тому, что неплохо бы стандартные платы Arduino было бы прошивать не по проводу, а на лету по воздуху. Да и приятно изменять код удаленно, или даже просто иметь доступ к Wi-Fi сетям. И тут начинается – вначале не было ничего хорошего, пока китайцы из Espressif не показали рынку свою ESP8266 – классный модуль с широким функционалом.
Крутая цена и возможности сделали этот модуль по-настоящему народным. Его даже теперь встраивают в некоторые платы – например, в Arduino Uno WiFi. А как итог – подключили раз, и можно менять прошивки удаленно без использования паяльника. Старперы индустрии люто плачут на этом месте (но провод тоже никто не отменял).
С первого варианта прошло уже достаточно много времени, и сейчас уже есть где покопаться и из чего выбирать:
В общем интересная игрушка для тех, кто хочет поразвлекаться от создания каких-то автоматизированных систем умного дома с морем датчиков (начиная от температуры) до создания модных ныне меш-сетей по нашему профилю.
Характеристики
Тут уже голимый паблик, все и так известно по этой игрушке. Что у нас имеется на борту:
- 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 Nano:
Подключение к Arduino Uno:
Помните, Arduino использует 5В, а ESP8266 до 3,6 В. При соединении используйте резистивные делители, иначе есть риск спалить контроллер.
Не забываем, что сам «модуль» по сути является полноценным микроконтроллером со встроенной памятью. Т.е. при желании можно его запрограммировать через тот же USB-UART, а не использовать для этого подключение через отдельную плату. Тем более встроенной памяти хватит на хранение нескольких весомых библиотек.
Про программирование
Хоть модуль и является сторонним, извращаться с поиском всевозможных программ здесь не нужно. Базовая Arduino IDE все поддерживает из коробки, нужно лишь выбрать в списке нашу 8266 и уже будут доступны базовые программы, начиная от стандартного моргания диода через USB-UART (хеллоу ворлд епта, пример будет в видео ниже).
Про питание
Это прям начальная дилемма этой платы. Она требует 3,3 В и 300 мА. Та же Arduino Nano или просто USB-UART не вывозят такого тока – заранее нужно позаботиться о питании. Существующие варианты:
- Покупка блока питания на 3,3 В – существуют такие, самый простой и скорее верный вариант.
- Покупка модуля для понижения напряжения 5 В -> 3,3 В. Тоже доступно и удобно.
- Самопальные сборки (на том же Хабре видел пример на базе регулятора AMS1117 и конденсатора 22 мкФ) – кто ищет, тот всегда найдет решение в любой непонятной ситуации. А для втянувшихся с головой в микроэлектронику подобные деяния просто мастхэв.
Платы со встроенным ESP8266
Вот основной список плат с уже встроенным ESP8266 и всем доступным для него функционалом:
Последняя в списке Arduino Uni WiFi – это уже упоминаемый ТОП в платостроении. Именно на ней создают многие интересные проекты. И она как раз из коробки позволяет перепрошивать себя по воздуху (режима OTA – Firmware Over The Air). А вот и видеообзор этого чуда с характеристиками, подключением, базовым использованием:
Вот и все. Задача нашего проекта освещать все Wi-Fi события, и платы для Arduino тоже находятся в этом поле. Но специфичные задачи по созданию классных домашних проектов лучше изучать уже на специализированных ресурсах. Здесь же только общий обзор и пара занимательных на наш взгляд видеороликов. Надеемся, что с возможностями этой платы и подключением к интернету задачи ваших проектов достигнут новых высот. Всем до связи, ваш WiFiGid.
Спасибо за подробную статью. Нигде не мог найти эту инфу. Здоровья тебе
Помню в институте нам препод показывал, как его перепрошивать.
А ккой лучше брать – выбор то огромный. у кого опыт использования был?
В статье перепутаны выводы TX и RX ардуино при подключении к esp8266 через резистивный делитель. Если подключить по предлагаемой схеме, то с модулем wifi модулем можете попрощаться.