Tartalomjegyzék:

Raspberry Pi Reboot Router: 3 lépés
Raspberry Pi Reboot Router: 3 lépés

Videó: Raspberry Pi Reboot Router: 3 lépés

Videó: Raspberry Pi Reboot Router: 3 lépés
Videó: Микрокомпьютер Raspberry Pi 2024, November
Anonim
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router

Észrevette már, hogy nincs internetkapcsolata?

Elkeserítő, ha reggel felkel, és újra kell indítania a routert, hogy visszakapja az internetet?

Nos, ez gyakrabban fordult elő velem, mint ahogy érdekel, hogy megtörténjen.

Az év elején elmentem a városba 3 hétre, és az első napon a router lecsatlakozott az internetről! Ez azt jelentette, hogy nem volt kapcsolatom a házamban lévő dolgokkal, amelyekre támaszkodom, hogy rendszeresen bejelentkezzek - pl. Nest termosztát, Arlo kamerák… Mivel nem voltam otthon, nem tudtam újraindítani az útválasztót. Tényleg nem akartam zavarni a szomszédot, hogy lépjen túl a biztonsági rendszeren, majd keresse meg az útválasztómat és indítsa újra. Arra is gondoltam, hogy felhívom az áramszolgáltatót, és megszakítják a házam áramellátását körülbelül 5 percre - az én S. O. nem hagyta jóvá..:(Amikor visszaértem, elkezdtem jó megoldást keresni, de nem találtam elég átfogót ahhoz, amire szükségem volt. Először vettem egy digitális időzített tápegységet, és beállítottam, hogy hajnali 2 órakor kapcsolja ki a routert 5 percre. Sajnos néhány reggel nem volt internetem - az aznapi forgalmi naplók áttekintése azt mutatta, hogy az internet hajnali 4 óra körül „lekapcsolódott”, és az útválasztóm nem fog csatlakozni, ha nem indítom újra.

Miután volt egy extra Raspberry Pi és néhány python készség, úgy döntöttem, megvizsgálom, hogyan segíthet a dilemmámban, és ezt a megoldást találtam.

Kipróbáltam és telepítettem, és eddig jó!

Alapvetően a Raspberry Pi 2 percenként ellenőrzi az internetkapcsolatot két különböző webhelyhez tartozó ping segítségével. Amíg legalább egyikük válaszol, mindannyian jók vagyunk. Ha nincs visszatérő „ping”, a Pi lekapcsolja a belső USB hub áramellátását, ami miatt az Iot Power Relay kikapcsolja az útválasztót. 2 perc múlva a Pi bekapcsolja a belső USB -elosztót, és az Iot Power Relay bekapcsolja az útválasztót. Ezután 4 percet vár, mielőtt folytatja a 2 perces internetkapcsolat -ellenőrzést.

Azt is figyelembe kellett vennem, hogy lehet, hogy kimaradás van a környéken, és az internet egy időre leáll - ritka, de előfordul (legalábbis az én környezetemben …), és nem akartam, hogy az útválasztó 6 évente újrainduljon 8 percre, ezért beraktam egy zászlót, amely ebben az esetben 1 órára elhalasztja a következő újraindítást.

Kellékek

Felszerelés lista:

  1. Iot Power Relay a Raspberry Pi számára (a fenti képen)
  2. USB 2.0 A csavaros sorkapocs csatlakozó (ha saját USB -> tápkábelt készít, a fenti képen is)
  3. Kábel 2 vagy több vezető vezetékkel vagy egy régi / extra USB -kábellel, amelyet használhat. Régi sztereó fonó csatlakozó kábelt használtam, és levágtam a csatlakozókat.
  4. Raspberry Pi Model 3+ (használhat egy 4 -es modellt és vezérelheti az egyes portokat - én a 3 -as modellt használom)

Kis jutalékot kaphatok jóváhagyásomért, ajánlásomért, ajánlásomért és/vagy a fent felsorolt termékekre mutató linkekért.

1. lépés: A hardver felépítése és csatlakoztatása

A hardver felépítése és csatlakoztatása
A hardver felépítése és csatlakoztatása

Úgy építettem a kábelt, hogy a Pi -t a tápfeszültség -reléhez csatlakoztassam.

Az USB csavaros sorkapcsot használtam, 2 vezetékkel a + és a gnd nyíláshoz csatlakoztatva. Látnia kell őket a csatlakozón. Lásd a képet a piros (+) és a fehér (-) nyilakkal a résekhez.

A másik végét a tápfeszültség -reléhez kötöttem. A tápfeszültség -relé oldalán lévő zöld rész csak kihúzódik, majd behelyezheti a vezetékeket a résekbe, majd szorosan lecsavarhatja. Lásd a képet a piros (+) és a fehér (-) nyilakkal a vezetékekhez.

Megjegyzés: ha meglévő USB -kábelt használ, akkor általában 4 vezeték lesz a másik végén - a piros a (+5v), a fekete pedig a (-) test. Csak ezt a kettőt fogja használni a tápellátáshoz.

A teszteléshez egy asztali lámpát kötöttem az egyik „normálisan kikapcsolt” jelzésű aljzathoz. Ezt az USB tápellátás vezérli. Csatlakoztattam a Raspberry Pi -t a „mindig bekapcsolt” aljzathoz, majd bedugtam és bekapcsoltam a következő lépéshez.

2. lépés: Telepítse a szoftvert

A Pi beállítása:

Van néhány webhely, amely szükség esetén útmutatást nyújt az RPi beállításához.

Life Hacker

Raspberry Pi Org

Az enyémet „fej nélkül” állítom be, és a VNC használatával csatlakozom hozzá. A fenti linkek bemutatják, hogyan kell ezt megtenni.

Szoftver beállítása:

  1. Telepítse az uhubctl -t (lásd: https://github.com/mvp/uhubctl), amely az USB hub ki- és bekapcsolására szolgál.
  2. Töltse le és telepítse a szoftvert, amelyet a GitHub oldalamról írtam: RPi Router Reboot szoftver.
  3. Állítsa be és regisztrálja az internet-monitor.service szolgáltatást, ha ezt a Raspberry Pi indításakor szolgáltatásként kívánja futtatni.

3. lépés: A tesztelés és a működés részletei

A fő python program, az rpi-internet-monitor.py 1 vagy 2 paraméterrel futtatható hibakeresés és tesztelés céljából.

Nyissa meg a terminál munkamenetet a kódba helyezett mappában, és hajtsa végre a következő parancsot:

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

Megjegyzés - ez kinyomtatja a hibakeresési információkat, majd kikapcsolja és bekapcsolja a lámpát, mivel teszteli, hogy nincs -e csatlakoztatva az internethez. Csak használhatja a -debug parancsot, és megtekintheti az üzeneteket. Nem csak a -testet használhatja, hanem a második paraméternek kell lennie a -debug után.

A program felső részén található CONSTANTS értékeket tetszőleges értékre módosíthatja. Az első készlet a -test paraméterkészlettel fut, a második készlet az összes többi esetben használható.

Beállítottam egy szolgáltatást, hogy ezt indításkor futtassa, így mindig a Raspberry Pi -n fut.

Nyissa meg az internet-monitor.service szolgáltatást, és szerkessze az ExecStart és a WorkingDirectory sorokat a python kód teljes elérési útjával. Mentse a fájlt.

Másolja a fájlt a systemd/system mappába:

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

Ellenőrizze, hogy a szolgáltatás hiba nélkül elindul -e:

: ~/Dokumentumok/RebootRouter $ sudo systemctl indítsa el az internet-monitor.service szolgáltatást

A szolgáltatás engedélyezése a rendszerindításkor:

: ~/Dokumentumok/RebootRouter $ sudo systemctl engedélyezi az internet-monitor.service szolgáltatást

Ha minden jól megy, akkor most összerakhatja az összeset, és kikapcsolhatja az Iot tápfeszültség -relét, húzza ki a lámpát, csatlakoztassa az útválasztót, és kapcsolja be újra a tápfeszültség -relét. Az útválasztónak újra kell indulnia, és most figyeli az internetet.

Csináltam még egy tesztet, miután minden össze volt kapcsolva - leválasztottam az internet kábelt a falnál és vártam; persze a router leállt, majd be. Bekapcsolva maradt, és körülbelül 10 perc múlva visszacsatlakoztattam a kábelt a falhoz, és megvolt az internet - eddig jól működött….:)

Ajánlott: