Obsah:

Router pro restartování maliny Pi: 3 kroky
Router pro restartování maliny Pi: 3 kroky

Video: Router pro restartování maliny Pi: 3 kroky

Video: Router pro restartování maliny Pi: 3 kroky
Video: Accidentally Destroying a Raspberry Pi 3B #Shorts 2024, Listopad
Anonim
Restartovací router Raspberry Pi
Restartovací router Raspberry Pi
Restartovací router Raspberry Pi
Restartovací router Raspberry Pi

Všimli jste si někdy, že již nejste připojeni k internetu?

Je frustrující ráno vstávat a muset „restartovat“router, aby se vrátil internet?

Stalo se mi to častěji, než bych se staral, aby k tomu došlo.

Začátkem tohoto roku jsem odešel na 3 týdny mimo město a první den se můj router odpojil od internetu! To znamenalo, že jsem neměl žádné spojení s věcmi v mém domě, na které se pravidelně spoléhám - například termostat Nest, kamery Arlo … Jelikož jsem nebyl doma, nemohl jsem restartovat router. Opravdu jsem nechtěl obtěžovat souseda, aby se dostal přes můj bezpečnostní systém a pak našel můj router a restartoval jej. Také mě napadlo zavolat energetickou společnost a nechat je asi na 5 minut odpojit od mého domu - můj S. O. neschválil..:(Když jsem se vrátil, začal jsem hledat dobré řešení, ale nenašel jsem nic dostatečně komplexního na to, co jsem potřeboval. Nejprve jsem si koupil digitální časovanou prodlužovací lištu a nastavil ji na vypnutí routeru ve 2:00 ráno na 5 minut. Bohužel pár ráno jsem neměl internet - kontrola protokolů routerů pro tyto dny ukázala, že internet se 'odpojil' kolem 4:00 ráno a můj router se nepřipojil, pokud jsem ho nerestartoval.

Když jsem měl další Raspberry Pi a nějaké dovednosti v pythonu, rozhodl jsem se zjistit, jak by to mohlo pomoci s mým dilematem, a přišel jsem s tímto řešením.

Vyzkoušel jsem a nainstaloval a zatím je to tak dobré!

V zásadě Raspberry Pi kontroluje připojení k internetu každé 2 minuty pomocí „ping“na 2 různé webové stránky. Dokud alespoň jeden z nich odpoví, jsme všichni dobří. Pokud nejsou vráceny žádné „pingy“, Pi vypne napájení interního rozbočovače USB, což způsobí, že relé Iot Power Relay vypne router. Po 2 minutách Pi zapne interní rozbočovač USB, což způsobí, že relé Iot Power Relay zapne router. Poté počká 4 minuty, než obnoví 2minutovou kontrolu připojení k internetu.

Také jsem musel vzít v úvahu, že v mé oblasti může dojít k výpadku a internet bude na nějakou dobu nefunkční - vzácné, ale vyskytuje se (alespoň v mé oblasti …) a nechtěl jsem, aby se router restartoval každých 6 na 8 minut, takže jsem vložil příznak, který by v tomto případě odložil další restart o 1 hodinu.

Zásoby

Seznam vybavení:

  1. Relé Iot Power pro Raspberry Pi (na obrázku výše)
  2. Konektor šroubové svorkovnice USB 2.0 A (pokud si budete vyrábět vlastní USB -> napájecí kabel, také na obrázku výše)
  3. Můžete použít kabel se 2 nebo více vodivými vodiči nebo starý / extra kabel USB. Použil jsem starý stereofonní kabel s konektorem phono a přerušil konektory.
  4. Raspberry Pi Model 3+ (můžete použít Model 4 a ovládat jednotlivé porty - používám Model 3)

Za své doporučení, doporučení, svědectví a/nebo odkaz na jakékoli výše uvedené produkty mohu získat malou provizi.

Krok 1: Sestavte a připojte hardware

Sestavte a připojte hardware
Sestavte a připojte hardware

Postavil jsem svůj kabel pro připojení Pi k výkonovému relé.

Použil jsem šroubovou svorkovnici USB se 2 vodiči připojenými ke slotům + a gnd. Měli byste je vidět na konektoru. Viz obrázek s červenou (+) a bílou (-) šipkou u slotů.

Druhý konec jsem zapojil do výkonového relé. Zelená část na straně výkonového relé se jednoduše vytáhne a poté můžete zasunout dráty do otvorů a zašroubovat je. Viz obrázek s červenou (+) a bílou (-) šipkou na vodičích.

Poznámka: pokud použijete stávající USB kabel, budete mít obvykle na druhém konci 4 vodiče - červený je (+5v) a černý je (-) uzemnění. Ty 2 použijete pouze pro výkonové relé.

Pro testování jsem připojil stolní lampu k jednomu z vývodů označených 'normálně vypnuto'. To je řízeno stavem napájení USB. Zapojil jsem Raspberry Pi do zásuvky „vždy zapnuto“a zapojil ji a zapnul pro další krok.

Krok 2: Nainstalujte software

Nastavte Pi:

Existuje několik webových stránek, které vás v případě potřeby poprvé provedou nastavením RPi.

Life Hacker

Raspberry Pi Org

Nastavil jsem svůj 'bezhlavý' a pomocí VNC se k němu připojil. Odkazy výše ukazují, jak to udělat.

Nastavení softwaru:

  1. Nainstalujte uhubctl (viz https://github.com/mvp/uhubctl), který bude použit k vypnutí a zapnutí rozbočovače USB.
  2. Stáhněte a nainstalujte software, který jsem napsal, ze své stránky GitHub: software pro restartování routeru RPi.
  3. Nastavte a zaregistrujte službu internet-monitor.service, pokud ji chcete spustit jako službu při spuštění Raspberry Pi.

Krok 3: Podrobnosti o testování a provozu

Hlavní program pythonu rpi-internet-monitor.py lze spustit s 1 nebo 2 parametry pro účely ladění a testování.

Otevřete relaci terminálu ve složce, do které vložíte kód, a spusťte následující příkaz:

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

Poznámka - toto vytiskne informace o ladění a vypne lampu a zapne se, protože bude testovat, že není připojen k internetu. Můžete použít -debug a zobrazit zprávy. Nelze použít pouze -test, musí to být druhý parametr po -debug.

KONSTANTY v horní části programu můžete změnit na libovolné hodnoty, které se vám líbí. První sada běží se sadou parametrů -test, druhá sada je to, co bude použito ve všech ostatních případech.

Nastavil jsem službu, která to spustí při spuštění, takže je vždy spuštěna na mém Raspberry Pi.

Otevřete službu internet-monitor.service a upravte řádky ExecStart a WorkingDirectory pomocí úplných cest ke kódu pythonu. Uložte soubor.

Zkopírujte soubor do složky systemd/system:

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

Otestujte, zda se služba spustí bez chyb:

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

Povolte spuštění služby při spuštění:

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

Pokud vše půjde dobře, můžete to nyní dát dohromady a vypnout Iot Power Relay, odpojit lampu, připojit router a znovu zapnout Power Relay. Váš router by se měl restartovat a nyní monitoruje internet.

Poté, co jsem vše připojil, jsem provedl ještě jeden test - odpojil jsem internetový kabel u zdi a čekal; router se určitě vypnul a poté zapnul. Zůstal zapnutý a asi po 10 minutách jsem znovu připojil kabel u zdi a měl internet - zatím funguje dobře….:)

Doporučuje: