Cuprins:

Router de repornire Raspberry Pi: 3 pași
Router de repornire Raspberry Pi: 3 pași

Video: Router de repornire Raspberry Pi: 3 pași

Video: Router de repornire Raspberry Pi: 3 pași
Video: my SUPER secure Raspberry Pi Router (wifi VPN travel router) 2024, Iulie
Anonim
Router de repornire Raspberry Pi
Router de repornire Raspberry Pi
Router de repornire Raspberry Pi
Router de repornire Raspberry Pi

Ai observat vreodată că nu mai ești conectat la internet?

Este frustrant să te trezești dimineața și trebuie să „repornești” routerul pentru a recupera internetul?

Ei bine, asta mi s-a întâmplat mai des decât îmi pasă să se întâmple.

La începutul acestui an, am ieșit din oraș timp de 3 săptămâni și în prima zi routerul meu s-a deconectat de la internet! Aceasta a însemnat că nu aveam nicio legătură cu lucrurile din casa mea pe care mă bazez pentru a mă „verifica” periodic - de exemplu, termostat Nest, camere Arlo … Deoarece nu eram acasă, nu mi-am putut reporni routerul. Chiar nu am vrut să deranjez un vecin să treacă de sistemul meu de securitate și apoi să-mi găsesc routerul și să-l repornesc. De asemenea, m-am gândit să sun la compania de energie electrică și să-i pun să taie curentul la casa mea timp de aproximativ 5 minute - S. O. nu a aprobat..:(Când m-am întors, am început să caut o soluție bună, dar nu am putut găsi nimic suficient de cuprinzător pentru ceea ce aveam nevoie. La început, tocmai am cumpărat o bandă de alimentare digitală temporizată și am setat-o să oprească routerul la 2:00 dimineața timp de 5 minute. Din păcate, câteva dimineți nu am avut internetul - o revizuire a jurnalelor routerului pentru acele zile a indicat faptul că internetul s-a „deconectat” în jurul orei 4:00 și routerul meu nu s-ar conecta decât dacă l-am repornit.

Având un Raspberry Pi suplimentar în jurul valorii de și unele abilități python, am decis să analizez cum ar putea ajuta cu dilema mea și am venit cu această soluție.

L-am testat și l-am instalat și până acum atât de bine!

Practic, Raspberry Pi verifică o conexiune la internet la fiecare 2 minute prin intermediul unui „ping” către 2 site-uri web diferite. Atâta timp cât cel puțin unul dintre ei răspunde, suntem cu toții buni. Dacă nu există „ping-uri” returnate, Pi oprește alimentarea cu hub-ul USB intern care, la rândul său, face ca Iot Power Relay să oprească routerul. După 2 minute, Pi pornește hub-ul USB intern, determinând Iot Power Relay să pornească routerul. Apoi așteaptă 4 minute înainte de a relua verificarea conectivității la internet de 2 minute.

De asemenea, a trebuit să iau în considerare faptul că poate există o întrerupere în zona mea și internetul va fi oprit pentru o vreme - rar, dar se întâmplă (cel puțin în zona mea …) și nu am vrut ca routerul să repornească la fiecare 6 până la 8 minute, așa că am pus un steag care să amâne următoarea repornire pentru 1 oră în acest caz.

Provizii

Lista de echipamente:

  1. Releu de putere Iot pentru Raspberry Pi (în imaginea de mai sus)
  2. Conector de bloc terminal cu șurub USB 2.0 A (dacă aveți de gând să vă creați propriul cablu USB -> bandă de alimentare, de asemenea, în imaginea de mai sus)
  3. Cablu cu 2 sau mai multe fire conductoare sau un cablu USB vechi / suplimentar pe care îl puteți utiliza. Am folosit un vechi cablu stereo phono și am întrerupt prizele.
  4. Raspberry Pi Model 3+ (ați putea folosi un Model 4 și controla porturi individuale - folosesc un Model 3)

Este posibil să câștig un mic comision pentru aprobarea, recomandarea, mărturia și / sau link-ul meu către orice produs enumerat mai sus.

Pasul 1: Construiți și conectați hardware-ul

Construiți și conectați hardware-ul
Construiți și conectați hardware-ul

Mi-am construit cablul pentru a conecta Pi la releul de alimentare.

Am folosit blocul de terminale cu șurub USB cu 2 fire conectate la sloturile + și gnd. Ar trebui să le puteți vedea pe conector. Vedeți imaginea cu săgețile roșii (+) și albe (-) către sloturi.

Am conectat celălalt capăt la releul de alimentare. Partea verde de pe partea laterală a releului de putere se scoate și apoi puteți introduce firele în sloturi și înșurubați-le apoi în jos. Vedeți imaginea cu săgețile roșii (+) și albe (-) către fire.

Notă: dacă utilizați un cablu USB existent, veți avea de obicei 4 fire la celălalt capăt - cel roșu este (+ 5v), iar cel negru este masa (-). Le veți folosi doar pe cele 2 pentru releu de putere.

Pentru testare, am conectat o lampă de masă la una dintre prizele marcate „normal oprit”. Aceasta este controlată de starea de alimentare USB. Am conectat Raspberry Pi la priza „mereu pornită” și l-am conectat și l-am pornit pentru pasul următor.

Pasul 2: Instalați software-ul

Configurați Pi:

Există câteva site-uri web care vă vor ghida în configurarea RPi pentru prima dată, dacă este necesar.

Life Hacker

Raspberry Pi Org

Am configurat-o pe „fără cap” și folosesc VNC pentru a mă conecta la ea. Linkurile de mai sus arată cum să faceți acest lucru.

Configurare software:

  1. Instalați uhubctl (consultați https://github.com/mvp/uhubctl) care va fi utilizat pentru a opri și porni hub-ul USB.
  2. Descărcați și instalați software-ul pe care l-am scris de pe pagina mea GitHub: RPi Router Reboot software.
  3. Configurați și înregistrați internet-monitor.service dacă doriți să executați acest lucru ca serviciu la pornirea Raspberry Pi.

Pasul 3: Detalii de testare și funcționare

Programul principal python, rpi-internet-monitor.py poate fi rulat cu 1 sau 2 parametri în scopuri de depanare și testare.

Deschideți o sesiune de terminal în folderul în care puneți codul și executați următoarea comandă:

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

Notă - acest lucru va imprima informațiile de depanare și va opri și aprinde becul, deoarece va fi testat neconectat la internet. Puteți pur și simplu să utilizați -debug și să vedeți mesajele. Nu puteți folosi doar -test, trebuie să fie al doilea parametru după -debug.

Puteți schimba CONSTANȚII din partea de sus a programului la valorile dorite. Primul set rulează cu setul de parametri -test, al doilea set este ceea ce va fi utilizat în toate celelalte cazuri.

Am configurat un serviciu pentru a rula acest lucru la momentul pornirii, astfel încât acesta să ruleze întotdeauna pe Raspberry Pi.

Deschideți internet-monitor.service și editați liniile ExecStart și WorkingDirectory cu căile complete către codul python. Salvați fișierul.

Copiați fișierul în folderul systemd / system:

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

Testați dacă serviciul pornește fără erori:

: ~ / Documents / RebootRouter $ sudo systemctl start internet-monitor.service

Activați serviciul pentru a începe la momentul pornirii:

: ~ / Documents / RebootRouter $ sudo systemctl enable internet-monitor.service

Dacă totul merge bine, acum puteți pune totul împreună și puteți opri Iot Power Relay, deconectați lampa, conectați routerul și reporniți Power Relay. Ruterul dvs. ar trebui să repornească și acum monitorizează internetul.

Am mai făcut un test după ce am conectat totul - mi-am deconectat cablul de internet de la perete și am așteptat; sigur că routerul s-a oprit și apoi a pornit. A rămas aprins și după aproximativ 10 minute, am reconectat cablul la perete și am avut internetul - a funcționat bine până acum …:)

Recomandat: