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

Нужна помощь пропадает подключение TCP

Stelsing

New member
Добрый день.
Имею модуль ESP8266 12E, мне необходимо чтобы модуль поднимал точку доступа и мог подключаться к существующей точке (одновременно), поднимал сервер TCP и управлял устройством. Настраиваю следующем образом:
Код:
//инициализация esp8266
void esp8266Init(){
    printf("AT+CWMODE=3\r\n");
    mDelay(ESP8266_TIME_DELAY);
    printf("AT+CIPMUX=1\r\n");
    mDelay(ESP8266_TIME_DELAY);
    printf("AT+CIPSERVER=1,8888\r\n");
    mDelay(ESP8266_TIME_DELAY);
}

//подключение к точке доступа
void esp8266ConnectToRouter(char* accessPoint,char* password){
    char str1[100];
    sprintf(str1, "AT+CWJAP=\"%s\",\"%s\"\r\n",accessPoint,password);
    printf(str1);
}

//получение текущего IP
void esp8266GetIp(){
    printf("AT+CIFSR\r\n");
}

//отправка данных через TCP
void esp8266SendData(char* string){
    char str1[100];
    sprintf(str1, "AT+CIPSEND=0,%i\r\n",countChar(string));
    printf(str1);
    mDelay(ESP8266_TIME_DELAY);
    printf(string);
}
Сервер создается, к точке доступа подключаюсь и могу подключиться к устройству, все хорошо. Но через некоторое время (это время разное, может секунд 10, а может и минут 20) после подключения связь разрывается, в приложение у меня возвращается ошибка, что соединение было разорвано. Так же пинг разрывается, обычно 20-40 мс, а иногда вообще связи нет или ответ по 500 мс... Прошивку пробовал ту, которая была изначально (сентябрь 2015 года) и последнюю с сайта, работают одинаково. Думал, что это мой контроллер вешает вайфай, подключился через переходник к компу, прописал эти же команды, подключаюсь к серверу и через некоторое время тоже отключается.
Подскажите как заставить этот модуль более стабильней работать? Может есть нормальная прошивка для TCP сервера? Или может не так настраиваю?
 

=AK=

New member
У меня такая хрень происходит с роутерами Billion. А с роутером Netis работает без проблем.
 

Stelsing

New member
Пропадает связь даже тогда, когда модуль работает как точка доступа, без подключения к роутеру. Немного работает, дальше не отвечает и рвет подключение. Завтра хочу попробовать другие прошивки. Скажите, а как работает прошивка TCP2UART - все что приходит по TCP сразу отправляется на юарт, а настройка через веб? И в прошивке NodeMcu можно настраивать подключение через UART командами?
 

=AK=

New member
Вы от меня слишком многого хотите. Я работал с АТ командами, сейчас работаю с Ардуино IDE, а про остальные варианты ничего сказать не могу.

Касательно того, что рвет соединение в режиме точки доступа. Скорей всего это совсем другая проблема.

B тот момент, когда происходит подключение к внешней АР, ESP настраивает свой WiFi канал на тот, который нужен для этой АР. Ну а поскольку в самом чипе канал один, то по softАР в этот момент связь теряется, ведь канал-то изменился.

У меня с роутером Billion подключение к АР шло больше десяти секунд. За это время я успевал подключиться к softАР с мобильника, и вдруг - опаньки - связь пропала. С другими роутерами подлючение идет в разы быстрее, так что на эти грабли наступить труднее.

А вы с каким роутером работаете?
 
Последнее редактирование:

Stelsing

New member
Дело в том, что рвет подключение даже без подключения к роутеру
 

=AK=

New member
А чем подключаетесь?

И вообще, может вы соединение не закрываете? Тогда вас по тайм-аутy отрубит. Соединeния надо закрывать.
 
Последнее редактирование:

Stelsing

New member
TCP2UART пробую сейчас, вроде нормально работает, только связь не очень хорошая когда через роутер, а напрямую хорошо
 
Сверху Снизу