Рубрики
Проекты на ESP8266

Использование ESP8266 NodeMCU в качестве точки доступа (AP) для веб-сервера

В этом уроке вы узнаете, как настроить ESP8266 NodeMCU в качестве точки доступа (Access Point, AP) с помощью Arduino IDE. Это позволит вам напрямую подключаться к ESP8266 через Wi-Fi без беспроводного маршрутизатора.

Станция и точка доступа ESP8266

В большинстве проектов веб-сервера ESP8266 NodeMCU мы подключаем ESP8266 к беспроводному маршрутизатору. В этой конфигурации мы можем получить доступ к ESP8266 через локальную сеть.

В этом сценарии маршрутизатор действует как точка доступа, а ESP8266 устанавливается как станция. Таким образом, вам необходимо подключиться к маршрутизатору (локальной сети), чтобы управлять ESP8266.

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

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

В этом уроке мы покажем вам, как настроить ESP8266 в качестве точки доступа в ваших проектах веб-сервера. Таким образом, вам не нужно будет подключаться к маршрутизатору, чтобы управлять вашим ESP8266.

Поскольку ESP8266 не подключается далее к проводной сети (например, к маршрутизатору), его называют программной точкой доступа (soft-AP).

Это означает, что если вы попытаетесь загрузить библиотеки или использовать прошивку из интернета, это не сработает. Это также не сработает, если вы попытаетесь сделать HTTP-запросы к сервисам в интернете, например, опубликовать показания датчиков в облаке.

Установка библиотеки DHT для ESP8266

В этом примере мы будем использовать проект веб-сервера, который отображает показания датчика DHT.

Имея плату ESP8266, установленную в Arduino IDE, для считывания с датчика DHT мы будем использовать  библиотеку DHT от Adafruit. Для использования этой библиотеки вам также необходимо установить библиотеку Adafruit Unified Sensor .

Чтобы установить эти две библиотеки, выполните следующие шаги:

1. Откройте Arduino IDE и перейдите в Sketch  >  Include Library  >  Manage Libraries . Должен открыться менеджер библиотек.

2. Введите «DHT» в поле поиска и установите библиотеку DHT от Adafruit.

3. После установки библиотеки DHT от Adafruit введите в поле поиска «Adafruit Unified Sensor». Прокрутите страницу до конца, чтобы найти библиотеку и установить ее.

После установки библиотек перезапустите Arduino IDE.

Точка доступа ESP8266 NodeMCU (AP)

В этом примере за основу мы возьмем проект веб-сервера температуры и влажности ESP8266 DHT11/DHT22 с Arduino IDE и добавим в него возможности точки доступа.

То, что мы вам здесь покажем, можно использовать с любым примером веб-сервера ESP8266.

Загрузите скетч, представленный ниже, чтобы настроить ESP8266 в качестве точки доступа.

Настройте SSID и пароль

Вам необходимо определить имя SSID и пароль для доступа к ESP8266. В этом примере мы устанавливаем имя SSID ESP8266 на ESP8266-Access-Point, но вы можете изменить имя на любое другое, которое вы хотите. Пароль —123456789, но вы также можете его изменить.

Настройка ESP8266 в качестве точки доступа (AP)

В функции setup() мы настраиваем ESP8266 как точку доступа с помощью метода softAP().

Существуют также другие необязательные параметры, которые вы можете передать методу softAP(). Вот все его параметры:

  • ssid (определено ранее): максимум 31 символ.
  • password (пароль, определено ранее): минимум 8 символов. Если не указано, точка доступа будет открыта (максимум 63 символа).
  • channel (канал): Номер канала Wi-Fi (1-13). По умолчанию 1.
  • ssid_hidden (скрытый ssid): если установлено значение true, SSID будет скрыт.
  • max_connection: максимальное количество одновременно подключенных станций — от 0 до 8.

Далее получите IP-адрес точки доступа с помощью метода softAPIP() и распечатайте его в последовательном мониторе.

Примечание: по умолчанию IP-адрес точки доступа — 192.168.4.1.

Это фрагменты кода, которые необходимо включить в скетч веб-сервера, чтобы настроить ESP8266 в качестве программной точки доступа.

Необходимые компоненты

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Датчик температуры и влажности DHT11/DHT22 (купить на AliExpress).
  3. Резистор 4,7 кОм (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Схема проекта

Схема проекта для демонстрации использования ESP8266 NodeMCU в качестве точки доступа (AP) представлена на следующем рисунке.

Подключение к точке доступа ESP8266

Запустив скетч на ESP8266, откройте на смартфоне настройки Wi-Fi и выберите сеть ESP8266-Access-Point:

Введите пароль, который вы определили ранее.

Откройте веб-браузер и введите IP-адрес http://192.168.4.1. Должна загрузиться страница веб-сервера:

Этот веб-сервер отображает два значка рядом с температурой и влажностью. Эти значки загружаются с веб-сайта Font Awesome. Однако, поскольку ESP8266 действует как мягкая/программная (soft) точка доступа (он не подключен к Интернету), мы не можем загрузить эти значки.

Подведение итогов

В этом уроке вы узнали, как настроить ESP8266 в качестве программной точки доступа. Это позволяет вам подключаться к веб-серверу ESP8266 напрямую через Wi-Fi без необходимости подключения к маршрутизатору.

Однако следует отметить, что ESP8266 не подключен к Интернету, поэтому вы не можете отправлять HTTP-запросы другим службам для публикации данных датчиков или получения данных из Интернета (например, для загрузки значков).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *