Turinys:

Raspberry Pi Reboot Router: 3 žingsniai
Raspberry Pi Reboot Router: 3 žingsniai

Video: Raspberry Pi Reboot Router: 3 žingsniai

Video: Raspberry Pi Reboot Router: 3 žingsniai
Video: Octopus Max EZ v1.0 - Klipper MainSail Quick Install 2024, Liepa
Anonim
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router

Ar kada pastebėjote, kad nebesate prisijungę prie interneto?

Ar apmaudu keltis ryte ir „iš naujo paleisti“maršrutizatorių, kad susigrąžintumėte internetą?

Na, man tai nutiko dažniau, nei man rūpi, kad tai įvyktų.

Šių metų pradžioje aš išvykau iš miesto 3 savaitėms ir pirmą dieną mano maršrutizatorius atsijungė nuo interneto! Tai reiškė, kad neturėjau jokio ryšio su namuose esančiais dalykais, kuriais tikiuosi periodiškai „užsiregistruoti“, pvz., „Nest“termostatas, „Arlo“kameros… Kadangi nebuvau namuose, negalėjau iš naujo paleisti maršrutizatoriaus. Aš tikrai nenorėjau trukdyti kaimynui praeiti iš mano apsaugos sistemos, tada surasti maršrutizatorių ir jį paleisti iš naujo. Taip pat sugalvojau paskambinti elektros energijos įmonei ir paprašyti, kad jie maždaug 5 minutėms nutrauktų elektros tiekimą į mano namus - mano S. O. nepritarė..:(Grįžęs pradėjau ieškoti gero sprendimo, bet neradau nieko pakankamai išsamaus, ko man reikėjo. Iš pradžių aš ką tik nusipirkau skaitmeninį laikmatį ir nustatiau, kad 2 minutes ryto 5 minutėms išjungtų maršrutizatorių. Deja, porą ryto neturėjau interneto - tų dienų maršrutizatoriaus žurnalų apžvalga parodė, kad internetas „atsijungė“apie 4 val.

Turėdamas papildomą „Raspberry Pi“ir šiek tiek „python“įgūdžių, nusprendžiau išsiaiškinti, kaip tai galėtų padėti išspręsti mano dilemą, ir sugalvojau šį sprendimą.

Aš išbandžiau ir įdiegiau ir kol kas viskas gerai!

Iš esmės „Raspberry Pi“tikrina interneto ryšį kas 2 minutes per „ping“prie 2 skirtingų svetainių. Kol bent vienas iš jų atsako, mums visiems gerai. Jei nėra grąžintų „ping“signalų, „Pi“išjungia vidinio USB šakotuvo maitinimą, o tai savo ruožtu sukelia „Iot Power Relay“maršrutizatoriaus išjungimą. Po 2 minučių „Pi“įjungia vidinį USB šakotuvą, todėl „Iot Power Relay“įjungia maršrutizatorių. Tada jis laukia 4 minutes, kol bus atnaujintas 2 minučių interneto ryšio tikrinimas.

Taip pat turėjau pagalvoti, kad galbūt mano rajone yra sutrikimų, o internetas kurį laiką neveiks - retai, bet taip atsitinka (bent jau mano vietovėje …) ir nenorėjau, kad maršrutizatorius būtų paleistas iš naujo kas 6 iki 8 minučių, todėl įdėjau vėliavą, kuri šiuo atveju atidėtų kitą paleidimą 1 valandai.

Prekės

Įrangos sąrašas:

  1. „Iot Power Relay“, skirta „Raspberry Pi“(pavaizduota aukščiau)
  2. USB 2.0 A varžto gnybtų bloko jungtis (jei ketinate pasigaminti savo USB -> maitinimo laido kabelį, taip pat pavaizduotą aukščiau)
  3. Kabelis su 2 ar daugiau laidžių laidų arba senas / papildomas USB kabelis, kurį galite naudoti. Aš naudoju seną stereofoninio kištuko kabelį ir nutraukiau kištukus.
  4. „Raspberry Pi Model 3+“(galite naudoti 4 modelį ir valdyti atskirus prievadus - aš naudoju 3 modelį)

Aš galiu uždirbti nedidelį komisinį už savo pritarimą, rekomendaciją, atsiliepimą ir (arba) nuorodą į bet kurį aukščiau išvardytą produktą.

1 žingsnis: sukurkite ir prijunkite aparatūrą

Sukurkite ir prijunkite aparatūrą
Sukurkite ir prijunkite aparatūrą

Aš pastatiau savo kabelį, kad prijungčiau Pi prie maitinimo relės.

Aš naudoju USB varžto gnybtų bloką su 2 laidais, prijungtais prie + ir gnd lizdų. Turėtumėte matyti juos ant jungties. Žiūrėkite paveikslėlį su raudonomis (+) ir baltomis (-) rodyklėmis prie angų.

Kitą galą prijungiau prie maitinimo relės. Žalia dalis, esanti maitinimo relės šone, tiesiog išsitraukia, tada galite įkišti laidus į lizdus ir tvirtai prisukti. Žiūrėkite paveikslėlį su raudonomis (+) ir baltomis (-) rodyklėmis prie laidų.

Pastaba: jei naudojate esamą USB kabelį, paprastai kitame gale turėsite 4 laidus - raudonas yra (+5v), o juodas - (-) įžeminimas. Maitinimo relę naudosite tik tuos 2.

Bandymui aš prijungiau stalinę lempą prie vieno iš lizdų, pažymėtų „paprastai išjungtas“. Tai valdo USB maitinimo būsena. Aš prijungiau „Raspberry Pi“prie „visada įjungto“lizdo, prijungiau ir įjungiau kitam žingsniui.

2 veiksmas: įdiekite programinę įrangą

Nustatykite „Pi“:

Jei reikia, yra keletas svetainių, kurios padės jums pirmą kartą nustatyti RPi.

Gyvenimo įsilaužėlis

Raspberry Pi Org

Aš nustatiau savo „be galvos“ir naudoju VNC, kad prisijungčiau prie jo. Aukščiau pateiktos nuorodos parodo, kaip tai padaryti.

Programinės įrangos sąranka:

  1. Įdiekite „uhubctl“(žr. Https://github.com/mvp/uhubctl), kuris bus naudojamas USB šakotuvui išjungti ir įjungti.
  2. Atsisiųskite ir įdiekite programinę įrangą, kurią parašiau iš savo „GitHub“puslapio: „RPi Router Reboot“programinė įranga.
  3. Nustatykite ir užregistruokite internet-monitor.service, jei norite paleisti tai kaip paslaugą paleidus „Raspberry Pi“.

3 žingsnis: Išsami bandymo ir veikimo informacija

Pagrindinė „python“programa „rpi-internet-monitor.py“gali būti paleista naudojant 1 arba 2 parametrus derinimo ir bandymo tikslais.

Atidarykite terminalo sesiją aplanke, kuriame įdėjote kodą, ir vykdykite šią komandą:

: ~/Dokumentai/RebootRouter $ python3 rpi-internet-monitor.py -debug -test

Pastaba - tai išspausdins derinimo informaciją, išjungs ir įjungs lemputę, nes bus patikrinta, ar neprisijungęs prie interneto. Galite tiesiog naudoti -debug ir peržiūrėti pranešimus. Negalite naudoti tik testo, jis turi būti antrasis parametras po -debug.

Viršutinėje programos dalyje esančius CONSTANTS galite pakeisti į bet kokias jums patinkančias vertes. Pirmasis rinkinys paleidžiamas su parametrų rinkiniu -test, antrasis -tai, kas bus naudojama visais kitais atvejais.

Aš sukūriau paslaugą, kad tai paleistumėte įkrovos metu, todėl ji visada veikia mano „Raspberry Pi“.

Atidarykite internet-monitor.service ir redaguokite „ExecStart“ir „WorkingDirectory“eilutes su visais keliais iki python kodo. Išsaugokite failą.

Nukopijuokite failą į aplanką systemd/system:

: ~/Documents/RebootRouter $ sudo cp internet-monitor.service /etc/systemd/system/internet-monitor.service

Patikrinkite, ar paslauga paleidžiama be klaidų:

: ~/Dokumentai/RebootRouter $ sudo systemctl paleiskite internet-monitor.service

Įgalinti paslaugą paleisti įkrovos metu:

: ~/Dokumentai/RebootRouter $ sudo systemctl įgalina internet-monitor.service

Jei viskas gerai, dabar galite viską sudėti ir išjungti „Iot“maitinimo relę, atjungti lemputę, prijungti maršrutizatorių ir vėl įjungti maitinimo relę. Jūsų maršrutizatorius turėtų būti paleistas iš naujo ir dabar stebi internetą.

Aš padariau dar vieną testą po to, kai viskas buvo prijungta - atjungiau interneto kabelį prie sienos ir laukiau; tikrai maršrutizatorius išsijungė ir vėl įsijungė. Jis liko įjungtas ir po maždaug 10 minučių aš vėl prijungiau kabelį prie sienos ir turėjau internetą - iki šiol jis veikė gerai….:)

Rekomenduojamas: