как узнать айпи esp32

ESP32: Wi-Fi

Для работы с Wi-Fi понадобится встроенная библиотека WiFi.h (исходники). В большинстве примеров вам надо знать имя сети и пароль от него. После окончания работы желательно вызывать метод WiFi.disconnect(true);.

Базовый минимальный пример

Сначала рассмотрим базовый пример для общего понимания. Все пояснения в комментариях.

Теперь можно писать более сложные примеры.

Получить IP-адреса

В пассивном режиме без входа в сеть вы получите IP-адрес, равный 0.0.0.0. Если нужно получить реальный адрес, то скетч нужно переписать. Добавим возможность входа в сеть, используя учётные данные.

Теперь вы получите реальный IP-адрес. Узнав адрес через WiFi.localIP(), вы можете в командной строке ввести команду ping ESP_ADDRESS (подставьте ваш адрес), чтобы убедиться, что устройство находится в сети. Пригодится для отладки примеров.

Метод WiFi.getHostname() возвращает имя платы espressif. По идее по этому имени тоже можно обращаться через команду ping espressif, но у меня этот вариант не заработал.

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

Другой вариант получения IP-адреса через лямбда-функции.

Ещё один пример получения IP-адреса разными способами. На этот раз обойдёмся без лямбда-функции. Как и в предыдущем примере мы отслеживаем событие SYSTEM_EVENT_STA_GOT_IP и при его наступлении вычисляем адрес.

Узнать настройки Wi-Fi модуля

Для скетча нам не понадобится вводить пароль от Wi-Fi, достаточно просто включить сам Wi-Fi на плате и узнать его Mac-адрес, запустить диагностику, узнать локальный адрес.

WiFiScan

Встроенный пример Examples/WiFi/WiFiScan служит для сканирования WiFi-сети. Выводит число найденных точек и их названия.

В скетче используются следующие функции:

Сканируем WiFi-сеть. Расширенный вариант

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

