Esp8266 wifi mode sta

ESP8266 Урок 14. Wi-Fi. Режим STA (Станция)

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

Я думаю, что все знают, что это за тип сети и для чего она применяется.

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

Как именно передаются данные по сети и как они подготавливаются, как заворачиваются в протоколы различного уровня, мы также очень хорошо знаем. Кто не помнит, напомню — смотрите уроки 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52 по программированию контроллеров AVR, а также аналогичные уроки по контроллерам STM32. В данных уроках мы очень подробно рассмотрели многие протоколы всех уровней модели OSI. Те же самые протоколы будут использоваться и здесь, причём нам особо не придётся их программировать вручную, но знать, как они устроены, для чего нужны, мы обязаны, чтобы избежать ошибок при передаче данных, а также, если они и возникнут, то оперативно их устранить. И рассмотренных нами протоколов нам не потребуется протокол физического уровня Ethernet, его заменит протокол Wi-Fi.

Мы пока подробно не будем изучать протокол Wi-Fi, так как с ним работает наш контроллер аппаратно, но режимы работы мы должны знать. И знакомится с их разновидностями мы будем постепенно.

А пока мы должны знать, что наш контроллер ESP8266 поддерживает три основных режима работы — станция (Station mode или кратко STA), программная точка доступа (SoftAP), а также смешанный — Station + SoftAP.

Читайте также:  Novicam freedom 10 fhd wifi

Самым простым из этих режимов является первый — режим станции.

Режим станции (STA) — это такой режим, в котором контроллер не создает собственную сеть, а подключается к любой существующей сети Wi-Fi, например, к существующей локальной сети или к другому устройству, работающему в режиме точки доступа (AP).

На данном уроке мы настроим режим станции и попробуем подключиться к существующей точке доступа, например к роутеру, который раздаёт Wi-Fi по дому. Роутер от просто точки доступа отличается тем, что трафик, идущий от станций, подключенных к нему, он транслирует во внешнюю сеть и наоборот.

Пока воспользуемся возможностями SDK, то есть не будем лезть глубоко в дебри аппаратной части. Всему своё время.

Схема у нас будет простейшая — отладочная плата, подключенная к USB компьютера

Весь процесс соединения с точкой доступа и вхождение в различные стадии соединения мы будем отслеживать с помощью терминальной программы с помощью UART.

Проект наш выполнен из проекта прошлого урока с именем OS_TIMER и назван WIFI_STA.

Откроем наш проект в Eclipse и в файле main.c подключим библиотеку для работы с UART

Источник

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

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

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

Работать с платой через 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()

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

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

    • Подключаем в скетч встроенную библиотеку ESP8266WiFi.h
    • Переводим режим работы в AP через WiFi.mode(WIFI_AP)
    • Создаём точку доступа:
      • WiFi.softAP(AP_SSID) – сеть без пароля. Указываем только имя
      • WiFi.softAP(AP_SSID, AP_PASS) – сеть с паролем

      #include #define AP_SSID «ESP» void setup() < Serial.begin(115200); WiFi.mode(WIFI_AP); WiFi.softAP(AP_SSID); >void loop()

      Теперь можно подключиться к плате со смартфона как к точке доступа WiFi. Примечание: по умолчанию в своей сети плата имеет IP адрес 192.168.4.1

      Источник

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