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

ESP8266 with ESP8266

Jols

New member
Доброго времени суток!
У меня есть 2 модуля ESP8266 с прошивкой v20. Хочу реализовать, что бы 1 модуль мог подключиться к другому и по ТСП отпровлять данные! настраиваю на 1 модуле режим 3 , подключаюсь к своему роутеру, создаю множественное подключение, создаю свою точку доступа, создаю сервер с 9000 портом! Вроде все работает окей если проверять с ноута, через роутер подключаеться к серверу и через созданную точку доступа тоже подключаеться к серверу! Но как только пытаюсь со второго модуля поработать, начинаеться проблема - к точке доступа конектиться, а сессию с 192,168,4,1 начать не может, сразу пишет CLOSED, если пробую через роутер зайти модулем и подключиться к серверу через роутер, то всё ОК!
вот код на создание сервера:
WiFiPutString("AT+CWMODE=3\r\n");
if(esp8266Respons("OK","", 2000)!=1)
{
return 0;
}
conectToWifi();
if(esp8266Respons("OK","", 3000)!=1)
{
return 0;
}
WiFiPutString("AT+CIPMODE=0\r\n");
if(esp8266Respons("OK","", 2000)!=1)
{
return 0;
}

WiFiPutString("AT+CWSAP=\"Tager77\",\"123456789\",10,4\r\n");
if(esp8266Respons("OK","", 2000)!=1)
{
return 0;
}

WiFiPutString("AT+CIPMUX=1\r\n");
if(esp8266Respons("OK","", 2000)!=1)
{
return 0;
}

WiFiPutString("AT+CIPSERVER=1,9000\r\n");
 

pvvx

Активный участник сообщества
Во первых возьмите прошивку AT поновее - там нет столько ошибок с TCP, как у версий с SDK менее 1.0.0.
Во вторых существует проблема - клиент, запрашивающий модуль в режиме ST, пытается открыть соединение и при неуспехе в течении менее 1 сек, открывает следующее соединение, бросив старое. В итоге соединение между двумя модулями может устанавливаться сразу или через десятки секунд, после десятков реконнектов. Такова реализация оф.прошивки AT. Пишите на форум Espressif.
При соединении модуля (который в режиме ST) c портом на компе через AP образуется десяток одновременно открытых соединений, но работает только одно - последнее. Остальные модуль просто бросает, нарушая протокол TCP.
Необходимо "патчить" бинарную прошивку, т.к. исходников AT китайцы не дают...
 
Последнее редактирование:

Ivizil

New member
Могу предложить ещё один вариант - Blynk. У них есть возможность передавать данные между модулями, при этом не важно где они находятся , хоть на разных концах света.
 

pvvx

Активный участник сообщества
Могу предложить ещё один вариант - Blynk. У них есть возможность передавать данные между модулями, при этом не важно где они находятся , хоть на разных концах света.
Blynk работает только через посредника.
Я забыл упомянуть, что описанное относиться к автоматическому соединению модуля по команде AT+SAVETRANSLINK =<mode>,<IP>,<port>[,<type>]
В остальном AT клиент успешно соединяется с TCP2UART на базе моей свалки по Web без всяких роутеров, если поставить таймауты на web странице настроек TCP2UART.
Модули можно "соединить" и на Arduino IDE, тоже напрямую, без посредников...
 
Последнее редактирование:

Jols

New member
Спасибо за помощь! Переустановил и ещё нашел момент последовательности вызова команд! Щас всё отестю и скину 100% вариант!
 
Сверху Снизу