Sisällysluettelo:

Raspberry Pi Reboot -reititin: 3 vaihetta
Raspberry Pi Reboot -reititin: 3 vaihetta

Video: Raspberry Pi Reboot -reititin: 3 vaihetta

Video: Raspberry Pi Reboot -reititin: 3 vaihetta
Video: How to network monitor using Raspberry PI | Zabbix | NETVN 2024, Marraskuu
Anonim
Raspberry Pi Reboot -reititin
Raspberry Pi Reboot -reititin
Raspberry Pi Reboot -reititin
Raspberry Pi Reboot -reititin

Oletko koskaan huomannut, että et ole enää yhteydessä Internetiin?

Onko turhauttavaa nousta aamulla ja joutua käynnistämään reititin uudelleen saadakseen Internetin takaisin?

No, tämä on tapahtunut minulle useammin kuin haluan sen tapahtuvan.

Aiemmin tänä vuonna menin pois kaupungista kolmeksi viikoksi ja ensimmäisenä päivänä reitittimeni katkesi Internetistä! Tämä tarkoitti sitä, että minulla ei ollut yhteyttä taloni asioihin, joihin luotan "kirjautumiseen" säännöllisesti - esim. Nest -termostaatti, Arlo -kamerat … Koska en ollut kotona, en voinut käynnistää reititintä uudelleen. En todellakaan halunnut häiritä naapuria päästäkseni turvajärjestelmästäni ja etsimään sitten reitittimeni ja käynnistämään sen uudelleen. Ajattelin myös soittaa sähköyhtiölle ja pyytää heitä katkaisemaan virran talostani noin 5 minuutiksi - S. O. ei hyväksynyt..:(Palattuani aloin etsiä hyvää ratkaisua, mutta en löytänyt mitään tarpeeksi kattavaa tarvitsemaani. Aluksi ostin juuri digitaalisen ajastetun jatkojohdon ja asetin sen sammuttamaan reitittimen klo 02.00 5 minuutiksi. Valitettavasti pari aamua minulla ei ollut Internetiä - niiden päivien reitittimen lokien tarkastelu osoitti, että Internet katkaisi yhteyden noin klo 4.00 ja reititin ei yhdisty, ellet käynnistä sitä uudelleen.

Ottaen ylimääräisen Raspberry Pi -laitteen ympärilleni ja jonkin verran python -taitoa, päätin tutkia, miten se voisi auttaa dilemmaani ja keksin tämän ratkaisun.

Testasin ja asensin ja toistaiseksi niin hyvin!

Pohjimmiltaan Raspberry Pi tarkistaa Internet -yhteyden kahden minuutin välein "ping" -sovelluksella kahdelle eri verkkosivustolle. Niin kauan kuin ainakin yksi heistä vastaa, olemme kaikki hyviä. Jos palautettuja "ping -signaaleja" ei ole, Pi katkaisee virran sisäisestä USB -keskittimestä, mikä puolestaan saa Iot Power Relay -laitteen katkaisemaan reitittimen. Kahden minuutin kuluttua Pi käynnistää sisäisen USB -keskittimen, jolloin Iot Power Relay kytkee reitittimen päälle. Sen jälkeen se odottaa 4 minuuttia ennen kuin jatkaa 2 minuutin Internet -yhteyden tarkistusta.

Minun piti myös harkita, että kenties alueellani on katkos ja Internet katkeaa jonkin aikaa - harvinaista, mutta sitä tapahtuu (ainakin omalla alueellani …), enkä halunnut, että reititin käynnistyy uudelleen joka kuudes 8 minuuttiin, joten laitoin lipun, joka lykkäisi seuraavaa uudelleenkäynnistystä 1 tunniksi tässä tapauksessa.

Tarvikkeet

Varusteluettelo:

  1. Iot Power Rele Raspberry Pi: lle (kuvassa yllä)
  2. USB 2.0 A ruuviliitinliitin (jos aiot tehdä oman USB -> jatkojohtokaapelin, myös yllä)
  3. Kaapeli, jossa on vähintään kaksi johtavaa johtoa tai vanha / ylimääräinen USB -kaapeli, jota voit käyttää. Käytin vanhaa stereo -phono -liitäntäkaapelia ja katkaisin pistokkeet.
  4. Raspberry Pi Model 3+ (voit käyttää mallia 4 ja ohjata yksittäisiä portteja - käytän mallia 3)

Voin ansaita pienen palkkion suosituksestani, suosituksestani, suosittelustani ja/tai linkistä mihin tahansa yllä lueteltuihin tuotteisiin.

Vaihe 1: Rakenna ja liitä laitteisto

Rakenna ja liitä laitteisto
Rakenna ja liitä laitteisto

Rakensin kaapelin Pi: n kytkemiseksi virtalähteeseen.

Käytin USB -ruuviliitintä, jossa oli 2 johtoa + ja gnd -korttipaikkoihin. Sinun pitäisi nähdä ne liittimessä. Katso kuva, jossa on punaiset (+) ja valkoiset (-) nuolet rakoihin.

Liitin toisen pään virtalähteeseen. Virtareleen sivussa oleva vihreä osa vetää vain ulos ja voit sitten asettaa johdot aukkoihin ja ruuvata sitten tiukasti kiinni. Katso kuva, jossa on punainen (+) ja valkoinen (-) nuoli johtoihin.

Huomautus: jos käytät olemassa olevaa USB -kaapelia, sinulla on yleensä 4 johtoa toisessa päässä - punainen on (+5v) ja musta on (-). Käytät vain näitä kahta virtareleessä.

Testiä varten liitin pöytälampun yhteen pistorasiasta, joka oli merkitty normaalisti pois päältä. Tätä ohjaa USB -virtatila. Kytkin Raspberry Pi: n aina päällä olevaan pistorasiaan ja kytkin sen pistorasiaan ja käynnistin sen seuraavaan vaiheeseen.

Vaihe 2: Asenna ohjelmisto

Määritä Pi:

On olemassa muutamia verkkosivustoja, jotka opastavat sinua tarvittaessa asettamaan RPi: n ensimmäistä kertaa.

Elämän hakkeri

Vadelma Pi Org

Määritän omani "päättömäksi" ja käytä VNC -yhteyttä siihen. Yllä olevat linkit osoittavat, miten tämä tehdään.

Ohjelmiston asetukset:

  1. Asenna uhubctl (katso https://github.com/mvp/uhubctl), jota käytetään USB -keskittimen sammuttamiseen ja käynnistämiseen.
  2. Lataa ja asenna ohjelmisto, jonka kirjoitin GitHub -sivultani: RPi Router Reboot -ohjelmisto.
  3. Määritä ja rekisteröi Internet-monitor.service, jos haluat käyttää tätä palveluna, kun Raspberry Pi käynnistyy.

Vaihe 3: Testaus- ja käyttötiedot

Python-pääohjelma rpi-internet-monitor.py voidaan suorittaa yhdellä tai kahdella parametrilla virheenkorjausta ja testausta varten.

Avaa pääteistunto kansioon, johon laitat koodin, ja suorita seuraava komento:

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

Huomaa - tämä tulostaa virheenkorjaustiedot ja sammuttaa lampun ja sytyttää sen, koska se testaa, ettei se ole yhteydessä Internetiin. Voit käyttää -debug -toimintoa ja nähdä viestit. Et voi käyttää vain -testia, vaan sen on oltava toinen parametri -debug jälkeen.

Voit muuttaa ohjelman yläosan CONSTANTS -arvot haluamillesi arvoille. Ensimmäinen sarja suoritetaan -test -parametrisarjalla, toinen joukko käytetään kaikissa muissa tapauksissa.

Perustin palvelun suorittamaan tämän käynnistyksen yhteydessä, joten se toimii aina Raspberry Pi -laitteessani.

Avaa Internet-monitor.service ja muokkaa ExecStart- ja WorkingDirectory-rivejä täydellisillä poluilla python-koodiin. Tallenna tiedosto.

Kopioi tiedosto systemd/system -kansioon:

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

Testaa, että palvelu käynnistyy ilman virheitä:

: ~/Documents/RebootRouter $ sudo systemctl käynnistä Internet-monitor.service

Ota palvelu käyttöön käynnistyksen yhteydessä:

: ~/Documents/RebootRouter $ sudo systemctl ottaa käyttöön Internet-monitor.service

Jos kaikki menee hyvin, voit nyt koota kaiken yhteen ja sammuttaa Iot -virtareleen, irrottaa lampun, kytkeä reitittimen ja kytkeä virtalähteen takaisin päälle. Reitittimen pitäisi käynnistyä uudelleen ja se valvoo nyt Internetiä.

Tein vielä yhden testin, kun kaikki oli kytketty - irrotin Internet -kaapelin seinältä ja odotin; varmasti reititin sammui ja sitten käynnistyi. Se pysyi päällä ja noin 10 minuutin kuluttua liitin kaapelin uudelleen seinään ja minulla oli internet - se on toiminut hyvin tähän asti …:)

Suositeltava: