Obsah:

Reštartovací smerovač Raspberry Pi: 3 kroky
Reštartovací smerovač Raspberry Pi: 3 kroky

Video: Reštartovací smerovač Raspberry Pi: 3 kroky

Video: Reštartovací smerovač Raspberry Pi: 3 kroky
Video: BTT - Manta E3EZ - CB1 with EMMc install 2024, November
Anonim
Reštartovací smerovač Raspberry Pi
Reštartovací smerovač Raspberry Pi
Reštartovací smerovač Raspberry Pi
Reštartovací smerovač Raspberry Pi

Všimli ste si niekedy, že už nie ste pripojení k internetu?

Je frustrujúce vstávať ráno a musieť „reštartovať“smerovač, aby sa vrátil internet?

Stalo sa mi to častejšie, než by som si myslel, že sa to stane.

Začiatkom tohto roka som odišiel na tri týždne z mesta a prvý deň sa môj router odpojil od internetu! To znamenalo, že som nemal žiadne spojenie s vecami v mojom dome, na ktoré sa pravidelne spolieham - napr. Nest termostat, kamery Arlo … Keďže som nebol doma, nemohol som reštartovať smerovač. Naozaj som nechcel obťažovať suseda, aby prešiel cez môj bezpečnostný systém a potom našiel svoj smerovač a reštartoval ho. Tiež som premýšľal o tom, že zavolám elektrárenskú spoločnosť a nechám ich asi 5 minút odpojiť od môjho domu - môj S. O. neschválil..:(Keď som sa vrátil, začal som hľadať dobré riešenie, ale nenašiel som nič dostatočne komplexné na to, čo som potreboval. Najprv som si kúpil digitálny rozvádzač s časovaným nastavením a nastavil ho tak, aby router vypínal o 2:00 ráno na 5 minút. Nanešťastie pár rán som nemal internet - kontrola protokolov smerovača tých dní naznačovala, že internet sa „odpojil“okolo 4:00 ráno a môj smerovač sa nepripojí, pokiaľ ho nereštartujem.

Keď som mal okolo seba extra Raspberry Pi a malú znalosť pythonu, rozhodol som sa zistiť, ako by to mohlo pomôcť s mojou dilemou, a prišiel som s týmto riešením.

Testoval som a nainštaloval som to a zatiaľ je to dobré!

Raspberry Pi v zásade kontroluje internetové pripojenie každé 2 minúty prostredníctvom „ping“na 2 rôznych webových stránkach. Pokiaľ aspoň jeden z nich odpovie, sme všetci dobrí. Ak neexistujú žiadne vrátené „pingy“, Pi vypne napájanie interného rozbočovača USB, čo spôsobí, že relé Iot Power Relay vypne smerovač. Po 2 minútach Pi zapne interný rozbočovač USB, čím sa relé Iot Power Relay zapne na smerovači. Potom počká 4 minúty a potom pokračuje v 2 -minútovej kontrole internetového pripojenia.

Tiež som musel vziať do úvahy, že v mojej oblasti môže dôjsť k výpadku a internet na chvíľu vypadne - zriedkavo, ale stáva sa to (aspoň v mojej oblasti …) a nechcel som, aby sa router každých 6 reštartoval na 8 minút, takže som vložil vlajku, ktorá by v tomto prípade posunula nasledujúci reštart o 1 hodinu.

Zásoby

Zoznam vybavenia:

  1. Relé Iot Power pre Raspberry Pi (na obrázku vyššie)
  2. Skrutkový konektor svorkovnice USB 2.0 A (ak si budete vyrábať vlastný USB -> napájací kábel, tiež na obrázku vyššie)
  3. Môžete použiť kábel s 2 alebo viacerými vodivými vodičmi alebo starý / extra kábel USB. Použil som starý stereofónny konektor phono a odpojil som konektory.
  4. Raspberry Pi Model 3+ (môžete použiť Model 4 a ovládať jednotlivé porty - používam Model 3)

Za svoje schválenie, odporúčanie, posudok a/alebo odkaz na akékoľvek vyššie uvedené produkty môžem získať malú províziu.

Krok 1: Vytvorte a pripojte hardvér

Zostavte a pripojte hardvér
Zostavte a pripojte hardvér

Postavil som svoj kábel na pripojenie Pi k výkonovému relé.

Použil som skrutkovaciu svorkovnicu USB s 2 vodičmi pripojenými k zásuvkám + a GND. Mali by ste ich vidieť na konektore. Pozrite si obrázok s červenou (+) a bielou (-) šípkou k otvorom.

Druhý koniec som zapojil do výkonového relé. Zelená časť na boku výkonového relé sa jednoducho vytiahne a potom môžete vložiť vodiče do otvorov a zaskrutkovať. Pozrite si obrázok s červenou (+) a bielou (-) šípkou na vodičoch.

Poznámka: ak použijete existujúci kábel USB, budete mať spravidla 4 vodiče na druhom konci - červený je (+5v) a čierny je (-) uzemnenie. Tie 2 použijete iba na výkonové relé.

Na testovanie som pripojil stolnú lampu k jednému z výstupov označených 'normálne vypnuté'. Toto je riadené stavom napájania USB. Pripojil som Raspberry Pi do zásuvky „vždy zapnuté“, zapojil som ju a zapol pre ďalší krok.

Krok 2: Nainštalujte softvér

Nastavte Pi:

Existuje niekoľko webových stránok, ktoré vás v prípade potreby prevedú prvým nastavením RPi.

Životný hacker

Raspberry Pi Org

Nastavil som svoje „bezhlavé“a pomocou VNC sa k nemu pripojil. Odkazy vyššie ukazujú, ako to urobiť.

Nastavenie softvéru:

  1. Nainštalujte uhubctl (pozri https://github.com/mvp/uhubctl), ktorý sa použije na vypnutie a zapnutie rozbočovača USB.
  2. Stiahnite a nainštalujte softvér, ktorý som napísal, z mojej stránky GitHub: Softvér na reštartovanie smerovača RPi.
  3. Nastavte a zaregistrujte službu internet-monitor.service, ak to chcete spustiť ako službu pri spustení Raspberry Pi.

Krok 3: Podrobnosti o testovaní a prevádzke

Hlavný program python, rpi-internet-monitor.py, je možné spustiť s 1 alebo 2 parametrami na účely ladenia a testovania.

Otvorte terminálovú reláciu v priečinku, do ktorého zadáte kód, a vykonajte nasledujúci príkaz:

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

Poznámka - toto vytlačí informácie o ladení a vypne lampu, pretože sa testuje, či nie je pripojený k internetu. Môžete použiť iba -debug a zobraziť správy. Nemôžete použiť iba -test, musí to byť druhý parameter po -debug.

KONSTANTY v hornej časti programu môžete zmeniť na ľubovoľné hodnoty, ktoré sa vám páčia. Prvá sada beží so sadou parametrov -test, druhá sada je to, čo bude použité vo všetkých ostatných prípadoch.

Nastavil som službu, ktorá to má spustiť pri štarte, aby bola vždy spustená na mojom Raspberry Pi.

Otvorte službu internet-monitor.service a upravte riadky ExecStart a WorkingDirectory svojimi úplnými cestami ku kódu pythonu. Uložte súbor.

Skopírujte súbor do priečinka systemd/system:

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

Otestujte, či sa služba spustí bez akýchkoľvek chýb:

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

Povoľte spustenie služby pri štarte:

: ~/Documents/RebootRouter $ sudo systemctl povoliť službu internet-monitor.service

Ak všetko pôjde dobre, teraz to môžete dať dohromady a vypnúť výkonové relé Iot, odpojiť lampu, pripojiť smerovač a znova zapnúť výkonové relé. Váš smerovač by sa mal reštartovať a teraz monitoruje internet.

Keď som mal všetko zapojené, urobil som ešte jeden test - odpojil som internetový kábel pri stene a čakal; router sa určite vypol a potom zapol. Zostalo zapnuté a asi po 10 minútach som znova pripojil kábel pri stene a mal internet - doteraz fungoval dobre …:)

Odporúča: