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


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

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

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

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

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

Доступ к ESP8266 NodeMCU, используемому в качестве станции

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

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

Доступ к ESP8266 NodeMCU, используемому в качестве точки доступа

В этом уроке мы покажем вам, как настроить 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.

Установка библиотеки DHT от Adafruit

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

Установка библиотеки 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 NodeMCU в качестве точки доступа (AP)

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

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

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

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

Ввод пароля к точке доступа на ESP8266

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

Страница нашего веб-сервера

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

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

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

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

(Проголосуй первым!)
Загрузка...
109 просмотров

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

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