как узнать ip адрес esp8266

Сканировать IP-адрес ESP8266

При подключении к маршрутизатору ESP переходит в режим STA и не создает AP до тех пор, пока не будет найден WiFi, к которому он был подключен ранее. Теперь, когда ESP подключен к маршрутизатору, маршрутизатор назначает IP-адрес ESP, через который будет отправляться команда HTTP. На последовательном мониторе он показывает IP-адрес, которому он назначен, но что, если приложение управляет ESP, нет последовательной связи. Как приложение узнает IP-адрес, назначенный конкретному ESP8266? Каким образом приложение может сканировать маршрутизатор? Или любой другой способ сделать это? Если к маршрутизатору подключено несколько ESP, как определить IP-адрес конкретного ESP.

4 ответа

mDNS также известен как Zeroconf или Bonjour в зависимости от того, с кем вы разговариваете.

Ядро Arduino ESP8266 (если вы программируете ESP8266 напрямую) имеет примеры mDNS. Если вместо этого вы используете интерфейс командной строки AT, вам нужно будет прочитать руководство, чтобы узнать, как отправлять пакеты UDP на адреса многоадресной рассылки.

Вы можете жестко запрограммировать требуемый IP-адрес для ESP8266. (Это может быть невозможно все время). Вот пример кода: https://www.arduino.cc/en/Reference/WiFiConfig

Если вы не являетесь жестким IP-адресом, вы можете прочитать IP-адрес ESP с помощью функции WiFi.localIP () в Arduino.

Относительно mDNS это решение, но, к сожалению, оно имеет ограничение, как в настоящее время не поддерживается платформой Android.

Мое предложение состоит в том, чтобы продолжать прослушивать порт UDP во всем диапазоне IP-адресов сети, как и в токене, и когда вы нашли правильный ответ пакета UPD вместе с этим IP /MAC-портом устройства внутри этого повторно воспроизведенного пакета, тогда вы будете хорошо идти.

Несомненно, это займет немного времени, но только один раз или до тех пор, пока IP-адрес не будет изменен.

Источник

Как узнать ip адрес esp8266

Ваша корзина пуста!

Как задать статический IP адрес контроллеру ESP8266?

Будем рассматривать этот вопрос на примере платы контроллера NodeMcu 0.9 ESP-12 WIFI ESP8266.

Давайте для начала рассмотрим этот способ удобного обращения к нашему WiFi контроллеру при помощи придуманных символьных адресов. Тем более, что в примерах приведен не полный и неправильный синтаксис обращения к классу mDNS.

Действительно, задумка очень интересная. Работает это так: мы в программном коде своей программы указываем символьное название сервера, который будет крутиться в ESP8266. Например мы назовем его «teplica1» (теплица1). И чтобы обратиться к web-странице этого сервера, мы просто в адресной строке браузера нашего компьютера или гаджета пишем

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

Вот изменённый код web-сервера, взятый со стандартного библиотечного примера, который поддерживает сетевое назначение имен mDNS.

Хочу статический IP на ESP8266

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

Эта функция принимает следующие параметры: IP-адрес, гейтвей и маску подсети. У них довольно интересный тип переменной (посмотрим в примере). config активируют после функции begin.

Я взял предыдущий пример с mDNS и переделал его под задаваемый IP адрес без класса mDNS.

После загрузки этой программы в плату контроллера, можно любым браузером в WiFi сети перейти по адресу

и получим ответ hello from esp8266!

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

Ну что же, продолжим и дальше раскапывать запрятанные возможности нашей родной WiFi библиотеки и отображать результаты раскопок в статьях!

Модуль часов реального времени DS1302 + батарейка

Модуль часов для любительских контроллеров на основе специализированной микросхемы DS1302Напряж..

Симистор BT136-600E (600В 4А)

Симистор в корпусе TO220Предназначен для коммутации или фазового регулирования в цепях переменн..

Читайте также:  как узнать плотность населения по карте

Динамик 50мм 0,5 Вт 8 Ом

Драйвер шагового двигателя L298N

Стерео усилитель мощности 15Втх2 на TDA7297

Двухканальный усилитель звуковой частоты на основе микросхемы TDA7297Имеет защиту от перегрузки..

Источник

