Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Restarter do routera oparty o moduł z ESP8266

ghost666 08 Wrz 2015 22:06 7620 16
  • Restarter do routera oparty o moduł z ESP8266
    Autor projektu sam przyznaje, że jest leniwą osobą. Jako leniwa osoba woli siedząc na kanapie napisać program, który rozwiązuje za niego problem fizycznego restartowania routera, zamiast co jakiś czas wstać z kanapy i podejść do urządzenia. Do tego celu wykorzystał moduł opaty o układ ESP8266.

    Podczas pracy nad projektem, jest kilka kroków które dotyczą napięcia sieciowego - potencjalnie śmiertelnego niebezpieczeństwa. Jeśli nie czujecie się na siłach, nie zabierajcie się za to. Nikt nie weźmie odpowiedzialności za Waszą śmierć.

    Do konstrukcji opisywanego urządzenia potrzebne są:

    * Płytka rozwojowa NodeMCU
    * Płytka z przekaźnikami
    * Zasilacz
    * Kable sieciowe
    * Niewielka płytka prototypowa
    * Kostka elektryczna
    * Taśma izolacyjna i koszulka termokurczliwa

    Krok 1: Docięcie kabli elektrycznych

    Restarter do routera oparty o moduł z ESP8266 Restarter do routera oparty o moduł z ESP8266


    Kable zasilające i do przedłużacza dociąć należy do takiej długości, jaka pasuje nam do naszego routera. Autor rekomenduje docięcie dłuższego kabla, tak aby można było poukładać wszystko w optymalny sposób.

    Kabel sieciowy należy odizolować na długości około 4 cm, tak aby odsłonić wewnętrzne kable, z których należy zdjąć izolację na długości pozwalającej na umieszczenie ich w kostce. Poprzez kostkę łączymy ziemie i PE, a kabel fazy pozostawiamy póki co niepodłączony. Można skrócić o około 2 cm kable ziemi i PE, tak aby kabel fazy był dłuższy od pozostałych.

    Krok 2: Połączenie kabla neutralnego i ochronnego

    Restarter do routera oparty o moduł z ESP8266






    Z pomocą kostki elektrycznej (dwie sekcje wystarczą w zupełności) łączymy kabel neutralny i ochronny w przewodzie. Po obu stronach (wtyczka z jednej, zasilane urządzenie z drugiej) zdejmujemy izolację na około 1 cm i wsuwamy w odpowiednie miejsc w kostce. Następnie zaciskamy przewody śrubami, tak aby dobrze trzymały kable. Po skończonym montażu trzeba sprawdzić, czy kable są dobrze dociśnięte i czy z kostki nie wystaje fragment odizolowanego przewodu. Operację wykonujemy po obu stronach kostki. Kable, przed montażem, dobrze jest pocynować, ale nie jest to wymagane. Należy pamiętać aby kabel neutralny łączyć z neutralnym po drugiej stronie i analogicznie z kablem neutralnym.

    Krok 3: Połączenie kabli fazowych z płytką przekaźnikową

    Restarter do routera oparty o moduł z ESP8266


    Póki co sprawdzamy czy wszystko mieści się w obudowie. Podłączamy do płytki z przekaźnikami kable fazowe obu stron układu. Autor do wspólnego pinu przełącznika w przekaźniku podłączył kabel doprowadzający fazę z sieci, a do złącza normalnie otwartego przedłużacz, do którego podłączony jest sprzęt sieciowy. Takie połączenie oznacza, że domyślnie faza odłączona jest od zasilanego przez układ sprzętu.

    Krok 4: Podłączenie płytki przekaźnikowej do modułu ESP8266

    Restarter do routera oparty o moduł z ESP8266


    Płytka przekaźnikowa ma w zasadzie tylko cztery piny które musimy podłączyć - zasilanie (VCC i GND) oraz dwa złącza sterujące In1 i In2 (po jednym na każdy przekaźnik). Do VCC podłączamy 5 V z pinu VIN modułu ESP (zasilanego 3,3 V, ale to napięcie jest zbyt małe aby uruchomić przekaźnik). In1 i In2 łączymy z wyprowadzeniami D0 i D1 na płytce modułu ESP. Należy pamiętać o połączeniu ze sobą mas obu płytek. Jako że przekaźnik załącz się stanem niskim, różnica poziomów napięć sterujących (5 V po stronie płytki z przekaźnikami i 3,3 V po stronie modułu sterującego) nie jest problemem.

    Krok 5: Testowanie oprogramowania

    Restarter do routera oparty o moduł z ESP8266


    Program kontrolujący urządzenie jest dosyć prosty. Realizuje on (po kolei) następujące kroki:

    1. Załączenie przekaźnika
    2. Oczekiwania aż router się uruchomi i próba połączenia z siecią WiFi
    3. Sprawdzenie czy nadano numer IP sieci, jeśli nie oczekiwanie i powtórne sprawdzenie - w pętli.
    4. Jeśli po pewnym czasie nadal nie nadano IP - reset routera i powrót do początku programu.
    5. Jeśli nadano numer IP - oczekiwanie na sprawdzenie połączenia z internetem.
    6. Sprawdzenie połączenia z google.com.
    7. Jeśli połączenie jest udane - zamknięcie połączenia i oczekiwanie na kolejne sprawdzenie.
    8. Jeśli połączenie jest nieudane przez kilka sekund sprawdzanie możliwości połączenia w pętli.
    9. Po pewnym czasie nieudanych połączeń (ich liczbę określono w kodzie) reset routera. Jeśli połączenie w końcu uda się nawiązać, program wraca do głównej pętli.

    Kod programu pobrać można tutaj.

    Po pobraniu programu i załadowaniu go do modułu z układem ESP (np. z pomocą ESPlorera) należy dostosować ustawienia sieciowe układu i otoczenia do współpracy i konfiguracji pinów (jeśli coś zmienialiśmy względem prezentowanego powyżej opisu).

    Nie podłączaj jeszcze napięcia sieciowego! przetestuj bez niego działanie przekaźników symulując awarię routera np. odłączając kabel od modemu ADSL. Gdy podłączysz napięcie sieciowe do układu pod żadnym pozorem nie otwieraj obudowy ani nie podłączaj modułu ESP do komputera(!).

    Krok 6: Koniec!

    Restarter do routera oparty o moduł z ESP8266


    Gdy wszystko już działa, ostatnim krokiem jest wywiercenie dwóch większych (dla kabli sieciowych) i jednego mniejszego (dla zasilacza USB) otworów w obudowie. Jeśli mamy do dyspozycji większą obudowę możemy zasilacz USB umieścić nawet w środku obudowy, podłączając go do sieci wewnątrz urządzenia.

    Aby przełożyć kable przez otwory należy je odłączyć i podłączyć ponownie po przewleczeniu przez dziury. Upewnij się, że podłączyłeś wszystko dobrze. Należy też upewnić się, że żadne odizolowane przewody sieciowe nie dotykają niczego w obudowie, dobrze dodać jest tu i ówdzie trochę taśmy izolacyjnej, aby zaizolować elektrycznie połączenia.

    Źródło: http://www.instructables.com/id/ESP8266-Automatic-Router-Restart/?ALLSTEPS


    Fajne!
  • #2 10 Wrz 2015 10:16
    andrzejek23
    Poziom 18  

    Cytat:
    Autor projektu sam przyznaje, że jest leniwą osobą.


    Podobnie jak Tłumacz Redaktor, który powinien potrafić poprawnie napisać tytuł.
    Nie piszemy "oparty o moduł ESP8266". Piszemy albo "oparty na module ESP8266" albo "zbudowany w oparciu o moduł ESP8266".

    Udzielam Tłumaczowi Redaktorowi upomnienia w związku z naruszeniem pkt. 3.1.13. Regulaminu Forum:
    "Publikowanie wpisów naruszających zasady pisowni języka polskiego, niedbałych i niezrozumiałych."

    Moderowany przez ANUBIS:

    Od tego masz opcję Raportuj, a Moderator zajmie się zgłoszonym problemem.

    Dodatkowo jak byś był miły, to masz opcję popraw post i bonus punktowy.

    Jeszcze bardziej po koleżeńsku, byłoby napisać PW do Autora z sugestią zamian.

    Nie skorzystałeś z żadnej z powyższych opcji.

    3.1.9. Nie obrażaj drugiej strony dyskusji. Uszanuj odmienne zdanie oraz inne opinie na forum.

  • #3 10 Wrz 2015 10:42
    maly310
    Poziom 11  

    Witam, nie lepiej jest wgrać OpenWRT z nakładka Gargoyle od Cezarego? W konfiguracji jest coś takiego jak: "monitor połączenia" i robi dokładnie to samo a nawet więcej bo może wykonać restart portu WAN, całego urządzenia lub wykonać dowolny skrypt.

  • #4 10 Wrz 2015 10:58
    piterek-23
    Poziom 32  

    A czy na każdy router da się wgrać OpenWRT od Cezarego?

  • #5 10 Wrz 2015 11:04
    dir3ctor
    Poziom 27  

    Jeśli ktoś ma tego typu problemy, skłaniające go do realizacji sprzętowego WDT to albo powinien zmienić operatora albo router ;-)

    Co do samego projektu - można by go zrealizować na ESP8266-01, czyli najtańszym i najmniejszym module z rodziny, a zamiast przekaźnika odcinającegi zasilanie, wlutować się w przycisk "reset" routera...

  • #7 10 Wrz 2015 11:32
    treker
    Poziom 25  

    Można też było zrobić trochę bezpieczniejszą wersję i zamiast sterować napięciem sieciowym robić resetem "za" zasilaczem wtyczkowym :)

  • #8 10 Wrz 2015 12:26
    pawel1029384756
    Poziom 20  

    Wydaje mi się, że automatyczny restart routera to już przesada,, taki projekt dla zabawy. Jak już było wspomniane, jak ktoś musi często restartować router to znaczy, że coś jest nie tak z nim(routerem).

    treker napisał:
    Można też było zrobić trochę bezpieczniejszą wersję i zamiast sterować napięciem sieciowym robić resetem "za" zasilaczem wtyczkowym

    tylko, że w tedy to trzeba "uszkodzić" zasilacz, co niektórzy ludzie robią niechętnie. Chociaż też o tym pomyślałem w pierwszym momencie i w tedy nie było by problemu z wysokim niebezpiecznym napięciem.

  • #9 10 Wrz 2015 12:57
    piotr3q
    Poziom 10  

    pawel1029384756 napisał:
    tylko, że w tedy to trzeba "uszkodzić" zasilacz

    Nie koniecznie - przecież można dać gniazdo + wtyk identyczne jak w routerze i jeszcze wykorzystać jego zasilacz do zasilania restartera.

  • #10 10 Wrz 2015 14:45
    komatssu
    Poziom 28  

    "Restarter" też się może zawiesić, i co wtedy?

  • #11 10 Wrz 2015 14:46
    piterek-23
    Poziom 32  

    komatssu napisał:
    "Restarter" też się może zawiesić, i co wtedy?

    Będzie trzeba jednak wstać z tej kanapy...

  • #12 10 Wrz 2015 15:23
    ghost666
    Tłumacz Redaktor

    andrzejek23 napisał:
    Cytat:
    Autor projektu sam przyznaje, że jest leniwą osobą.


    Podobnie jak Tłumacz Redaktor, który powinien potrafić poprawnie napisać tytuł.
    Nie piszemy "oparty o moduł ESP8266". Piszemy albo "oparty na module ESP8266" albo "zbudowany w oparciu o moduł ESP8266".

    Udzielam Tłumaczowi Redaktorowi upomnienia w związku z naruszeniem pkt. 3.1.13. Regulaminu Forum:
    "Publikowanie wpisów naruszających zasady pisowni języka polskiego, niedbałych i niezrozumiałych."


    Podziwiam zapęd niektórych Użytkowników forum do odszukiwania problematycznych niuansów tekstu, jednakże zwrot "w oparciu o" nie jest uznawany za niepoprawny. Co najwyżej za niepotrzebnie nadużywany szablon, ale akceptowalny z punktu widzenia poprawności jedynie naganny z punktu widzenia stylistyki.

    Źródło: http://sjp.pwn.pl/slowniki/w-oparciu-o.html

  • #13 10 Wrz 2015 19:00
    NIXIE_123
    Poziom 28  

    Autor projektu często jest banowany w grach i dlatego musi restartować router ? :D

  • #14 11 Wrz 2015 12:32
    ghost666
    Tłumacz Redaktor

    NIXIE_123 napisał:
    Autor projektu często jest banowany w grach i dlatego musi restartować router ? :D


    Albo ściąga rzeczy z portali typu rapidshare i resetuje modem, aby dostać nowe IP ;)

  • #15 11 Wrz 2015 13:24
    morozaw
    Poziom 14  

    Trzeba pamiętać, że w wielu modelach można się połączyć z routerem przez telnet / putty i zresetować samo połączenie PPoA/PPoE - szybsze przyznanie nowego IP niż w przypadku resetu routera.

  • #16 11 Wrz 2015 14:16
    pawel1029384756
    Poziom 20  

    morozaw napisał:
    Trzeba pamiętać, że w wielu modelach można się połączyć z routerem przez telnet / putty i zresetować samo połączenie PPoA/PPoE - szybsze przyznanie nowego IP niż w przypadku resetu routera.


    No to w takim przypadku wystarczy, że mamy układ z ethernetem i co jakiś czas sprawdzamy czy mamy połączenie ze światem, jeżeli nie to restart połączenia albo routera. Do wykonania przy pomocy telnetu.
    A jeszcze prościej to mieć prostą aplikacje na komputerze która będzie to wykonywała i już nie trzeba żadnego dodatkowego urządzenia.
    Niestety tanie routery nie mają innej możliwości komunikacji niż przez panel na stronie internetowej.

  • #17 11 Wrz 2015 14:28
    morozaw
    Poziom 14  

    pawel1029384756 napisał:

    Niestety tanie routery nie mają innej możliwości komunikacji niż przez panel na stronie internetowej.


    Czasami i na tej stronie można znaleźć odnośnik resetujący połączenie lub router :)
    Jednak wszystko zależy od konkretnej "aplikacji" rozwiązania problemu.