Raspberry Pi Reboot Router: 3 lépés
Raspberry Pi Reboot Router: 3 lépés
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: