esp8266 модуль wifi

esp8266 подключение к arduino

Сегодня разберём WIFI модуль ESP 8266 ESP-07. 
Это самодостаточный модуль. Он может работать как с Ардуино, так и без неё. 
Как и у Ардуино у него есть входы и выходы, правда немного меньше, но зато у него гораздо больше памяти и он может работать с wifi сетью, и быть как сервером, так и клиентом.
Вот посмотрите характеристики  и расположение выводов модуля. 
У микросхемы 16 выводов, но так как шаг нестандартный для модулей Ардуино, то для подключения желательно использовать специальную плату. А ещё на плате уже установлены  3 резистора которые обеспечивают подтяжку к +3,3в и оставлено место для регулятора напряжения AMS 1117  с 5 на 3,3вольта. Благодаря этим резисторам вы можете сразу проверить работу модуля подав на него 3,3 Вольта и открыв вкладку сеть на своём мобильном устройстве. Обычно модуль определяется как AI-THINKER. 
Я не зря так часто упоминаю, что напряжения питания 3,3 вольта, а не 5 вольт. 
Я хоть и знал это , а всё равно сжёг модуль. Так что обратите внимание.

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

Давайте попробуем прошить модуль.
Есть 2 способа это сделать. С помощью отдельного программатора или применив вместо программатора любую из плат Ардуино. Я думаю, что нам интересно будет прошить Ардуиной.
Для этого нам надо будет установить в нашу Ардуино IDE пакет плат ESP8266. 

Давайте это сделаем.

Запускаем среду разработки и идём в Файл/Настройки:
Вставляем ссылку вот эту ссылку в поле «Дополнительные ссылки для Менеджера плат:» и жмём «OK».
Ссылка будет в описании.

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

Потом идём Инструменты/Плата:/Менеджер плат...:
Кликаем курсором по надписи "esp8266 by ESP8266 Community" после этого, у нас появилась кнопка «Установка», выбираете нужную версию, я беру последнюю, на сегодняшний день это 2.1.0. и устанавливаю её. Среда разработки закачает нужные ей файлы(около 150 мегабайт) и напротив надписи "esp8266 by ESP8266 Community" появится «INSTALLED» то есть установлено:

Листаем список плат вниз и видим, что в списке у нас появилось много разных ESP, берём «Generic ESP8266 Module»:
Идём в «Инструменты» и выбираем нужный COM порт(у меня это COM32) Arduino или USB UART конвертора, потом ставим Upload Speed:«115200»:


Модуль ESP подключаем к Ардуине через аппаратный UART и сделаем скорость 115200 бод.

Настоятельно рекомендую использовать делитель напряжения, так как модуль работает с питанием 3,3 вольта, то и на вход желательно подавать такое напряжение. Я много раз перепрошивал этот модуль и ни разу не было проблем, но кто знает. Лучше перестраховаться.

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

****************************************
Сюда вводим пароль и логин сети.
Указываем порт для работы. Обычно это или 80 или 8080.
Скорость передачи устанавливаем в 115200 бод.
Дальше идёт подключение к сети, и если всё прошло удачно то мы видим, что нам присвоили такой IP.
Можно установить свой IP адрес, но это сделаем в другой раз.
Для прошивки модуля надо 0 контакт модуля соединить с землёй, для этого я вывел контакты 0 и земля с помощью штырьков.
Нажимаем прошить модуль и видим что снизу показывается информация о прошивке.
После прошивки отключаем Ардуино от питания, в данном случае от usb компьютера. Снимаем нашу перемычку. Отключаем 0 от земли, и снова подключаем Ардуино.
Открываем ком порт и видим наш IP адрес.
*********************************************
Обычно при работе с модулями я вывожу 4 контакта штырьками, они нужны нам для прошивки модуля и больше не пригодятся.  Это контакты. Нулевой, земля и Тэ икс и Ар икс. Остальные контакты обычно распаиваю проводами для лучшего контакта.

*******************************************
Для прошивки надо соединить ноль и землю. Я для этого использую колодку с разъёмами, где удаляю все контакты кроме двух. Можно так же использовать обычный переключатель, или кнопку с фиксатором. Тактовую кнопку использовать не желательно, так как придётся держать её всё время пока идёт прошивка.
*******************************************
Если вы используете такую плату как у меня то для проверки работы модуля надо просто подать питание, так как все необходимые выводы уже подтянуты к + питания. Открыв на телефоне вкладку сеть, вы увидите новую сеть.
*******************************************
С обратной стороны платы есть разъём для подключение стабилизатора напряжения ПРЕОБРАЗОВЫВАЮЩЕГО 5 вольт в 3 и 3 вольта. Вот посмотрите как можно его подпаять сюда.
********************************************
А вот  так я припаял провода для подключение внешнего источника 5 вольт. Я вывел три провода. +5 ВОЛЬТ, земля и 3 и 3 вольта. Хотя последний можно не выводить, это я сделал на всякий случай, вдруг пригодится.


Теперь давайте посмотрим как работать с модулем.
Нам понадобятся.
Сам модуль. Вот такая плата, Регулятор напряжения. И конденсатор.
Припаяем модуль к плате как показано на рисунке.

Установим преобразователь напряжения АМС 1117 С 5 ВОЛЬТ НА 3 И 3 ВОЛЬТА. С обратной стороны платы на специально выведенных дорожках.
К контактам преобразователя припаиваем провода. Чёрный проводо я использовал для земли. Красный для входного напряжения 5 вольт, а жёлтый для трёх и трёх вольт, но его можно и не припаивать – это я так, на всякий случай. Вдруг пригодится.
Для прошивки я просто надеваю колодку на контакты. Прошиваю модуль, а затем снимаю колодку. Но как я говорил можно использовать и обычную кнопку.
Если у вас голый модуль, то вам нужно подтянуть контакт ch pd к +3 и 3 вольта через резистор 10 кОм.
 

Дополнительные материалы по теме
1. Изучаем мир ESP8266: Введение и Основные Характеристики
2. Варианты ESP8266: Сравнение разновидностей
3. Многофункциональная ESP-12: Описание и особенности
4. NodeMCU: Универсальная плата для разработки на ESP8266
5. ESP8266 и Wi-Fi: Управление умным домом
6. IoT и ESP8266: Связь с Интернетом вещей
7. ESP8266 и Arduino: Идеальное сочетание
8. Программирование на ESP8266: Arduino IDE и MicroPython
9. Беспроводная передача данных с ESP8266
10. Примеры проектов с ESP8266

Скетчи