Для удобства часть кода поместим в отдельные функции: scanNetworks() и connectToNetwork() (её можно использовать при использовании контроллера в качестве веб-клиента.

В мониторе порта выводится следующая информация (часть данных я убрал в целях безопасности).

Точка доступа

Плата ESP32 может работать как точка доступа. Для первого знакомства получим базовую информацию о точке доступа через доступные функции. Мы можем установить собственные значения для SSID и пароля (пароль можно даже не указывать, чтобы сеть была открытой).

После загрузки скетча мы получим IP-адрес платы. В настройках компьютера или смартфона должна появиться созданная точка доступа. Кстати, когда пробовал вариант с паролем, то точка доступа не создалась почему-то.

Отслеживаем момент подключения и отключения устройства к точке доступа

За соответствующие события отвечают SYSTEM_EVENT_AP_STACONNECTED и SYSTEM_EVENT_AP_STADISCONNECTED.

После загрузки скетчка в настройках телефона найдите созданную точку доступа и присоединитесь к ней. Момент подключения будет обнаружен и в мониторе порта появится сообщение о соединении.

Mac-адрес для точки доступа

В первом примере с получением настроек модуля мы вычисляли Mac-адрес через функцию WiFi.macAddress. Существует также функция WiFi.softAPmacAddress(), когда плата работает в режиме точки доступа.

Включаем поддержку IPv6

Мы можем включить поддержку IPv6 и получить адрес в этом формате. Включение поддержки IPv6 происходит при помощи функции softAPenableIpV6(). Вызовем функцию при событии SYSTEM_EVENT_AP_START, когда активируется точка доступа.

После включения поддержки в событии SYSTEM_EVENT_AP_STA_GOT_IP6 (получение адреса) узнаём IPv6-адрес.

Сколько устройств подключено к точке доступа

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

Источник

Как настроить точку доступа на ESP32 для веб-сервера

В сетях Wi-Fi микроконтроллер ESP32 может работать и как станция, и как точка доступа, и в обоих режимах одновременно. В этом руководстве мы покажем, как настроить ESP32 в качестве точки доступа с использованием среды программирования Arduino IDE.

как узнать айпи esp32. ESP32 access point 1 1. как узнать айпи esp32 фото. как узнать айпи esp32-ESP32 access point 1 1. картинка как узнать айпи esp32. картинка ESP32 access point 1 1.

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

как узнать айпи esp32. esp32 station. как узнать айпи esp32 фото. как узнать айпи esp32-esp32 station. картинка как узнать айпи esp32. картинка esp32 station.

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

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

как узнать айпи esp32. access point. как узнать айпи esp32 фото. как узнать айпи esp32-access point. картинка как узнать айпи esp32. картинка access point.

Здесь мы покажем, как настроить ESP32 как точку доступа для своего проекта с веб-сервером. В этом случае вам не понадобится подключаться к маршрутизатору для управления микроконтроллером ESP32. Так как ESP32 не подключается далее к более широкой сети (в отличие от маршрутизатора), она называется мягкая точка доступа (soft Access Point).

Установка ESP32 в Arduino IDE

Для среды Arduino IDE существует дополнение, которое позволяет программировать микросхему ESP32 посредством этой среды и её языка программирования.

Код для создания точки доступа на ESP32

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

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

Источник

5 экспериментов с WiFi на ESP32

Платы ESP32 весьма популярны в виду низкой цены, неплохой вычислительной мощности (процессор 200МГц), развитого SDK с поддержкой как MicroPython так и Arduino IDE, наличием GPIO c поддержкой периферии (SPI, I2C и пр) и беспроводной связи (WiFi, Bluetooth). Сегодня мы посмотрим, что можно сделать на такой плате ценой всего лишь около 12$.

как узнать айпи esp32. image loader. как узнать айпи esp32 фото. как узнать айпи esp32-image loader. картинка как узнать айпи esp32. картинка image loader.

Мы рассмотрим разные варианты использования WiFi, от простого коннекта к сети до WiFi-сниффера. Для тестов понадобится любая плата с ESP32 (лучше с OLED-экраном, как на картинке) и Arduino IDE.

Для тех кому интересно как это работает, продолжение под катом.

Я не буду писать, как подключить библиотеки ESP32 к Arduino IDE, желающие могут посмотреть здесь. Отмечу лишь, что у данной платы есть особенность — для загрузки кода из Arduino IDE нужно во время заливки нажать и подержать кнопку Boot. В остальном, использование платы ничем не отличается от обычных Arduino.

Теперь приступим к коду. Все примеры кода полностью готовы к использованию, их можно просто скопировать и вставить в Arduino IDE.

1. Подключение к WiFi и получение точного времени

Раз уж на плате есть WiFi, самое простое что мы можем сделать, это подключиться к существующей WiFi-сети. Это общеизвестно, и работало еще на ESP8266. Однако просто так подключиться и ничего не делать неинтересно, покажем как загрузить точное время по NTP. С помощью нижеприведенного кода нашу плату с ESP несложно превратить в настольные (или для гиков 100lvl наручные:) часы.

как узнать айпи esp32. image loader. как узнать айпи esp32 фото. как узнать айпи esp32-image loader. картинка как узнать айпи esp32. картинка image loader.

Код довольно прост, интересно что поддержка NTP уже встроена в стандартные библиотеки, и ничего доустанавливать не нужно. Для работы OLED-экрана нужно установить библиотеку SSD1306.

Переменные ssid и password нужно будет заменить на параметры реальной точки доступа, в остальном, все работает «из коробки».

2. WiFi точка доступа

Разумеется, мы можем не только подключиться к точке доступа, но и создать свою. В данном примере мы запустим мини веб-сервер, открыть который можно например, со смартфона. Отдельно можно отметить обработку события SYSTEM_EVENT_AP_STACONNECTED, что позволяет узнать, сколько клиентов подключалось к нашей точке доступа.

Фото того, как это работает, показано на КДПВ.

При запуске программы на экране будет отображено имя точки доступа и IP-адрес. Подключившись со смартфона к точке доступа, можно в браузере набрать IP и увидеть содержимое web-страницы.

Сервер будет работать и без OLED-экрана, в этом случае отладочную информацию можно смотреть с помощью Serial Monitor в Arduino IDE.

3. WiFi точка доступа с DNS

Предыдущий пример можно улучшить, если активировать поддержку DNS. В этом случае не придется вбивать IP, вместо него можно использовать полноценное имя, например www.myesp32.com.

как узнать айпи esp32. image loader. как узнать айпи esp32 фото. как узнать айпи esp32-image loader. картинка как узнать айпи esp32. картинка image loader.

В исходнике используется класс WebServer, который позволяет сделать код обработки запросов гораздо короче.

4. WiFI Sniffer

Еще один интересный пример использования WiFi приведен на странице https://github.com/ESP-EOS/ESP32-WiFi-Sniffer. WiFi на ESP32 можно перевести в так называемый promiscuous mode, что позволяет незаметно мониторить пакеты WiFi, не подключаясь к самой сети. В частности, можно видеть MAC-адреса находящихся поблизости устройств:

как узнать айпи esp32. image loader. как узнать айпи esp32 фото. как узнать айпи esp32-image loader. картинка как узнать айпи esp32. картинка image loader.

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

5. WiFi Packet Monitor

Другой пример использования promiscuous mode — графический мониторинг активности канала, также как и в предыдущем случае, подключения к самой сети не требуется.
как узнать айпи esp32. image loader. как узнать айпи esp32 фото. как узнать айпи esp32-image loader. картинка как узнать айпи esp32. картинка image loader.
Исходный код был взят здесь, из него была убрана поддержка записи на SD (на плате её все равно нет) и был исправлен баг с графической библиотекой. Переключать номер канала для мониторинга можно либо нажатием кнопки (на плате её тоже нет:) либо посылкой соответствующего числа через Serial Monitor в Arduino IDE.

Одна плата ESP32 может мониторить только 1 канал, но при дешевизне этих плат вполне можно сделать вот так:

как узнать айпи esp32. image loader. как узнать айпи esp32 фото. как узнать айпи esp32-image loader. картинка как узнать айпи esp32. картинка image loader.
Источник: github.com/spacehuhn/WiFiSatellite

Заключение

Как можно видеть, в плане соотношения возможностей и цены, ESP32 довольно интересны, и в любом случае, намного функциональнее обычных Arduino. Эксперименты с WiFi также довольно занимательны, на плате можно держать не только вполне функционирующий веб-сервер (даже с поддержкой websockets), но и изучить работу WiFi и MAC более детально.

В целом, модули ESP32 интересны тогда, когда возможностей Arduino уже не хватает, а использовать Raspberry Pi с Linux еще избыточно. Кстати, вычислительные возможности ESP32 позволяют использовать даже модуль камеры, так что плату можно использовать в качестве беспроводного видеозвонка или прототипа для домашней системы видеонаблюдения.

Источник

Arduino.ru

Но вопрос не в этом. Несколько иной будет вопрос. Я уже знаю, что для того, чтобы достучаться извне-к ардуине ethernet (или esp32-в моем конкретном случае), находящейся за роутером-нужен проброс портов, настройка DDNS, регистрация на noip.com.

У меня же сейчас, суть сервиса заключается в том, что (пошагово):

1) esp32 подключается к wifi сети роутера;

