Kazalo:

Ponovni zagon usmerjevalnika Raspberry Pi: 3 koraki
Ponovni zagon usmerjevalnika Raspberry Pi: 3 koraki

Video: Ponovni zagon usmerjevalnika Raspberry Pi: 3 koraki

Video: Ponovni zagon usmerjevalnika Raspberry Pi: 3 koraki
Video: Equipment Corner- OctoPrint configuration 2024, November
Anonim
Ponovni zagon usmerjevalnika Raspberry Pi
Ponovni zagon usmerjevalnika Raspberry Pi
Ponovni zagon usmerjevalnika Raspberry Pi
Ponovni zagon usmerjevalnika Raspberry Pi

Ste kdaj opazili, da niste več povezani z internetom?

Ali je frustrirajuće, če vstanete zjutraj in morate znova zagnati usmerjevalnik, da dobite internet nazaj?

No, to se mi je dogajalo pogosteje, kot mi je mar, da bi se to zgodilo.

V začetku tega leta sem za 3 tedne odšel iz mesta in prvi dan se je moj usmerjevalnik odklopil od interneta! To je pomenilo, da nisem imel nobene povezave s stvarmi v svoji hiši, na katere se zanašam, da se občasno 'prijavim' - na primer termostat Nest, kamere Arlo … Ker nisem bil doma, nisem mogel znova zagnati usmerjevalnika. Resnično nisem hotel motiti soseda, da bi prišel mimo mojega varnostnega sistema, nato pa našel usmerjevalnik in ga znova zagnal. Razmišljal sem tudi, da bi poklical elektroenergetsko podjetje in jim dal za približno 5 minut izklopiti elektriko - moj S. O. nisem odobril …:(Ko sem se vrnil, sem začel iskati dobro rešitev, vendar nisem našel ničesar dovolj obsežnega za tisto, kar sem potreboval. Sprva sem pravkar kupil digitalni časovni razdelilnik in ga nastavil za izklop usmerjevalnika ob 2:00 zjutraj za 5 minut. Na žalost nekaj jutranjih nisem imel interneta - pregled dnevnikov usmerjevalnika za tiste dni je pokazal, da se je internet "prekinil" okoli 4. ure zjutraj in da se usmerjevalnik ne bi povezal, razen če ga znova zaženem.

Ker sem imel na razpolago dodaten Raspberry Pi in nekaj veščine pythona, sem se odločil, da bom preučil, kako bi lahko pomagal pri moji dilemi, in prišel do te rešitve.

Preizkusil sem in namestil in zaenkrat dobro!

V bistvu Raspberry Pi preverja internetno povezavo vsake 2 minuti prek "pinga" na 2 različnih spletnih mestih. Dokler se vsaj eden od njih odzove, smo vsi v redu. Če ni vrnjenih "pingov", Pi izklopi napajanje notranjega zvezdišča USB, kar povzroči, da rele Iot Power izklopi usmerjevalnik. Po 2 minutah Pi vklopi notranje zvezdišče USB, zaradi česar Iot Power Relay vklopi usmerjevalnik. Nato počaka 4 minute, preden nadaljuje 2 -minutno preverjanje internetne povezave.

Moral sem upoštevati tudi, da je morda na mojem območju prišlo do izpada in internet bo za nekaj časa izpadel - redko, vendar se to zgodi (vsaj na mojem območju …) in nisem hotel, da se usmerjevalnik znova zažene vsakih 6 na 8 minut, zato sem vstavil zastavico, ki bi v tem primeru za 1 uro odložila naslednji ponovni zagon.

Zaloge

Seznam opreme:

  1. Iot Power Relay za Raspberry Pi (na sliki zgoraj)
  2. Vijačni priključek USB 2.0 A (če boste izdelovali svoj USB -> kabel za napajalni trak, tudi na sliki zgoraj)
  3. Kabel z 2 ali več prevodnimi žicami ali starim / dodatnim kablom USB, ki ga lahko uporabite. Uporabil sem star stereo stereo vtični kabel in odrezal vtiče.
  4. Raspberry Pi Model 3+ (lahko uporabite model 4 in nadzorujete posamezna vrata - uporabljam model 3)

Za potrditev, priporočilo, pričevanje in/ali povezavo do katerega koli od zgoraj navedenih izdelkov lahko zaslužim majhno provizijo.

1. korak: Zgradite in povežite strojno opremo

Zgradite in povežite strojno opremo
Zgradite in povežite strojno opremo

Zgradil sem svoj kabel za povezavo Pi z napajalnim relejem.

Uporabil sem vijačni priključni blok USB z 2 žicama, priključenima na reži + in gnd. Morali bi jih videti na priključku. Oglejte si sliko z rdečimi (+) in belimi (-) puščicami do rež.

Drugi konec sem priključil na napajalni rele. Zeleni del na strani releja za napajanje se samo izvleče, nato pa lahko vstavite žice v reže in jih nato privijte navzdol. Oglejte si sliko z rdečimi (+) in belimi (-) puščicami do žic.

Opomba: če uporabljate obstoječi kabel USB, imate običajno na drugem koncu 4 žice - rdeča je (+5v), črna pa (-) ozemljitev. Ti 2 boste uporabili samo za rele za napajanje.

Za testiranje sem namizno svetilko priključil na eno od vtičnic z oznako 'normalno izklopljeno'. To nadzoruje stanje napajanja USB. Raspberry Pi sem priključil v vtičnico »vedno vklopljeno« in ga priključil ter vklopil za naslednji korak.

2. korak: Namestite programsko opremo

Nastavite Pi:

Obstaja nekaj spletnih mest, ki vas bodo po potrebi vodila pri prvi nastavitvi RPi.

Life Hacker

Raspberry Pi Org

Mojega sem nastavil 'brez glave' in z njim povežem VNC. Zgornje povezave prikazujejo, kako to storiti.

Nastavitev programske opreme:

  1. Namestite uhubctl (glejte https://github.com/mvp/uhubctl), ki bo uporabljen za izklop in vklop vozlišča USB.
  2. Prenesite in namestite programsko opremo, ki sem jo napisal s strani GitHub: programska oprema za ponovni zagon usmerjevalnika RPi.
  3. Nastavite in registrirajte internet-monitor.service, če želite to zagnati kot storitev, ko se zažene Raspberry Pi.

3. korak: Podrobnosti testiranja in delovanja

Glavni program python, rpi-internet-monitor.py, se lahko za namene odpravljanja napak in testiranja izvaja z 1 ali 2 parametri.

Odprite terminalsko sejo v mapi, v katero vnesete kodo, in izvedite naslednji ukaz:

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

Opomba - s tem se bodo natisnile informacije o odpravljanju napak, svetilka pa se bo izklopila in vklopila, saj bo preskusil, da ni povezan z internetom. Uporabite lahko -debug in si ogledate sporočila. Ne morete uporabiti samo -test, to mora biti drugi parameter po -debug.

V zgornjem delu programa lahko spremenite KONSTANTE na želene vrednosti. Prvi niz se izvaja z naborom parametrov -test, drugi niz bo uporabljen v vseh drugih primerih.

Nastavil sem storitev za zagon tega ob zagonu, tako da se vedno izvaja na mojem Raspberry Pi.

Odprite internet-monitor.service in uredite vrstici ExecStart in WorkingDirectory s polnimi potmi do kode python. Shranite datoteko.

Kopirajte datoteko v mapo systemd/system:

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

Preverite, ali se storitev zažene brez napak:

: ~/Documents/RebootRouter $ sudo systemctl zaženite internet-monitor.service

Omogočite zagon storitve ob zagonu:

: ~/Documents/RebootRouter $ sudo systemctl omogoči internet-monitor.service

Če je vse v redu, lahko zdaj vse sestavite in izklopite Iot Power Rele, izklopite svetilko, priključite usmerjevalnik in znova vklopite rele Power. Vaš usmerjevalnik bi se moral znova zagnati in zdaj spremlja internet.

Naredil sem še en test, potem ko sem vse priklopil - odklopil sem internetni kabel ob steni in čakal; Seveda se je usmerjevalnik izklopil in nato vklopil. Ostalo je vklopljeno in čez kakšnih 10 minut sem ponovno priključil kabel na steno in imel internet - do sedaj je deloval v redu….:)

Priporočena: