Sim900+mega2560 разрыв соединения каждые сутки

GPRS соединение у моего устройства пропадает примерно через сутки, происходит разрыв соединения с сервером BLYNK. При перезагрузке устройства соединение возобновляется. Возможно разрыв связи происходит на уровне провайдера связи, у меня Activ GSM провайдер.
В основном коде (loop) как записать проверку на соединение с сервером и при отсутствии выполнить повторное подключение к серверу BLYNK?
Программная перезагрузка Arduino mega2560 как я понял, не работает.

в старых стандартах мобильной связи, вроде до 4Г сетей есть такое как максимальное время сессии которые как раз равно 24 часам. Можно проверять по таймеру Blynk.connected() возвращает ноль или один. и в функции подключаться к серверу.
собственно пример вот [Tutorial] Blynk Non Blocking Connect Call

Тогда наверно можно сделать пересоединение с GPRS модема ночью, например в 4 утра ежесуточно. Надо команды разрыва и соединения GPRS смотреть от SIM900.

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

можно просто провод на ресет пин кинут и из программы туда ноль писать, только в setup первым делом надо подать на этот пин true, потому что все пины в low при старте. ну или попробовать это

void (* resetFunc) ( void ) = 0; // Reset MC function

resetFunc(); //вызов