Как узнать ip esp8266
Перейти к содержимому

Как узнать ip esp8266

  • автор:

ESP8266 уроки. Подключение к сети Wi-Fi.

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

как подключить ESP8266 к сети Wi-Fi с помощью Arduino IDE.

Это делает ESP8266 очень хорошим микроконтроллером для реализации Интернета вещей. Другой важный фактор — это относительно дешевая стоимость устройства реализованных на ESP8266.

В предыдущем уроке рассказал, как можно подключиться к сети Wi-Fi с помощью ESP32.

Прежде чем приступить к уроку, нужно настроить Arduino IDE для работы с ESP8266.

Описание скетча подключение к сети Wi-Fi ESP8266.

Прежде всего, подключаем библиотеку ESP8266WiFi.h, которая сделает доступной глобальную переменную с именем WiFi, она является объектом класса ESP8266WiFiClass. В этом классе есть методы, необходимые для подключения к сети Wi-Fi.

#include

Чтобы сделать код более читабельным, создадим две глобальные переменные для хранения учетных данных, необходимых для регистрации в сети. Первый соответствует SSID (Service Set IDentifier), который является именем беспроводной сети, к которой мы хотим подключиться. Естественно, чтобы иметь возможность подключиться, нам также необходимо указать пароль от сети.

const char* ssid = "NetworkName"; const char* password = "NetworkPass";

Внимание , используйте учетные данные вашей сети.

Теперь мы укажем функцию настройки, в которой подключимся к сети. Но сначала откроем последовательное соединение, чтобы мы могли вывести результат работы программы.

Затем вызываем метод begin для объекта WiFi, передавая в качестве аргументов SSID (имя сети) и переменную пароля, указанные ранее. Это инициализирует подключение к сети.

WiFi.begin(ssid, password);

После этого выполним цикл while, пока соединение не будет установлено. Для этого можем вызвать метод status для объекта WiFi и дождаться, пока результат не совпадет с перечислением WL_CONNECTED. Между каждой итерацией мы вводим небольшую задержку, чтобы избежать постоянного опроса.

while (WiFi.status() != WL_CONNECTED)

После успешного установления соединения можем проверить IP-адрес, назначенный ESP8266, вызвав метод localIP . Это полезно, если мы хотим отправлять данные на ESP8266 из этой сети. Имейте в виду, что это локальный IP-адрес, и поэтому мы не можем связаться с устройством из-за пределов этой сети.

Serial.println(WiFi.localIP());

Полная функция настройки setup() показана ниже.

void setup () < Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) < delay(1000); Serial.println("Connecting.."); >Serial.println(WiFi.localIP()); >

Данный скетч не выводит информацию, если ESP8266 не подключилась к сети. Это может произойти, если у нас отключено сетевое оборудование или указаны неверные данные для подключения. Давайте дополним код и ограничим попытки подключения до 10, и вывод сообщения, если подключиться не удалось.

#include const char* ssid = "NetworkName"; const char* password = "NetworkPass"; byte tries = 10; // Попыткок подключения к точке доступа void setup() < Serial.begin(115200); WiFi.begin(ssid, password); while (--tries && WiFi.status() != WL_CONNECTED) < delay(500); Serial.println("."); >if (WiFi.status() != WL_CONNECTED) < Serial.println("Non Connecting to WiFi.."); >else < // Иначе удалось подключиться отправляем сообщение // о подключении и выводим адрес IP Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); >> void loop() <>

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

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

И вот такое уведомление, если ESP8266 не удалось подключиться к Wi-Fi сети.

И вот такое уведомление, если ESP8266 не удалось подключиться к Wi-Fi сети.

Этот пример показывает только основы подключения к сети Wi-Fi. В следующем уроке рассмотрим, как выполнять более сложные процедуры, такие как отправка HTTP-запросов.

Описание скетча подключение к сети Wi-Fi ESP8266.

Понравился ESP8266 уроки. Подключение к сети Wi-Fi ? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Как узнать удаленный IP на плате ESP?

62b83e8e72e64697834953.png

Как мне узнать IP WiFi, к которому подключена ESP?
Просто мне так придётся каждый раз прописывать вручную IP точки, к которой будет подключаться ESP. А это придётся каждый раз её перепрошивать, что мне не надо.

  • Вопрос задан более года назад
  • 83 просмотра

Комментировать
Решения вопроса 2

Вы никак заранее не узнаете какой будет IP у той или иной точки вифи. это зависит от настроек роутера

Ответ написан более года назад
Комментировать
Нравится 1 Комментировать
«I’m here to consult you» © Dogbert

Как мне узнать IP WiFi, к которому подключена ESP?

Никак, но не потому, что «это зависит от настроек роутера». А потому что нет никакого «IP WiFi». WiFi — это физический и канальный протоколы, IP — транспортный. Можно подключиться к WiFi и не использовать IP. Может быть «IP шлюза по умолчанию» — вы получите его по DHCP, но с WiFi он может быть не связан совсем.

Ответ написан более года назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 2

Вопрос в данной формулировке не имеет смысла.
Есть у меня подозрение, что Вы путаете, смешиваете в кучу два различных процесса:
1) Подключение ESP к некоторой точке доступа, через которую она попадёт в локальную сеть, в интернет, куда там у Вас задумано.
2) Дальнейшую работу платы в качестве клиента или сервера, кем она у Вас там собирается быть?
Разберитесь для начала, на каком этапе каких адресов Вам не хватает, и уточните вопрос

Ответ написан более года назад

YaKotikTvoy

Busk Busikov @YaKotikTvoy Автор вопроса

Да, возможно, не спорю, я абсолютный новичок в этой теме.
Плата — клиент,
есть Windows форма на компьютере, она является сервером, мне просто нужно показания с датчика передать на форму и там её отобразить в listView.
Я хотел, чтобы плата сама связывалась с сервером, чтобы мне вот это не приходилось самому вводить и не лесть в ipconfig.
char* host = «192.168.140.92»;
Ну как видимо нельзя сделать, чтобы плата сама узнавала этот ip-шник.

Артём Сединин, Не встречал телефонов, в которых при раздаче wifi ещё и фиксированные IP выдавать можно было. Так что или терпеть неудобства, или поставить роутер.

Arduino.ru

Доброго времени суток. Всего несколько дней занимаюсь Ардуино. Возможно не с той стороны зашел, но начал с ESP8266. Перешил её на работу с Arduino IDE. Пользуюсь версией 2 (портативной).

Не могу понять, как получить, узнать, и напр, вывести в порт, сетевой адрес, который получает esp8266 при подключении по dhcp к точке доступа. Если из esp8266 создать точку доступа, то айпишник знаю как получить. Вот так:

#include // Библиотека для создания Wi-Fi подключения (клиент или точка доступа) #include #include // Библиотека для управления устройством по HTTP (например из браузера) #include // Библиотека для работы с файловой системой #include // Библиотека для работы с SPIFFS по FTP const char *ssid = "MyESP"; // Название генерируемой точки доступа void setup() < // put your setup code here, to run once: Serial.begin(9600); // Инициализируем вывод данных на серийный порт со скоростью 9600 бод WiFi.softAP(ssid); // Создаём точку доступа Serial.print("\nМой IP для подключения через Web-Browser или по FTP: "); // Выводим на монитор серийного порта сообщение о том, что сейчас будем выводить локальный IP Serial.println(WiFi.softAPIP()); // Выводим локальный IP-адрес ESP8266 Serial.println("\n"); >void loop() < // put your main code here, to run repeatedly: >

А вот как вывести в порт или вообще получить адрес, присвоенный плате в случае, если плата выступает как клиент? Делаю так:

#include // Библиотека для создания Wi-Fi подключения (клиент или точка доступа) #include #include // Библиотека для управления устройством по HTTP (например из браузера) #include // Библиотека для работы с файловой системой #include // Библиотека для работы с SPIFFS по FTP const char* ssid = ""; const char* password = ""; void setup() < Serial.begin(9600); // Инициализируем вывод данных на серийный порт со скоростью 9600 бод while (!Serial) < // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе >WiFi.begin(ssid, password); // Инициализируем подключение к указанной вайфай сети Serial.print(WiFi.localIP()); // Пробую вывести адрес платы > void loop() < // put your main code here, to run repeatedly: >

И ещё. Вроде прочитал в правилах форума, что нужно делать нумерацию строк. Но во вставке кода я не нашел этой функции. Номера строк пишутся руками? Или я упустил какую-то кнопку форматирования? Или не правильно прочитал правила форума?

  • Войдите на сайт для отправки комментариев

Android точка доступа, получить ip адрес подключённых устройств

Есть ESP8266 который подключается к телефону на Android. На телефоне точка доступа WI-FI, ESP является HTTP сервером. Мне необходимо программно получить IP адрес подключённого устройства, чтобы отправлять HTTP запросы. На данный момент я могу узнать IP адрес ESP из монитора порта или на телефоне в параметрах точки доступа, но когда начал тестировать на телефонах Xiaomi, возможности посмотреть IP в настройках нет, только сторонний софт. Планирую организовать подключение нескольких устройств к телефону и их отсортировывать по IP или именам. Подскажите пожалуйста как это реализовать или может использовать другой протокол для связи с телефоном

Отслеживать
задан 21 апр 2023 в 15:11
ThyingEquation ThyingEquation
3 3 3 бронзовых знака
Наверное тут нужен DNS .
21 апр 2023 в 15:44
Ну, можно заморочиться, подключить к esp какой-нибудь экран, чтобы он сам выводил свой ip.
22 апр 2023 в 11:33

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

решил проблему с помощью создания на андроид сервера io.ktor, который принимает запрос от есп с его ip адресом с которым можно дальше работать

Отслеживать
ответ дан 24 апр 2023 в 20:10
ThyingEquation ThyingEquation
3 3 3 бронзовых знака

  • android
  • c++
  • kotlin
  • http
  • esp8266
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.26.3951

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

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