как узнать айпи esp32. picture 15810. как узнать айпи esp32 фото. как узнать айпи esp32-picture 15810. картинка как узнать айпи esp32. картинка picture 15810.

Ок, я тоже так думал-сейчас глянул свой внешний ip- он 37. что то там. А внутренний как раз 192.168.*

САМ ВОПРОС: есть ли некий простой автоматический способ дать возможность достучаться к любой esp32, находящейся за роутером-из внешнего интернета- без настройки всяких сложных вещей? 🙂

P.S. Будут пользовать условно «домохозяйки». Поэтому все эти страшные слова-темный лес для них. Я то-настрою. Они- гарантированно нет.

Тоже вполне по-моему. Временной лаг может и будет-но не сильный.

Тогда даже не надо достукиваться до esp32. Она сама всё что надо- с сервера забирает.

Какой файлик, господи. Стандартный сервер сообщений, поддерживает постоянное соедниение, никакой задержки. Тот же пресловутый mqtt.

Ну вот. И это будет самое простое. Зачем стучать с той стороны-если можно с этой 🙂

как узнать айпи esp32. picture 18561. как узнать айпи esp32 фото. как узнать айпи esp32-picture 18561. картинка как узнать айпи esp32. картинка picture 18561.

Интерес энтомологический: а два доллара в месяц за VPS в Амстердаме или Франкфурте, который решит все подобные траблы, это большая брешь в бюджете?

Поясните свою мысль. И причем тут VPS? Сервис то «железный». То бишь вебсайт+железные устройства у пользователей.

как узнать айпи esp32. picture 18561. как узнать айпи esp32 фото. как узнать айпи esp32-picture 18561. картинка как узнать айпи esp32. картинка picture 18561.

Поясните свою мысль. И причем тут VPS? Сервис то «железный». То бишь вебсайт+железные устройства у пользователей.

VPN туннель от твоего роутера на VPS, например на OpenVPN. Проброс порта с реального IP на VPS-ке на внутренний IP твоего ESP32. Я где-то полгода назад тут это показывал. Но нормальному админу показывать не надо, это с закрытыми глазами и после поллитра текилы строится за полчаса.

Для начала: я вам не тыкал. Это раз.

Второе-не надо пытаться грубить и показать что дох..я умный. Есть что сказать по делу, спокойно-говорим. Нет-идем мимо.

Я нигде словом не обмолвился, что я «супер-пупер-админ-решаю-всё-за-2-секунды». Я-спросил совета.

как узнать айпи esp32. picture 18561. как узнать айпи esp32 фото. как узнать айпи esp32-picture 18561. картинка как узнать айпи esp32. картинка picture 18561.

Для начала: я вам не тыкал. Это раз.

Второе-не надо пытаться грубить и показать что дох..я умный. Есть что сказать по делу, спокойно-говорим. Нет-идем мимо.

Я нигде словом не обмолвился, что я «супер-пупер-админ-решаю-всё-за-2-секунды». Я-спросил совета.

Бате своему советы давай, если знаком, это раз.

Вобщем, проходи мимо человек, не загораживай свет 🙂

как узнать айпи esp32. picture 18561. как узнать айпи esp32 фото. как узнать айпи esp32-picture 18561. картинка как узнать айпи esp32. картинка picture 18561.

Я твоих советов, «динозавр» сраный вроде как не спрашивал 🙂

Тема собственностью не является.

каждый волен писать что считает необходимым.

если написанное неприемлемо приходит модер и разбирается

достучаться инициативно не может, пакет от сервера придет только как ответ на пакет изнутри сети

то, что Вам надо называется белый IP и проброс порта. Гуголь в помощь

VPN сложно для домохозяек, не годится.

как узнать айпи esp32. picture 18561. как узнать айпи esp32 фото. как узнать айпи esp32-picture 18561. картинка как узнать айпи esp32. картинка picture 18561.

VPN сложно для домохозяек, не годится.

А ты так понял, что у ТС и устройства у домохозяек и фронт-енд? Я то подумал, что устройства в известном месте. Может я не прав.

