Sadržaj:

Raspberry Pi ruter za ponovno pokretanje: 3 koraka
Raspberry Pi ruter za ponovno pokretanje: 3 koraka

Video: Raspberry Pi ruter za ponovno pokretanje: 3 koraka

Video: Raspberry Pi ruter za ponovno pokretanje: 3 koraka
Video: Превратите свой Raspberry Pi Pico в ПЛК Mitsubishi FX1N 2024, Studeni
Anonim
Raspberry Pi ruter za ponovno pokretanje
Raspberry Pi ruter za ponovno pokretanje
Raspberry Pi ruter za ponovno pokretanje
Raspberry Pi ruter za ponovno pokretanje

Jeste li ikada primijetili da više niste povezani s internetom?

Je li frustrirajuće ustati ujutro i morati 'ponovno pokrenuti' usmjerivač da biste vratili internet?

Pa, ovo mi se događalo češće nego što mi je stalo da se to dogodi.

Ranije ove godine otišao sam izvan grada na 3 tjedna i prvog dana moj usmjerivač se isključio s interneta! To je značilo da nemam veze sa stvarima u svojoj kući na koje se oslanjam da se povremeno 'prijavljujem' - npr. Nest termostat, Arlo kamere … Budući da nisam bio kod kuće, nisam mogao ponovno pokrenuti usmjerivač. Zaista nisam želio gnjaviti susjedu da prođe moj sigurnosni sustav, a zatim pronađe moj usmjerivač i ponovno ga pokrene. Razmišljao sam i o tome da nazovem elektroprivredu i da mi isključe struju oko 5 minuta - moj S. O. nisam odobrio..:(Kad sam se vratio, počeo sam tražiti dobro rješenje, ali nisam mogao pronaći ništa dovoljno opsežno za ono što mi je trebalo. U početku sam upravo kupio digitalni vremenski razvodnik i namjestio ga tako da isključuje usmjerivač u 2 sata ujutro na 5 minuta. Nažalost, nekoliko jutara nisam imao internet - pregled dnevnika usmjerivača za te dane pokazao je da se internet 'prekinuo' oko 4:00 ujutro i da se moj usmjerivač ne bi povezao ako ga ponovno ne pokrenem.

S obzirom na to da je Raspberry Pi dodatno legao i imao neke vještine u pitonu, odlučio sam pogledati kako bi to moglo pomoći u mojoj dilemi i došao sam do ovog rješenja.

Testirao sam ga i instalirao i zasad je dobro!

U osnovi, Raspberry Pi provjerava internetsku vezu svake 2 minute putem 'pinga' na 2 različite web stranice. Sve dok barem jedan od njih odgovori, svi smo dobri. Ako nema vraćenih "pingova", Pi isključuje napajanje unutarnjem USB čvorištu što zauzvrat uzrokuje da Iot Power Relay isključi ruter. Nakon 2 minute, Pi uključuje unutarnje USB čvorište uzrokujući da Iot Power Relay uključi usmjerivač. Zatim čeka 4 minute prije nego što nastavi s 2 -minutnom provjerom internetske veze.

Također sam morao uzeti u obzir da je možda došlo do nestanka u mom području, a internet će neko vrijeme biti u prekidu - rijetko, ali događa se (barem u mom području …) i nisam želio da se usmjerivač ponovno pokreće svakih 6 na 8 minuta pa sam stavio zastavicu koja bi u ovom slučaju odložila sljedeće ponovno pokretanje za 1 sat.

Pribor

Lista opreme:

  1. Iot Power Relay za Raspberry Pi (na slici gore)
  2. USB 2.0 A konektor s vijčanim terminalnim blokom (ako namjeravate sami izraditi USB -> kabel za napajanje, također na slici gore)
  3. Kabel s 2 ili više provodnih žica ili starim / dodatnim USB kabelom koji možete koristiti. Koristio sam stari stereo phono utikač i odrezao utikače.
  4. Raspberry Pi Model 3+ (mogli biste koristiti model 4 i kontrolirati pojedinačne portove - ja koristim model 3)

Mogu zaraditi malu proviziju za svoje odobrenje, preporuku, svjedočanstvo i/ili povezivanje s bilo kojim od gore navedenih proizvoda.

Korak 1: Izgradite i povežite hardver

Izgradite i povežite hardver
Izgradite i povežite hardver

Izgradio sam svoj kabel za spajanje Pi na relej napajanja.

Koristio sam USB vijčani priključni blok s 2 žice spojene na ulaze + i gnd. Trebali biste ih moći vidjeti na priključku. Pogledajte sliku s crvenim (+) i bijelim (-) strelicama do utora.

Drugi kraj sam spojio u relej napajanja. Zeleni dio sa strane releja za napajanje samo se izvlači, a zatim možete umetnuti žice u utore i čvrsto ih zašrafiti. Pogledajte sliku s crvenim (+) i bijelim (-) strelicama do žica.

Napomena: ako koristite postojeći USB kabel, obično ćete imati 4 žice na drugom kraju - crvena je (+5v), a crna (-) uzemljenje. Njih 2 ćete koristiti samo za relej napajanja.

Za testiranje sam priključio stolnu svjetiljku na jednu od utičnica s oznakom 'normalno isključeno'. To se kontrolira USB napajanjem. Priključio sam Raspberry Pi u utičnicu "uvijek uključeno" i uključio ga te uključio za sljedeći korak.

Korak 2: Instalirajte softver

Postavite Pi:

Postoji nekoliko web stranica koje će vas po potrebi uputiti u postavljanje vašeg RPi.

Life Hacker

Malina Pi Org

Ja sam svoj postavio 'bez glave' i za povezivanje koristim VNC. Gore navedene veze pokazuju kako to učiniti.

Postavljanje softvera:

  1. Instalirajte uhubctl (pogledajte https://github.com/mvp/uhubctl) koji će se koristiti za isključivanje i uključivanje USB čvorišta.
  2. Preuzmite i instalirajte softver koji sam napisao sa svoje stranice GitHub: softver za ponovno pokretanje RPi usmjerivača.
  3. Postavite i registrirajte internet-monitor.service ako ovo želite pokrenuti kao uslugu kada se Raspberry Pi pokrene.

Korak 3: Pojedinosti o testiranju i radu

Glavni program python, rpi-internet-monitor.py može se izvoditi s 1 ili 2 parametra za ispravljanje pogrešaka i testiranje.

Otvorite terminalsku sesiju u mapi u koju ste unijeli kôd i izvršite sljedeću naredbu:

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

Napomena - ovo će ispisati informacije o otklanjanju pogrešaka i ugasiti i uključiti lampicu jer će se testirati ako nije spojen na internet. Možete samo upotrijebiti -debug i vidjeti poruke. Ne možete koristiti samo -test, to mora biti drugi parametar nakon -debug.

KONSTANTE u gornjem dijelu programa možete promijeniti u bilo koje vrijednosti koje želite. Prvi skup izvodi se s parametrom -test, drugi skup će se koristiti u svim ostalim slučajevima.

Postavio sam uslugu koja će to pokrenuti pri pokretanju, tako da uvijek radi na mom Raspberry Pi.

Otvorite internet-monitor.service i uredite linije ExecStart i WorkingDirectory sa svojim punim putovima do Python koda. Spremite datoteku.

Kopirajte datoteku u mapu systemd/system:

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

Testirajte da li se usluga pokreće bez grešaka:

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

Omogućite uslugu da se pokrene u vrijeme pokretanja:

: ~/Documents/RebootRouter $ sudo systemctl omogućiti internet-monitor.service

Ako je sve u redu, sada možete sve spojiti i isključiti Iot Power Relay, isključiti žarulju, spojiti usmjerivač i ponovo uključiti Power Relay. Vaš bi se usmjerivač trebao ponovno pokrenuti i sada nadzire internet.

Napravio sam još jedan test nakon što sam sve spojio - odspojio sam internetski kabel na zidu i čekao; sigurno se usmjerivač isključio, a zatim uključio. Ostao je uključen i nakon otprilike 10 minuta, ponovno sam spojio kabel na zid i imao internet - do sada je dobro radio….:)

Preporučeni: