Как подключить WiFi-модуль к Arduino

С помощью ESP8266 Arduino WiFi модуля можно создать полноценную сеть Wi-Fi. Микроконтроллер Arduino Uno через последовательный интерфейс, или UART, позволяет подключиться к интернету через модуль. Этот же модуль может выполнять роль обслуживающего адаптера Wi-Fi для беспроводного доступа в Сеть.

Arduino Uno

Описание модуля с его особенностями

Ардуино WiFi модуль обладает развитым интерфейсом:

  • 14 входами/выходами, 6 из которых могут работать на выход в режиме ШИМ;
  • 6 входами аналогового сигнала;
  • USB;
  • разъемом питания;
  • коннекторами для ICSP;
  • кнопкой сброса установок.
Присутствие на плате модуля Wi-Fi ESP8266 позволяет Arduino поддерживать обмен информацией по беспроводным сетям 802.11 b/g/n.

Микросхема ESP8266

Для создания беспроводной сети в пределах помещения наиболее часто используется чип ESP8266. С его помощью организуется связь по Wi-Fi, осуществляются сбор информации, дистанционное управление и выход в интернет. Платы Arduino Uno, WeMos, NodeMcu используют ESP8266. Множество самодельных проектов основано на этом чипе с использованием среды Arduino IDE.

Микросхема ESP8266

Зачем нужен выход в сеть

Выход в сеть через Вай-Фай позволяет прошивать платы Arduino, расположенные в труднодоступных местах, ускоряя и облегчая их обслуживание. Такой способ обновления программ получил название Firmware Over The Air — «микропрограммы по воздуху».

ESP8266 применяется также:

  • в метках ID;
  • в детских игрушках;
  • в системах автоматизации;
  • в сетях Mesh;
  • в разных мобильных устройствах;
  • в системе дистанционного управления приборами «умного» дома: розетках, выключателях, терморегуляторах, сигнализации.

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

Перед началом работ необходимо проверить контакты RX-TX — они должны соединяться перекрестием. Уровень сигналов ESP8266 — 3,3В, а Arduino — 5 В, поэтому для питания модуля используйте резистивный делитель 1:2, резисторы на 1 кОм и 2 кОм.

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

Для подключения модуля Arduino с модулем Wi-Fi требуется выполнение следующих шагов:

  1. Подать питание к плате Arduino и дождаться скорого появления новой сети с именем «Ардуино-Uno-WiFi-xxxxxx», где xxxxxx — идентификатор платы.
  2. Подключиться к данной сети через браузер по адресу 192.168.240.1. Появится web-интерфейс настройки платы.
  3. В пункте Network SSID нажать кнопку CHANGE для получения доступа к сетевым настройкам платы.
  4. Подключиться к сети Wi-Fi.
  5. Записать (запомнить) присвоенный IP-адрес. Зайти на Arduino Uno WiFi с любого устройства, подключенного к сети.
  6. Переключить десктоп с сети Wi-Fi Arduino на домашнюю сеть Вай-Фай.
  7. Через браузер зайти по сохраненному IP-адресу. Открыть web-интерфейс настройки платы.
  8. Зайти в сетевые настройки, нажав на кнопку CHANGE.
  9. Кнопкой SWITCH TO STA MODE изменить режим сети из AP+STA в STA.
  10. В столбце WiFi Mode появится режим STA.

Проделав этот путь, можно переходить к работе с платой Arduino UNO Wi-Fi, в том числе к ее «прошивке».

Распиновка платы

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

Цифровые пины платы Uno

Пин на плате Адрес в скетче Специальное использование ШИМ
пин 0 0 RX
пин 1 1 TX
пин 2 2 Вход прерываний
пин 3 3 Вход прерываний ШИМ
пин 4 4
пин 5 5 ШИМ
пин 6 6 ШИМ
пин 7 7
пин 8 8
пин 9 9 ШИМ
пин 10 10 SPI (SS) ШИМ
пин 11 11 SPI (MOSI) ШИМ
пин 12 12 SPI (MISO)
пин 13 13 SPI (SCK)

На выходе подключен встроенный светодиод

Аналоговые пины Arduino Uno

Аналоговые контакты Arduino Uno служат для подключения устройств с непрерывным сигналом. Они являются входами АЦП. В «Ардуино Уно» он имеет 10 разрядов.

Контакт Адрес в скетче Особое значение
Аналоговый A0 A0 или 14
Аналоговый A1 A1 или 15
Аналоговый A2 A2 или 16
Аналоговый A3 A3 или 17
Аналоговый A4 A4 или 18 I2C (SCA)
Аналоговый A5 A5 или 19 I2C (SCL)

На плате имеются дополнительные контакты:

  1. AREF — источник опорного напряжения для АЦП, управляемый функцией analogReference().
  2. RESET, низкий сигнал на котором перезагружает устройство.

Программирование модуля

Производятся различные модификации ESP 8266. Чтобы изменить скорость передачи данных в прилагаемом коде (скачать его можно по ссылке ниже), в 16-й строке укажите требуемое значение. Обработка этого параметра, как и других, производится в функции loop(). Для интерпретации сообщений вызываются функции find(). Для передачи команды контроллеру Arduino UNO нужно добавить свой параметр в функции. Для связи с ESP8266 можно написать полностью свою функцию в Ардуино IDE.

При соответствующей подготовке можно писать собственные функции для отправки в ESP запросов TCP. Это позволит создавать свои клиентские части веб-приложений, веб-служб, мобильных приложений с возможностью удаленного управления устройствами. Полный текст примеров кода расположен по адресу https ://arduinoplus.ru /wp-content/uploads/ 2019/03/arduino-wifi.ino.

Выводы по ESP8266

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

Ссылка на основную публикацию