как узнать айпи esp32. picture 15810. как узнать айпи esp32 фото. как узнать айпи esp32-picture 15810. картинка как узнать айпи esp32. картинка picture 15810.

Уникально именовать можно, например, перед отдачей девайса клиенту, прописывая в память какой-нибудь GUID, сгенерённый той же виндой, или любым онлайн-сервисом генерации, коих как говна за баней.

В esp32 есть глобально уникальный MAC-адрес.

Кстати да (насчет MAC адреса)!

А в целом, в любом случае-всем спасибо за то, что нашли время зайти и отписаться! 😉

Уже копаю плотно MQTT.

Места расположения железных устройств заранее неизвестны, владельцы-условные «домохозяйки». Которые если на сайт зайти сумеют-и то спасибо. Настроить что то сложное-вообще никак им:-))))

Но arp не везде пролезает, чтобы работать по мас ам

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

кстати часто интернет юзеры имеют внешний адрес роутера из диапазона 10.0.0.0 и это означает, что они уже во внутренней подсети и тут форвардинг должен протаптывать провайдер

тут уже девайс сидит за двумя маскарадингами

Но arp не везде пролезает, чтобы работать по мас ам

как узнать айпи esp32. picture 42215. как узнать айпи esp32 фото. как узнать айпи esp32-picture 42215. картинка как узнать айпи esp32. картинка picture 42215.

Структуру нарисуйте, о которой гоаорите, с адресами и протоколами

То есть, юзеру не потребуется пробрасывать порты на роутере?

Просто повторюсь-это будет домохозяйка-которая не сможет:-)

как узнать айпи esp32. picture 42215. как узнать айпи esp32 фото. как узнать айпи esp32-picture 42215. картинка как узнать айпи esp32. картинка picture 42215.

То есть, юзеру не потребуется пробрасывать порты на роутере?

как узнать айпи esp32. picture 42215. как узнать айпи esp32 фото. как узнать айпи esp32-picture 42215. картинка как узнать айпи esp32. картинка picture 42215.

Структуру нарисуйте, о которой гоаорите, с адресами и протоколами

То есть, юзеру не потребуется пробрасывать порты на роутере?

ЭЭм, а VPN клиент сам по себе волшебно где-то поднимется?

В общем пытаюсь поднять MQTT подключение.

Накопал мануал-пытаюсь на его основе сотворить нечто свое :-)))

Ругается на строку 030(эта конструкция мне незнакома) и на строку 046 (это знакомо-но пока не пойму, почему).

как узнать айпи esp32. picture 25991. как узнать айпи esp32 фото. как узнать айпи esp32-picture 25991. картинка как узнать айпи esp32. картинка picture 25991.

Ругаеца-то какими словами?

void callback( const MQTT::Publish &pub)

Ругаеца-то какими словами?

void callback( const MQTT::Publish &pub)

Выглядит это так(поправил):

А потом закомментил этот кусок кода, глянуть, где еще есть косяки(то что я закомментил, не должно вызвать ошибку вроде) и вылезло вот это еще:

Два сообщения запостилось-удалил одно.

как узнать айпи esp32. picture 25991. как узнать айпи esp32 фото. как узнать айпи esp32-picture 25991. картинка как узнать айпи esp32. картинка picture 25991.

скорее всего какой то заголовочный файл в котором обьявлен тип MQTT не подключен. Ищи, где обьявляется этот тип и подключай #include-ом

как узнать айпи esp32. picture 25991. как узнать айпи esp32 фото. как узнать айпи esp32-picture 25991. картинка как узнать айпи esp32. картинка picture 25991.

ESP32_MQTT_2:30:21: error: ‘MQTT’ does not name a type

говорит о том, что в доступных программе файлах нигде не описан тип MQTT. Пока не найдешь заголовочник, где он описан, и не подключишь его, дальше тебя не пустют

Ок, буду дальше копать.

Всё, удалось поднять MQTT!

В конце концов надоели мне все эти глюки-и пошел гуглить. В рунете ничего сносного не нашел-а в буржунете моментально!

Короче говоря, если кто в будущем будет копать эту же тему, вот тут лежит полностью рабочий код: https://iotdesignpro.com/projects/how-to-connect-esp32-mqtt-broker

Все сделал по мануалу как там и без проблем настроилось подключение и сообщение в esp32 с внешнего интернета проходят без проблем!

Как сказал бы чукча «моя счастлива» :-))))

как узнать айпи esp32. picture 15810. как узнать айпи esp32 фото. как узнать айпи esp32-picture 15810. картинка как узнать айпи esp32. картинка picture 15810.

Как сказал бы чукча «моя счастлива» :-))))

Ну а тебе что говорили? 😉 Всё правильно сделал 😉

Всем доброго, еще раз!

Сейчас ломаю голову вот над чем-может кто подскажет чего.

Может конечно чего не знаю или не понимаю. В общем, как всегда- любому совету буду рад.

Установить можно на VPS/VDS/etc.
При покупке http/email/dns хостинга ничего кроме оплаченного использовать не получится.

Спасибо! Подозревал нечто такое.

Заодно спрошу еще такую штуку-может есть какое простое решение-если кто в курсе:

Вкратце, для чего нужно: мои железки на базе esp32 будут находится у абсолютно разных людей. Хочу, чтобы при коннекте к домашней wifi- esp32 коннектилась к серверу mqtt, регилась автоматом на нем и для нее заводился там аккаунт(при коннекте передается ее MAC-адрес, как уникальное имя+ сгенеренный уникальный пароль. Все это происходит автоматом, «под капотом»-невидимо для пользователя).

Зачем это надо: убрать с пользователя чисто технический геморрой по максимуму. Приконнектился к wifi-и управляй esp32 с сайта. А как там и что происходит «под капотом»- до барабана. Вот так хочу выстроить. Программистов, чтобы собрать систему уже нашел. Только вот думаю, может готовое есть?

Интересует именно серверная часть для vps. Насчет скетча для esp32- там все прозрачно и понятно.

Источник

Управление ESP32/ESP8266 с помощью веб-сервера и физической кнопки

В этом руководстве рассмотрим, как управлять выходами ESP32 или ESP8266 одновременно с помощью веб-сервера и физической кнопки. Состояние вывода обновляется на веб-странице независимо от того, было ли оно изменено с помощью кнопки или сервера.

как узнать айпи esp32. title 10. как узнать айпи esp32 фото. как узнать айпи esp32-title 10. картинка как узнать айпи esp32. картинка title 10.

Платы ESP32 / ESP8266 будут программироваться с использованием Arduino IDE. Найти информацию о том, как установить ESP32 в Arduino IDE вы можете здесь:

Обзор проекта

Давайте посмотрим, как должен работать проект.

как узнать айпи esp32. scheme 4. как узнать айпи esp32 фото. как узнать айпи esp32-scheme 4. картинка как узнать айпи esp32. картинка scheme 4.

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

Схема

Прежде чем продолжить, необходимо собрать схему со светодиодом и кнопкой. Подключим светодиод к GPIO 2, а кнопку к GPIO 4.

Требуемые детали

Вот список деталей, необходимых для сборки схемы:

Схема ESP32

как узнать айпи esp32. scheme2. как узнать айпи esp32 фото. как узнать айпи esp32-scheme2. картинка как узнать айпи esp32. картинка scheme2.

Схема ESP8266 NodeMCU

как узнать айпи esp32. scheme esp8266. как узнать айпи esp32 фото. как узнать айпи esp32-scheme esp8266. картинка как узнать айпи esp32. картинка scheme esp8266.

Вам необходимо установить следующие библиотеки:

Код веб-сервера для ESP

Скопируйте следующий код в свою Arduino IDE.

Источник

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

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