Быстрая перезагрузка роутера

Тема в разделе "Arduino & Shields", создана пользователем Serega_MO, 30 мар 2016.

?

Нужны ли подобные не замудренные решения?

  1. Да нужны

    100,0%
  2. Нет не нужны

    0 голосов
    0,0%
  3. Сам решаю подобные проблемы.

    0 голосов
    0,0%
  1. Serega_MO

    Serega_MO Нерд

    Стал у меня зависать роутер, точнее 3G модем.
    долго копался в инете, все схемы слишком замудренные. А задача была простая, разорвать питание USB модема и заново подключить.
    Разозлился и написал первую свою программу.

    Что нужно:
    - Arduino UNO
    - Ethernet Shiled

    И собственно сам код:
    Код (C++):
    #include <Ethernet.h>
    #include <SPI.h>
    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  // MAC - адрес
    byte ip[] = { 192, 168, 1, 105 };                     // IP Вашего устройства
    byte server[] = { 213, 180, 193, 3 };                 // IP адрес сервера который пингуем (сейчас это ya.ru)
    EthernetClient client;
    int relay = 9;    // номер ноги к которй подключаем реле (или любое другое устройство)

    void setup()
    {
    pinMode(relay, OUTPUT);
    Ethernet.begin(mac, ip);
    Serial.begin(9600);
    }

    void loop()
    {
    { if (client.connect(server, 80))
    { Serial.println("Connect to Yandex - Good!");} // Сообщение которое выводится на монитор порта при присутствии интернета
    else
    { Serial.println("Warning!!! - not Connect to internet"); // Сообщение которое выводится на монитор порта при отсутствии интернета
      digitalWrite(relay, HIGH);
      delay(10000);       //на какое время выкключить роутер при отсутствии интернета
      digitalWrite(relay, LOW);
      delay(50000); }     //через какое время после включения роутера возобновить проверку
    }
    client.stop();
    delay(10000);         // Переодичность с которой пингуем яндекс
    }
    Нога к которой подключать устройства у нас "в конкретном случае 9 (девятая)"
    К ней подключается реле, которое может разрывать, как питание роутера так и самого модема (смотря какую цепь заведете)
    Постарался прописать все в комментариях скетча.
    Надеюсь кому то поможет.
     
  2. ИгорьК

    ИгорьК Гуру

    1. Как Вы думаете, что будет происходить, если интернет пропадет не по вине модема, а вине провайдера минут, эдак, на 30? Или на несколько часов.
    2. Вы проверяли, как все это работает при пропадании и электричества, и повторном его появлении?
    Может быть, Вам будет полезно ознакомится вот с этим и этим проектами. Исследовать, и сделать свой еще лучше.
     
  3. Serega_MO

    Serega_MO Нерд

    Давайте конкретизируем!
    Я конкретно пользуюсь модемами LTE "Yota" и "МТС", ну нужен мне мониторинг. А единственный провайдер монополист дерет не мерянные деньги. А YOTA вполне себя оправдывает.
    Задача перезагрузить именно USB модем, для этого в USB кабеле разрываю "+" провод на нужное время, у меня это 10 сек.
    И так будет повторяться циклично пока не восстановиться ping.
    поэтому:
    1. будем дергать модем пока не появится интернет. - и не вижу ничего в этом плохого.
    2. При про падании электричества и восстановлении все просто и замечательно запускается.
    5-й день - полет нормальный

    p.s. если говорить непосредственно о перезагрузке самого роутера, то решение также применимо, но все устройства будут отваливаться и подключаться заново, что не совсем хорошо. В этом случае можно увеличить время "следующей проверки после перезагрузки
    А Ваши ссылки я прочел первым делом. Решение классное, но для простой задачи, и новичков, которые осваивают ардуинку, - слишком мудренное.
     
    Последнее редактирование: 31 мар 2016
  4. ИгорьК

    ИгорьК Гуру

    :) Конкретизировали. Исчез вместе со своими глупыми советами.
     
  5. Serega_MO

    Serega_MO Нерд

    Игорь, поверьте - ни в коем случае не хотел вас огорчить !
    Для такого, как я начинающего дилетанта-программиста, важно начинать с "простого", а таких как я - много. А все решения "для простых задач" выложенные в инете - избыточно наворочены. Это потом, когда человек поймет смысл, принцип и захочет анализировать время отклика, загрузку канала и.т.д. - он сам пойдет искать.. Еще раз повторюсь, ни в коем случае не хотел Вас огорчать. Готов откупиться пивом ! )))
     
  6. ИгорьК

    ИгорьК Гуру

    Нет ничего более постоянного, чем временные решения. У меня самого таких хватает. Поэтому лучше делать все правильно.
    Поскольку я уже прошел все это на собственной шкурке - те два вопроса, что задал, они очень важны.
    По первому. Я не уверен, что постоянное дерганье модема в случае отсутствия инета не по его вине в течение, например, часа, не выведет его из строя.
    По второму. Вам крупно повезло - при падении электричества у Вас все работает. Обычно же, требуется время на соединение с интернетом. (В моем случае - до 5 минут!!! Yota -> Zyxel) Практически всегда. Если его не хватает при старте - реле начинает дергать модем, не давая ему присоединиться никогда.
    Поэтому, Ваше решение, все таки, требует критического осмысления.
    И... я не огорчался. :)
     
    Последнее редактирование: 31 мар 2016
  7. rico

    rico Гик

    1. Если не модем сдохнет, то SIM-карта, поскольку у SIM-карты есть ограничение количества регистраций в сети. Раньше на объектах с плохой связью и "тупым" оборудованием, которое перерегистрируется в сети пару-тройку раз в сутки "для гарантии нахождения на связи", SIM-карты приходилось менять раз в полтора года. Возможно, что сейчас ситуация изменилась и ресурс стал больше.
    2. IMHO, гораздо проще на том же Zyxel настроить контроль канала.
     
  8. Serega_MO

    Serega_MO Нерд

    1. Поверь моему опыту (10 лет работы в Вымпелком) Симка сдыхает, как и любое оборудование. Может работать вечно а может и неделю. и никак не привязана к количеству регистраций в сети. Бывают проблемы при обновлениях услуг оператора, когда в нее при Update вливают инфы больше, чем имеющаяся емкость. И Тогда всем у кого проблемы говорят - нужно менять симку(обратите внимание это происходит как эпидемия - у нескольких человек, одновременно - одна и та же проблема), и соответственно идет смена на SIM c большей памятью.- так что первый вопрос не в тему.
    2. Настроить можно, но !!!!!
    - перезагружать весь роутер я не хочу, на нем висят файловые сервера для пользователей, (офис не большой 12 чел. - тем не менее)
    - а как перезагрузить только USB порт я не знаю. Если владеете такой информацией - научите, буду Вам очень благодарен.
     
  9. rico

    rico Гик

    Насколько я помню, Zyxel Keenetic не перезагружается полностью при утрате связности с контрольным хостом, а только порт перезагружает.
     
  10. Serega_MO

    Serega_MO Нерд

    Я тоже так думал. Но он никаких действий не предпринимает ((( , Раньше BAT - с компа пинговал и через telnet передергивал, но получалось все подключенные устройства отваливались.