====== Wi-Fi модуль ESP-12 ======
===== Описание =====
Модуль для связи плат Arduino и Smart с беспроводной сетью Wi-Fi. Часто требуется добавить в проект возможность управления по wi-fi, или передача каких-либо данных по беспроводной сети. Для таких случаев подойдёт данный модуль.

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

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

==== Технические характеристики: ====
  * Чип связи: ESP8266EX
  * Конфигурация чипа: ESP-12F
  * Беспроводные интерфейсы: Wi-Fi 802.11 b/g/n 2,4 ГГц
  * Напряжение питания через вывод "+": 3,3 или 5 В (в зависимости от выбранной модификации)
  * Мощность (в режиме в режиме 802.11b, максимально): 20 дБ
  * Потребляемый ток: 250 мА

==== Физические размеры: ====
  * Модуль (Д х Ш х В): 50 х 26 х 8 мм

==== Плюсы использования: ====
  * Мощный модуль для работы по Wi-Fi
  * Возможность использования как самостоятельного контроллера
  * Расширенные возможности конфигурации
  * Работа с управляющими устройствами

==== Минусы использования: ====
  * Дороже своих более простых аналогов

==== Ресурсы для загрузки: ====
  * [[http://files.smartelements.ru/datasheet/esp8266_at_instruction_set_en.pdf|Список AT-команд]]
  * [[http://files.smartelements.ru/datasheet/ESP-12F.pdf|Даташит на модуль 12F]] 
  * [[http://files.smartelements.ru/datasheet/ESP8266EX.pdf|Даташит на модуль ESP8266EX]]


==== Ещё больше примеров: ====
  * [[main:comm:esp12_network]]
  * [[main:comm:esp12_allnetwork]]
  * [[main:comm:esp12_printvalue]]
  * [[main:comm:esp12_server_rgb]]

===== Пример подключения и использования =====
==== Работа через AT-команды ====
//AT-команды - это набор команд, предусмотренных разработчиком, с помощью которых происходит управление устройством.//
Общение с модулем через AT-команды является самой простым способом связи. 

Для работы нам понадобится следующее:
^ Что нужно                                                                                                               ^  Кол-во, шт  ^
| [[http://smartelements.ru/collection/moduli/product/modul-usb-ttl-ft232-2|Конвёртер USB - TTL FT232]]                   |  1           |
| [[https://smartelements.ru/collection/svyaz/product/wifi-modul-esp-12|Wi-Fi модуль ESP-12]]                      |  1           |
| [[http://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-mama-mama|Провода мама-мама]]  |  3           |

**Шаг 1:** Подключите конвёртер USB-TTL FT232 к компьютеру. (При необходимости установите драйвер для устройства).

**Шаг 2:** Подключите конвёртер USB-TTL FT232 к Wi-Fi модулю ESP-12 по следующей схеме:
^ USB-TTL конвертер  ^ Wi-Fi моудь ESP-12  ^
| 5V                 | +                   |
| GND                | -                   |
| RXD                | TX                  |
| TXD                | RX                  |

Обратите внимание на переключатель напряжения на конвёртере. Если Ваш модуль Wi-Fi поддерживает работу от 5В, переключатель должен находиться в позиции 5V. Если же Ваш модуль Wi-Fi поддерживает работу от 3.3 В, переключатель должен находиться в позиции 3V3. 

**Шаг 3:** Определите порт подключения устройства (для OS Windows используйте диспетчер устройств).

**Шаг 4:** Запустите Arduino IDE, в меню Инструменты -> Порт выберите порт, к которому подключился модуль.

**Шаг 5:** Откройте монитор порта, и установите настройки: 
  - Конец строки: NL & CR
  - Скорость соединения: 115200 бод

{{ :главная:связь:com13_settings.jpg?nolink |}}

Далее можно вводить АТ-команды, и в поле вывода мы увидим ответ от модуля.
  - Введите команду
  - Нажмите "Отправить"
  - В поле вывода появится введённая команда
  - И ответ от модуля

{{ :главная:связь:at_commands.jpg?nolink |}}


==== Тест ====
AT - тестовая команда для проверки модуля:

Введите в поле команду:
<file>
AT
</file>

Ответ:
<file>
OK
</file>

==== Информация о версиях ====
 

AT+RST - команда для получения информации о версиях модуля, прошивки

Введите в поле команду:
<file>
AT+RST
</file>

Ответ:
<file>
OK

 ets Jan  8 2013,rst cause:2, boot mode:(3,4)

load 0x40100000, len 1856, room 16 
tail 0
chksum 0x63
...
</file>

==== Режим работы модуля ====

AT+CWMODE=N - установка режима работы модуля, где N - это параметр, который может принимать значения:
  - работа как точка доступа
  - работа как клиента
  - смешанная работа

Для определения текущего режима используется команда:
<file>
AT+CWMODE_CUR?
</file> 

Ответ:
<file>
+CWMODE_CUR:2

OK
</file>

Для установки режима:
<file>
AT+CWMODE_DEF=3
</file>

Ответ:
<file>
OK
</file>

==== Установка скорости обмена данными ====

По умолчанию WiFi модуль обменивается данными на скорости 115200 бод. Ввиду программных и аппаратных особенностей платформы Arduino UNO (Genuino Uno, Smart UNO), такая скорость довольно высока для обмена данными. Чтобы обеспечить стабильность связи, требуется уменьшить скорость обмена данными до 9600 бод.

AT+UART_DEF - команда для установки требуемой скорости обмена, в бодах.

Для установки режима:
<file>
AT+UART_DEF=9600,8,1,0,0
</file>

Ответ:
<file>
OK
</file>

<WRAP center round important 80%>
После изменения скорости обмена модуля, измените скорость обмена в мониторе порта!
</WRAP>

{{ :главная:связь:9600_bod.jpg?nolink |}}