как узнать IP, посоветуйте

Legantmar

New member

Опыт работы с контроллерами esp8266 более 2 лет.
Извиняюсь за многобукв, но не знаю как короче объяснить «проблему» ))
Предисловие:
Планирую коммерческое устройство подсоединяемое к роутеру пользователя с выходом в интернет (нужны NTP часы).
Проблема:
У всех роутеров различается третий сегмент IP адреса, примеры
192.168.0.1, 192.168.1.1, 192.168.100.1, 192.168.200.1 и другие..

Как я себе видел решение:
Пользователь при первом включении (esp встает в точку доступа) подключается к устройству, например, с телефона.
На странице настроек задает имя и пароль своего роутера.
После перезагрузки esp подключается к роутеру (включает режим клиента), определяет IP адрес который выдал роутер (при необходимости меняет последний сегмент). И при этом сохраняет режим точки доступа. (т.е. находится в двойном режиме WI-FI)
Пользователь снова заходит с телефона на точку доступа (esp) и смотрит IP адрес по которому esp подключился к роутеру.
Далее может управлять с любого компьютера подключенного к роутеру.

Проблема:
В таком режиме полностью отваливается WI-FI при запросе html страниц буквально через 5-10 минут. Независимо откуда заходит пользователь, напрямую с телефона (на точку доступа esp) или через роутер (esp клиент).
Проблема точно не в блоке питания и не в стабилизаторе 3,3В. Проверял на 3 экземплярах. У всех одинаковые симптомы (подозрение на сам контроллер и мою схему включения). (При этом в режиме приема get запросов без выдачи html ответов живет дольше, чем если каждый раз загружать в браузер html страницы с контроллера)

Посоветуйте свое решение.
Спасибо за внимание.

Источник

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Как получить MAC-адрес ESP32 / ESP8266 и изменить его

В этом руководстве показано, как получить MAC-адрес ESP32 или ESP8266 с помощью Arduino IDE. Мы также покажем, как изменить MAC-адрес вашей микросхемы.

MAC-адрес означает адрес управления доступом к среде и является уникальным идентификатором оборудования, который идентифицирует каждое устройство в сети. MAC-адреса состоят из шести групп из двух шестнадцатеричных цифр, разделенных двоеточиями, например: 30:AE:A4:07:0D:64.

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

Чтобы получить MAC-адрес своей платы, просто загрузите следующий код в ESP32 или ESP8266. Код совместим с обеими микросхемами.

После загрузки кода откройте последовательный монитор со скоростью 115200 бод. Нажмите на плате кнопку RESET или кнопку EN. MAC-адрес должен быть выведен в последовательном мониторе, как показано на следующем изображении.

Теперь вы знаете, как получить MAC-адрес платы ESP32 или ESP8266. Но в некоторых приложениях может быть полезно дать вашим платам собственный MAC-адрес. Однако, как объяснялось ранее, это действие полностью не перезаписывает MAC-адрес, установленный производителем. Таким образом, каждый раз, когда вы сбрасываете плату или загружаете новый код, она возвращается к своему MAC-адресу по умолчанию.

Следующий код устанавливает пользовательский MAC-адрес для ESP32.

После загрузки кода откройте последовательный монитор со скоростью 115200 бод. Перезагрузите ESP32, и вы должны получить его старый и новый MAC-адрес.

Следующий код устанавливает пользовательский MAC-адрес для ESP8266.

После загрузки кода откройте последовательный монитор со скоростью 115200 бод. Перезагрузите ESP8266, и вы должны получить его старый и новый MAC-адрес.

В этом кратком руководстве мы показали, как получить MAC-адрес производителя ESP32 и ESP8266 с помощью Arduino IDE. Вы также узнали, как установить собственный MAC-адрес для ваших микросхем.

Источник

Работа с ESP8266: Первоначальная настройка, обновление прошивки, связь по Wi-Fi, отправка-получение данных на ПК

На Хабре уже было пару статей о чипе ESP8266 китайской компании Espressif. Статья №1 и Статья №2. Не так давно я получил плату ESP-01 для проведения тестирования. Кому интересно, прошу под кат.

Читайте также:  как узнать isrc код

