Indholdsfortegnelse:

Raspberry Pi Reboot Router: 3 trin
Raspberry Pi Reboot Router: 3 trin

Video: Raspberry Pi Reboot Router: 3 trin

Video: Raspberry Pi Reboot Router: 3 trin
Video: You call THAT a router?! 2 Tiny Raspberry Pi Routers 2024, Juli
Anonim
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router

Har du nogensinde bemærket, at du ikke længere er forbundet til internettet?

Er det frustrerende at stå op om morgenen og skulle 'genstarte' routeren for at få internettet tilbage?

Nå, det er sket for mig oftere end jeg plejer at det skal ske.

Tidligere på året gik jeg ud af byen i 3 uger, og på den første dag blev min router afbrudt fra internettet! Dette betød, at jeg ikke havde forbindelse til de ting i mit hus, jeg stoler på at skulle tjekke ind med jævne mellemrum - f.eks. Nest -termostat, Arlo -kameraer … Da jeg ikke var hjemme, kunne jeg ikke genstarte min router. Jeg ville virkelig ikke genere en nabo for at komme forbi mit sikkerhedssystem og derefter finde min router og genstarte den. Jeg tænkte også på at ringe til strømselskabet og få dem til at afbryde strømmen til mit hus i cirka 5 minutter - min S. O. godkendte ikke..:(Da jeg kom tilbage, begyndte jeg at søge efter en god løsning, men kunne ikke finde noget omfattende nok til det, jeg havde brug for. Først købte jeg lige en digital timet strømstik og satte den til at slukke routeren kl. 2:00 i 5 minutter. Desværre havde jeg et par morgener ikke internettet - en gennemgang af routerens logfiler for de dage indikerede, at internettet 'afbrød' omkring 4:00, og min router ville ikke oprette forbindelse, medmindre jeg genstartede den.

Da jeg havde en ekstra Raspberry Pi og nogle python -færdigheder, besluttede jeg at undersøge, hvordan det kunne hjælpe med mit dilemma og fandt på denne løsning.

Jeg testede og installerede det og indtil videre så godt!

Grundlæggende tjekker Raspberry Pi for en internetforbindelse hvert andet minut via en 'ping' til 2 forskellige websteder. Så længe mindst en af dem reagerer, er vi alle gode. Hvis der ikke er returnerede 'pings', afbryder Pi strømmen til den interne USB -hub, hvilket igen får Iot Power Relay til at slukke routeren. Efter 2 minutter tænder Pi for den interne USB -hub, hvilket får Iot Power Relay til at tænde routeren. Den venter derefter i 4 minutter, før den 2 minutters internetforbindelseskontrol genoptages.

Jeg var også nødt til at overveje, at der måske er et afbrydelse i mit område, og internettet vil være nede et stykke tid - sjældent, men det forekommer (i hvert fald i mit område …), og jeg ville ikke have routeren genstartet hver 6. til 8 minutter, så jeg satte et flag i, der ville udsætte den næste genstart i 1 time i dette tilfælde.

Forbrugsvarer

Udstyrsliste:

  1. Iot Power Relay til Raspberry Pi (billedet ovenfor)
  2. USB 2.0 A Skrueterminalblokforbindelse (hvis du skal lave dit eget USB -> Power strip -kabel, også vist på billedet ovenfor)
  3. Kabel med 2 eller flere ledende ledninger eller et gammelt / ekstra USB -kabel, du kan bruge. Jeg brugte et gammelt stereo phono stik kabel og afbrød stikket.
  4. Raspberry Pi Model 3+ (du kan bruge en Model 4 og styre individuelle porte - jeg bruger en Model 3)

Jeg tjener muligvis en lille provision for min anbefaling, anbefaling, vidnesbyrd og/eller link til produkter, der er anført ovenfor.

Trin 1: Byg og tilslut hardware

Byg og tilslut hardware
Byg og tilslut hardware

Jeg byggede mit kabel til at forbinde Pi til strømrelæet.

Jeg brugte USB -skrueklemmen med 2 ledninger tilsluttet + og gnd -åbningerne. Du burde kunne se dem på stikket. Se billedet med de røde (+) og hvide (-) pile til åbningerne.

Jeg sluttede den anden ende til effektrelæet. Den grønne del på siden af effektrelæet trækker bare ud, og så kan du indsætte ledningerne i åbningerne og skrue derefter fast. Se billedet med de røde (+) og hvide (-) pile til ledningerne.

Bemærk: Hvis du bruger et eksisterende USB -kabel, har du normalt 4 ledninger i den anden ende - den røde er (+5v) og den sorte er (-) jorden. Du vil kun bruge disse 2 til effektrelæet.

Til test tilsluttede jeg en bordlampe til et af stikkontakterne, der var mærket 'normalt slukket'. Dette styres af USB -strømtilstanden. Jeg sluttede Raspberry Pi til stikkontakten 'altid tændt' og tilsluttede den og tændte den for det næste trin.

Trin 2: Installer software

Opsæt Pi:

Der er et par websteder, der hjælper dig med at konfigurere din RPi for første gang, hvis det er nødvendigt.

Life Hacker

Raspberry Pi Org

Jeg konfigurerede min 'hovedløs' og bruger VNC til at oprette forbindelse til den. Ovenstående links viser, hvordan du gør dette.

Opsætning af software:

  1. Installer uhubctl (se https://github.com/mvp/uhubctl), der bruges til at slukke og tænde for usb -hub'en.
  2. Download og installer den software, jeg skrev fra min GitHub -side: RPi Router Reboot -software.
  3. Opsæt og registrer internet-monitor.service, hvis du vil køre dette som service, når Raspberry Pi starter.

Trin 3: Test- og driftsoplysninger

Det vigtigste python-program, rpi-internet-monitor.py kan køres med 1 eller 2 parametre til fejlfinding og testformål.

Åbn en terminalsession i den mappe, du sætter koden, og udfør følgende kommando:

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

Bemærk - dette udskriver fejlfindingsoplysninger og slukker og tænder lampen, da det tester, at der ikke er forbindelse til internettet. Du kan bare bruge -debug og se meddelelserne. Du kan ikke bare bruge -test, det skal være den anden parameter efter -debug.

Du kan ændre KONSTANTERNE i den øverste del af programmet til de værdier, du kan lide. Det første sæt køres med -test parametersættet, det andet sæt er, hvad der vil blive brugt i alle andre tilfælde.

Jeg oprettede en service til at køre dette ved opstart, så det kører altid på min Raspberry Pi.

Åbn internet-monitor.service, og rediger linierne ExecStart og WorkingDirectory med dine fulde stier til python-koden. Gem filen.

Kopiér filen til systemd/systemmappen:

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

Test, at tjenesten starter uden fejl:

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

Giv tjenesten mulighed for at starte ved opstart:

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

Hvis alt går godt, kan du nu sætte det hele sammen og slukke for Iot Power Relay, afbryde lampen, tilslut routeren og tænde Power Relay igen. Din router skal genstarte og overvåger nu internettet.

Jeg lavede endnu en test, efter at jeg havde tilsluttet alt - jeg afmonterede mit internetkabel ved væggen og ventede; sikker nok gik routeren af og derefter på. Det blev ved, og efter cirka 10 minutter tilsluttede jeg kablet ved væggen igen og havde internettet - det har kørt fint indtil videre….:)

Anbefalede: