Esp точка доступа wifi

Настройка ESP8266 в режим программной точки доступа [1]

Пример ниже показывает, как настроить ESP8266 в режим программной точки доступа (т.е. в режим, при котором к ESP8266 смогут подключаться станции). WiFi-сеть, заданная программной точкой доступа, будет идентифицироваться через SSID, заданный при настройке ESP8266. Кроме того, сеть можно защитить паролем. Если пароль не задать, сеть будет считаться открытой (т.е. к ней сможет подключиться кто угодно).

Скетч

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

#include void setup()  Serial.begin(115200); Serial.println(); Serial.print("Setting soft-AP . "); // "Настройка программной точки доступа . " boolean result = WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP"); if(result == true)  Serial.println("Ready"); // "Готово" > else  Serial.println("Failed!"); // "Настроить точку доступа не удалось" > > void loop()  Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum()); // "Количество подключенных станций = " delay(3000); > 

Как использовать этот скетч?

boolean result = WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP") 

. поменяйте pass-to-soft-AP на какой-нибудь осмысленный пароль, а затем загрузите скетч на ESP8266. Теперь откройте монитор порта. Там должно быть примерно следующее:

Setting soft-AP . Ready Stations connected = 0 Stations connected = 0 . 

В мобильном телефон или ПК откройте список точек доступа, найдите ESPsoftAP_01 и подключитесь к ней. Когда новая станция подключится, это должно отразиться в мониторе порта:

Stations connected = 1 Stations connected = 1 . 

Если у вас есть еще одна WiFi-станция, подключите и ее тоже. Затем загляните в монитор порта, который теперь должен сообщать, что к точке доступа подключены две станции.

Как это работает?

Скетч маленький, так что разбор будет несложным. В первой строчке мы подключаем библиотеку ESP8266WiFi:

Настройка точки доступа ESPsoftAP_01 выполняется здесь:

cpp boolean result = WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP"); 

Если эта операция проходит успешно, функция возвращает true, а если нет, то false. Для того, чтобы напечатать в мониторе порта результат операции («Ready» или «Failed!»), в скетче используется оператор if-else.

Можно ли упростить скетч?

Можно ли сделать этот скетч еще проще? Конечно! Это можно реализовать через альтернативную версию оператора if-else, как показано ниже:

WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP") ? "Ready" : "Failed!" 

Эта строчка вернет «Ready» (т.е. «Готово») или «Failed!» (т.е. «Настроить точку доступа не удалось») в зависимости от результата функции WiFi.softAP(). Это позволяет существенно сократить размер скетча, не урезая его функциональность.

#include void setup()  Serial.begin(115200); Serial.println(); Serial.print("Setting soft-AP . "); // "Настройка программной точки доступа . " Serial.println(WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP") ? "Ready" : "Failed!"); > void loop()  Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum()); // "Количество подключенных станций = " delay(3000); > 

На мой взгляд, получилось очень симпатично. Если вы в первый раз видите оператор ? :, рекомендую начать пользоваться им прямо сейчас. Он позволяет сделать код более компактным и элегантным.

Итого

Благодаря библиотеке ESP8266WiFi настроить чип ESP8266 в режим программной точки доступа очень просто.

Разобравшись со скетчем в этой статье, можете попробовать скетч посложнее. Он демонстрирует, как получить доступ к точке доступа на базе ESP8266 из браузера.

О функциях для управления точкой доступа на базе ESP8266 читайте в этой статье.

См.также

Внешние ссылки

Источник

Введение. Подключение к WiFi

ESP8266 – мощный китайский микроконтроллер с WiFi на борту. Это позволяет делать на его основе проекты с доступом в Интернет!

  • Если вы уже работали с Arduino и первый раз держите в руках плату на базе esp8266 (в наборе GyverKIT это плата Wemos Mini) – обязательно изучите урок по особенностям данного микроконтроллера и отличиям от обычных плат Arduino.
  • Для работы с Wemos нужно установить поддержку данных плат в Arduino IDE: на сайте набора в блоке Начало работы есть отдельная инструкция по настройке.

Работать с платой через WiFi есть два способа:

  • Подключить плату к домашнему WiFi роутеру (режим STA) – для работы в локальной сети или через Интернет
  • Настроить плату как точку доступа (режим AP) и подключиться к ней со смартфона

Подключение к роутеру

  • Подключаем в скетч встроенную библиотеку ESP8266WiFi.h
  • Переводим режим работы в STA через WiFi.mode(WIFI_STA) – необязательно, если до этого режим работы не изменялся
  • Инициируем подключение к WiFi роутеру:
    • Вызываем WiFi.begin(WIFI_SSID) – с указанием названия незащищённой сети (без пароля)
    • Вызываем WiFi.begin(WIFI_SSID, WIFI_PASS) – с указанием названия сети и пароля
    • Для удобства настройки можно вынести логин и пароль в начало программы через #define

    После успешного подключения можно вывести IP адрес платы в локальной сети роутера при помощи WiFi.localIP() .

    #include #define WIFI_SSID «Alex» #define WIFI_PASS «pass» void setup() < Serial.begin(115200); WiFi.begin(WIFI_SSID, WIFI_PASS); while (WiFi.status() != WL_CONNECTED) < delay(500); Serial.print("."); >Serial.println(«Connected»); Serial.println(WiFi.localIP()); > void loop()

    Скриншот со страницы конфигурации роутера. Плата есть в списке подключенных устройств:

    Создание точки доступа

Оцените статью
Adblock
detector