Мной была заказана самая простая плата с ESP8266 — ESP-01, выглядит она так:

В старой ревизии платы на разьем были выведены только VCC, GND, URXD и UTXD.
В последней ревизии добавились RST, GPIO0, GPIO2 и CH_PD.

Всего есть 11 модификаций плат, различающихся количеством выводов и вариантом исполнения:
ESP-01: PCB antenna, after matching the distance to do about the open 400 meters, easy to use.
ESP-02: SMD package for submission limit, the antenna can be drawn with the IPX header casing.
ESP-03: SMD package, the built-in ceramic antenna technology, all available IO leads.
ESP-04: SMD package, customers can customize the antenna types, flexible design, all the IO leads.
ESP-05: SMD package, only leads to serial and RST pin, small external antenna.
ESP-06: bottom mount technology, leads all the IO ports, with metal shielding shell, can be had FCC CEcertification, recommended.
ESP-07: Semi-hole chip technology, all the IO leads, with metal shielding shell, can be had FCC CE certifiedIPX external antenna, can also be built-in ceramic antenna.
ESP-08: with the ESP-07, except that the antenna is in the form of customers can define their own.
ESP-09: Ultra-small size package, only 10 * 10 mm, four-layer board technology 1M bytes.
ESP-10: SMD interface, narrow-body design, 10 mm wide, suitable for light with controller.
ESP-11: SMD interface, ceramic antenna, small volume.

Распиновка разъёма ESP-01:

Назначение выводов платы ESP-01 такое:
VCC, GND — питание платы (+3.3В);
URXD,UTXD — выводы RS232 толерантны к 3.3В
RST — Аппаратный сброс (reset)
GPIO0, GPIO2 — выводы GPIO
CH_PD — Chip enable, для работы должен быть подключен к +3.3В.

Для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD.

Для подключения платы ESP-01 к ПК я использовал USB-to-RS232 преобразователь на FT232R с выходами TTL 3.3В, можно использовать например такой.
Питание ESP-01 нужно строго 3.3В, поэтому пришлось воспользоваться DC-DC преобразователем, можно использовать такой.

С базовой прошивкой плата ESP-01 управляется AT командами, поэтому нам потребуется программа-терминал, я использовал CoolTerm.

Возможно 2 варианта использования модуля:
1. Использование платы ESP-01 совместно с доп.микроконтроллером, который будет управлять модулем по UART.
2. Написание собственной прошивки для чипа ESP8266 и его использование как самодостаточного устройства.

Естественно более выгодным является 2-й вариант, тем более потенциал чипа ESP8266 достаточно велик.

Для начала мы попробуем вариант №1, то есть управлять платой ESP-01 через RS232.

Схема подключения очень простая:
Вывод VCC — питание платы (+3.3В);
Вывод GND — общий;
Выводы URXD,UTXD — подключаем к конвертеру USB-to-RS232 (в режиме 3.3В)
Вывод CH_PD — подключаем к питанию платы (+3.3В);

В терминале (CoolTerm) устанавливаем скорость COM-порта 57600. Установить нужно именно такую скорость, т.к. если в чипе ESP8266 стоит старая прошивка (а скорее всего это так и есть), то он будет работать только с такой скоростью порта.

Жмем Connect, вводим команду AT, в ответ должно прийти OK. Если все так, то плата работает, можно двигаться дальше.

Процедура обновления прошивки

Вводим команду AT+GMR — проверка версии AT и SDK, в ответ выдает 0016000902, где 0016 — версия SDK, 0901 — версия AT

На текущий момент (06.11.2014) уже доступна прошивка 0018000902 (Версия SDK — 0018, в версия AT — 0902)

После обновления до версии 0018000902 изменится дефолтная скорость COM-порта с 57600 на 9600, но эту скорость в новой прошивке теперь можно задать командой AT+CIOBAUD. Смотрим AT+CIOBAUD=? доступные скорости и ставим командой AT+CIOBAUD=115200 скорость 115200, в ответ должно выдать ОК. Даем команду на рестарт: AT+RST. Меняем скорость порта в программе-терминал на 115200.

Читайте также:  как узнать какая прошивка на калине

Настройка подключения к Wi-Fi

Теперь попробуем подключить нашу плату ESP-01 к Wi-Fi точке доступа.
Выполняем следующие команды:
1. Устанавливаем режим работы Wi-Fi командой: Доступны следующие режимы: 1 — STA, 2 — AP, 3 — BOTH
Пример:
2. Смотрим список точек доступа командой: AT+CWLAP
Пример
В скобках указывается: SECURITY, SSID, RSSI, BSSID, CHANNEL
SECURITY может принимать значения:
0 — OPEN, 1 — WEP, 2 — WPA-PSK, 3 — WPA2-PSK, 4 — MIXED (WPA-WPA2-PSK)
3. Подключаемся в нашей AP командой: Пример:
Подключение длится 2-5 секунд, после чего в случае успешного выполнения появится OK.
3. Посмотрим какой IP адрес получила наша плата командой: AT+CIFSR
Отключение от точки доступа делается командой AT+CWQAP.
Адрес получен, можно двигаться дальше.

Плата ESP-01 может выступать в качестве Soft-AP, для включения этого режима выполняем следующие команды:
1. Отключаемся от точки доступа: AT+CWQAP.
2. Меняем режим работы Wi-Fi командой: AT+CWMODE=2
3. Создаем свою AP командой: Пример:
4. Пробуем подключиться в нашей AP с компьютера. Посмотрим результат:

Как видно на картинке скорость только 54Мбит/с и еще меня смущают адреса DNS серверов, думаю они явно китайские, поставить свои через AT-команды нельзя.
Адрес AP можно узнать командой: AT+CIFSR
Пример:
Список клиентов нашей AP можно посмотреть командой: AT+CWLIF
Пример:

Настройка режима TCP-сервер

На плате ESP-01 можно запустить TCP-сервер для приема-отправки данных или она может выступать TCP-клиентом для приема-отправки данных на сервер.
Для запуска TCP-сервера выполним следующие команды:
1. Устанавливаем режим передачи командой mode = 0 — not data mode (сервер может отправлять данные клиенту и может принимать данные от клиента)
mode = 1 — data mode (сервер не может отправлять данные клиенту, но может принимать данные от клиента)
Пример:
2. Устанавливаем возможность множественных соединений: mode 0 — single connection
mode 1 — multiple connection
Проверить режим соединений можно командой AT+CIPMUX?
Пример:
3. Запускаем сервер на порту 8888: mode 0 — to close server
mode 1 — to open server
Пример:

Настройка режима TCP-клиента

Теперь поменяем роли, ПК — сервер, ESP-01 — клиент, пробуем:
1. Рестартуем плату AT+RST
2. Устанавливаем режим передачи командой mode = 0 — not data mode (клиент может отправлять данные серверу и может принимать данные от сервера)
mode = 1 — data mode (клиент не может отправлять данные серверу, но может принимать данные от сервера)
Пример:
3. Режим соединений ставим Multiple connection: AT+CIPMUX=1
4. На ПК в SocketTest запускаем сервер на порту 8888
5. Запускаем клиента на ESP-01
Для режима Single connection (+CIPMUX=0) формат такой Для режима Multiple connection (+CIPMUX=1) формат такой Возможные значения параметров:
id = 0-4
type = TCP/UDP
addr = IP адрес
port= порт
Пример:
6. Отправляем данные с ESP-01 на ПК
Для режима Single connection (+CIPMUX=0) отправка идет так: Для режима Multiple connection (+CIPMUX=1) отправка идет так: После выполнения AT+CIPSEND нужно ввести текст, завершение ввода и отправка осуществляется по Enter.
Пример:

Пример отправки и получения данных:

Как мы видим, плата успешно справляется с поставленными задачами, а именно — подключение к Wi-Fi в качестве клиента, может выступать в роли Soft-AP, на плате можно поднять TCP-сервер для приема-отправки данных, а можно быть TCP-клиентом.
В данной статье мы рассмотрели работу с платой ESP-01 через RS232, в качестве управляющего контроллера выступал ПК, можно без проблем подключить плату Arduino или любой микроконтроллер с UART и выполнять отправку-прием данных через Wi-Fi сеть между контроллерами или ПК.

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

Буду рад ответить на вопросы, хотя до конца я еще не узучил плату ESP-01.

Источник

Советы мастера