• Система автоматизации с открытым исходным кодом на базе 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) указывать после подключения к роутеру. И как эти самые сообщения отправлять и принимать... вроде задача простая, но пока для меня в новинку...
Пример скетча скинь...
С которым возишься...

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