• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено REST запросы ESP<=>ESP

svdu

New member
Доброго времени!!!

Имеем следующую апликацию одна ESP-шка в качестве акцес пойнта.
Несколько ESP-шкек выступают в качестве клиентов.
Обмен данными будет происходить REST запросами Типы HTTP-запросов и философия REST

Столкнулся с такой проблемой....

ТЕСТОВАЯ СХЕМА 1.
ESP1 - HTTP сервер, WiFi клиент домашнего роутера
ESP2 - HTTP клиент, WiFi клиент домашнего роутера
PC - HTTP клиент, WiFi клиент домашнего роутера, компьютер.

Посылаю REST запросы на ESP1 c компьютера все работает...
Посылаю REST запросы на ESP1 с ESP2 все работает...

ТЕСТОВАЯ СХЕМА 2.
ESP1 - HTTP сервер, WiFi акцесс пойнт
ESP2 - HTTP клиент, WiFi клиент ESP1
PC - HTTP клиент, WiFi клиент ESP1, компьютер.

Посылаю REST запросы на ESP1 c компьютера все работает...
Посылаю REST запросы на ESP1 с ESP2 connection failed...

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

Подскажите, ПЛИИЗЗЗ куда копать...
У кого есть какие мысли....
Зашел в тупик.... :(
 

svdu

New member
Сам задаю вопросы... Сам отвечаю....
Ну да ладно...

Вопрос решен...
Обратил внимание что на ESP2 был включен режим AP, светилась вайфай точка в сети, которая включаеться в прошивке по дефолту...
То есть повторялись ip установленные по дефолту в базовой AT прошивке на ESP1 и ESP2, а именно 192.168.4.1...
Сутки голову ломал....
:)
 

sibinteko

New member
@svdu Добрый день,
подскажите, пожалуйста, какой параметр управляет режимом AP?
Хотелось бы исключить устройство из списка доступных сетей при сканировании.
 

svdu

New member
@svdu Добрый день,
подскажите, пожалуйста, какой параметр управляет режимом AP?
Хотелось бы исключить устройство из списка доступных сетей при сканировании.
Подключаем библиотеку - ESP8266WiFi.h

И задаем параметр WiFi.mode(m)
m присваивает одно из

WIFI_AP,
WIFI_STA,
WIFI_AP_STA
WIFI_OFF

Источник
 

Zhenya88

Member
@svdu
Добрый день. Я пытаюсь наладить взаимодействие между модулями, ровно, как у вас (сервер и несколько клиентов с общим соединением через домашний Wi-fi роутер) . Я задал статичные IP каждому модулю, но не пойму, как сделать теперь само общение между ними. (все примеры, что нахожу банальны- просто один сервер, один клиент напрямую друг у другу). Можете поделиться Вашим кодом с комментариями, пожалуйста? Буду очень благодарен.
 

svdu

New member
@svdu
Добрый день. Я пытаюсь наладить взаимодействие между модулями, ровно, как у вас (сервер и несколько клиентов с общим соединением через домашний Wi-fi роутер) . Я задал статичные IP каждому модулю, но не пойму, как сделать теперь само общение между ними. (все примеры, что нахожу банальны- просто один сервер, один клиент напрямую друг у другу). Можете поделиться Вашим кодом с комментариями, пожалуйста? Буду очень благодарен.
Вопрос не не совсем понятен...
Что в вашем понимании значить общаться?
Если они уже в одной сети то на уровне ARP они уже общаются.

Думаю для начала нужно определить архитектуру приемлемую для вашего техрешения.
Если это REST запросы в одном направлении, то один должен быть клиентом, другой сервером.
Если это REST запросы в двух направлениях, то возможен вариант что они оба и клиенты и серверы.
(везде подразумеваю HTTP)

Инструмент для тестирования REST API...
Думаю будет полезен, если еще не знакомы с ним...
Postman
 
Последнее редактирование:

Zhenya88

Member
@svdu
подскажите, а можно REST запросы в двух направлениях сделать в среде ардуино? (библитеки готовые может есть)
Может Вы подскажите где можно примеры посмотреть или статьи?
Мои навыки не высоки и я хотел несложный обмен данными между 2-3мя esp8266 наладить (у меня ESP8266 "Witty Cloud" - самый удачный на данный момент WiFi-модуль для самоделок и "умного дома" такого плана), но вот примеров найти не могу подходящих.
 

svdu

New member
@svdu
подскажите, а можно REST запросы в двух направлениях сделать в среде ардуино? (библитеки готовые может есть)
Может Вы подскажите где можно примеры посмотреть или статьи?
Мои навыки не высоки и я хотел несложный обмен данными между 2-3мя esp8266 наладить (у меня ESP8266 "Witty Cloud" - самый удачный на данный момент WiFi-модуль для самоделок и "умного дома" такого плана), но вот примеров найти не могу подходящих.

Можно...
GitHub - bportaluri/WiFiEsp: Arduino WiFi library for ESP8266 modules
Arduino - WiFi

Я бы помог примером скетча, но под рукой нет, к сожалению...

Пока проект с REST запросами приостановлен...
Да и вообще, не очень нравиться это решение...

Как вариант прокапайте в сторону MQTT...
 

Zhenya88

Member
@svdu
именно этой библиотекой сейчас и мучаюсь.
Понять не могу, где и как IP адрес произвольного адресата (другой ESP) указывать после подключения к роутеру. И как эти самые сообщения отправлять и принимать... вроде задача простая, но пока для меня в новинку...
 

svdu

New member
@svdu
именно этой библиотекой сейчас и мучаюсь.
Понять не могу, где и как IP адрес произвольного адресата (другой ESP) указывать после подключения к роутеру. И как эти самые сообщения отправлять и принимать... вроде задача простая, но пока для меня в новинку...
Пример скетча скинь...
С которым возишься...

Или сообщи название файла примера...
 
Сверху Снизу