В общем, название темы - чисто мой вывод, сделанный на основе собственных исследований и догадок. Есть некий проект, который управляет телеграм ботом. Это все залито на ESP32, которая отлично работает с домашним роутером, подключенным к оптоволокну, и наотрез отказывается подключаться к телефонной точке доступа, а так же плохо (через пол дня от подключения валится и usb модем и весь интернет роутера в целом) работает с конфигурацией роутер+usb модем. Буду рад предположениям по решению моей проблемы, ибо мои догадки/идеи (как и, в общем, нервы) все исчерпаны. Заранее спасибо за любую помощь.
что за роутер что за модем что за оператор
Роутер tp link wr842n, модем Huawei, модель точно не помню, если сильно понадобиться - найду, оператор в обоих случаях (и в модеме, и на телефоне) - Мегафон.
пора в металлолом, сильно много отработал, устал видимо
если бы ты имел возможность посмотреть загрузку памяти был бы сильно удивлён, что оно вообще работает…
Это без модема
И ведь каждую секунду бот новыми сообщениями интересуется?
const unsigned long BOT_MTBS = 1000; // mean time between scan messages
Угадай, что не так при сотовом модеме? Дело, как обычно, “не в бобине”
Давайте пожалуйста без намеков, ибо я их уже столько начитался, что не догоняю. Чрезмерная нагрузка на модем/роутер?
Дракула видимо намекает на время жизни пакета, поставь 5000, это был стандарт на дальнейшую утилизацию пакета, если за это время не дошёл… (читал давно лет двадцать пять назад)
Причём м тут TTL?
Она мечтала жить да на Манхеттене,
А дома ждал её пакет с пакетами…
(слова народные)
тогда не знаю, у меня (правда кроме двух ботов было еще 8 подключенных плат) заканчивалась память, некоторые процессы оставались жить, некоторые встревали, ушел с тплинка на микротик ушли проблемы
Сотовый модем рвет соединение и требует время для реконнекта. Конечно все сильно зависит от роутера.
Сама библиотека защищена от всяких сбоев. Но “шит хеппенс”. То есть:
- бота положить в отдельный таск;
- Следить за heapSIze;
- опрашивать сервер Телеги с разной скоростью. Например в сонном состоянии - раз в 10 сек, а после получения хоть одного сообщения - каждую секунду.
- Логи все-таки повесить и последить … возможно причина сбоя найдется. ЕСП - это никак не АВР-ка! Это уже целый комп и отлаживать его нужно как комп, а не как микроконтроллер. В том смысле, что никому не нужны состояния каждого байта памяти и регистров - это количество необозримо, а нужны логи и продуманная стратегия наблюдения Вочдогом.
При попытке подружить еспшку с мобильной точкой, в отладке вылезает ошибка AP_NOT_FOUND.
Так же при подключении к модему, с которым эта музыка играет “бесконечно долго”, сначала проскакивает пара “AUTH_FAILED”, а потом подключается.
Это наблюдения отладки
Другие-то девайсы работают через эту связку? Пинг, например, на полдня поставить ежели?
Я же говорил, что “дело не в бобине”. Это уже реальные проблемы. Гадать, конечно не стану.
Пингуется постоянно, раз в 2 минуты
На этой основе формируются данные о времени без подключения
За ночь набирается 4-5 таких оффлайнов, длительностью от 3х часов до 10 минут каждый
Но тут, по количеству оффлайнов все рандомно, никаких закономерностей пока не наблюдается
Так может ответ простой - твой телефонный интернет гавно, да и все?
У меня домашний проводной инет - и тот регулярно виснет на 3-5 минут. Что я делаю не так?
Если у провайдера все сгнило, так оно и будет отваливаться, что ты не делай.
Кстати. У меня есть написанный на Джаве мною… неделю (или три? дни сливаться стали в сплошной поток… ) назад… UDP logger. Запускаешь на компе, а на любой ардуинке с сетью (я для ЕСП32 писал) кидаешь логи в UDP порт.
Логгер их добросовестно складывает в файл.
ТС - нужно? Поставишь дома и следить станешь…
ЗЫ: Другие участники - если нужно - выложу тут. И jar и исходник. и Пример для Ардуинки. Если есть интерес. Писал как служебную программу для вылавливания неочевидных багов при длительной работе уже “в боевых условиях” когда сеть есть, а вот кабель для логов повесить уже невозможно.
Вернее не выложу, а приватный гитхаб сделаю публичным и сцылку выложу.
На 514/UDP слушает?
Нет. на любом. При старте указываешь файл - куда писать и порт - откуда слушать
Есть с Гуи. и с командной строкой.
Поясню - в сислог нужно правильно кидать. А в мой логгер - что угодно. Просто строку текста, как нравится