Taula de continguts:

Router de reinici de Raspberry Pi: 3 passos
Router de reinici de Raspberry Pi: 3 passos

Vídeo: Router de reinici de Raspberry Pi: 3 passos

Vídeo: Router de reinici de Raspberry Pi: 3 passos
Vídeo: Turn your RaspberryPi into a WiFi Router! 2024, De novembre
Anonim
Router de reinici de Raspberry Pi
Router de reinici de Raspberry Pi
Encaminador de reinici de Raspberry Pi
Encaminador de reinici de Raspberry Pi

Alguna vegada us heu adonat que ja no esteu connectat a Internet?

És frustrant llevar-se al matí i haver de "reiniciar" l'encaminador per recuperar Internet?

Bé, això m’ha passat amb més freqüència del que m’importa que es produeixi.

A principis d’aquest any, vaig sortir de la ciutat durant 3 setmanes i el primer dia el router es va desconnectar d’Internet. Això volia dir que no tenia cap connexió amb les coses de casa en què confio per fer el "check-in" periòdic (per exemple, termòstat Nest, càmeres Arlo … Com que no era a casa, no vaig poder reiniciar el router. Realment no volia molestar a un veí per superar el meu sistema de seguretat i després trobar el router i reiniciar-lo. També vaig pensar en trucar a l’empresa elèctrica i fer que tallessin l’energia elèctrica a casa meva durant uns 5 minuts: el meu S. O. no va aprovar..:(Quan vaig tornar, vaig començar a buscar una bona solució, però no vaig trobar res prou exhaustiu per al que necessitava. Al principi, acabo de comprar una tira d’alimentació digital temporitzada i la vaig configurar perquè apagués l’encaminador a les 2:00 del matí durant 5 minuts. Malauradament, un parell de matins no tenia internet: una revisió dels registres del router d’aquells dies indicava que Internet es desconnectava cap a les 4:00 del matí i el meu router no es connectaria a no ser que el reiniciés.

Tenint una instal·lació de Raspberry Pi addicional i algunes habilitats de pitó, vaig decidir examinar com podria ajudar-me amb el meu dilema i vaig trobar aquesta solució.

El vaig provar i instal·lar i fins ara va bé!

Bàsicament, el Raspberry Pi busca una connexió a Internet cada 2 minuts mitjançant un "ping" a dos llocs web diferents. Mentre almenys un d’ells respongui, tots estem bé. Si no hi ha cap "ping" retornat, el Pi apaga l'alimentació del concentrador USB intern, cosa que provoca que el relé d'alimentació Iot apagui el router. Al cap de 2 minuts, el Pi encén el concentrador USB intern i fa que el relé d’alimentació Iot s’encengui al router. Després espera 4 minuts abans de reprendre la comprovació de connectivitat a Internet de 2 minuts.

També vaig haver de considerar que potser hi ha una interrupció a la meva zona i que Internet funcionarà una estona, rar, però es produeix (almenys a la meva zona …) i no volia que el router es reiniciés cada 6 fins a 8 minuts, de manera que he posat una bandera que ajornaria el següent reinici durant 1 hora en aquest cas.

Subministraments

Llista d'equips:

  1. Iot Power Relay per a Raspberry Pi (a la imatge superior)
  2. Connector de bloc de terminals de cargol USB 2.0 A (si fabricareu el vostre propi cable USB -> tira de corrent, també a la imatge superior)
  3. Cable amb 2 o més cables conductors o un cable USB antic / addicional que podeu utilitzar. He utilitzat un vell cable de connexió fono estèreo i he tallat els endolls.
  4. Raspberry Pi Model 3+ (podeu utilitzar un Model 4 i controlar ports individuals: estic fent servir un Model 3)

Puc guanyar una petita comissió pel meu recolzament, recomanació, testimoni i / o enllaç a qualsevol producte enumerat anteriorment.

Pas 1: Creeu i connecteu el maquinari

Construïu i connecteu el maquinari
Construïu i connecteu el maquinari

Vaig construir el meu cable per connectar el Pi al relé de potència.

He utilitzat el bloc de terminals de cargol USB amb 2 cables connectats a les ranures + i gnd. Hauríeu de poder veure'ls al connector. Vegeu la imatge amb les fletxes vermella (+) i blanca (-) a les ranures.

Vaig connectar l'altre extrem al relé de potència. La part verda al costat del relé d’alimentació només s’estira i, a continuació, podeu inserir els cables a les ranures i cargolar-los i apretar-los. Vegeu la imatge amb les fletxes vermella (+) i blanca (-) als cables.

Nota: si utilitzeu un cable USB existent, normalment tindreu 4 cables a l’altre extrem: el vermell és el (+ 5v) i el negre és el sòl (-). Només els faràs servir per al relé de potència.

Per provar, vaig connectar una làmpada de taula a una de les sortides marcades com a "normalment apagada". Això està controlat per l’estat d’alimentació USB. Vaig connectar el Raspberry Pi a la presa “sempre engegada”, el vaig endollar i el vaig encendre durant el següent pas.

Pas 2: Instal·leu el programari

Configureu el Pi:

Hi ha un parell de llocs web que us guiaran a configurar el vostre RPi per primera vegada si cal.

Life Hacker

Raspberry Pi Org

Vaig configurar la meva "sense cap" i utilitzo VNC per connectar-m’hi. Els enllaços anteriors mostren com fer-ho.

Configuració del programari:

  1. Instal·leu uhubctl (consulteu https://github.com/mvp/uhubctl) que s’utilitzarà per apagar i encendre el concentrador USB.
  2. Descarregueu i instal·leu el programari que he escrit des de la meva pàgina GitHub: RPi Router Reboot software.
  3. Configureu i registreu internet-monitor.service si voleu executar-lo com a servei quan s’iniciï el Raspberry Pi.

Pas 3: Detalls de la prova i de l'operació

El programa principal de python, rpi-internet-monitor.py, es pot executar amb 1 o 2 paràmetres per a depuració i proves.

Obriu una sessió de terminal a la carpeta on poseu el codi i executeu l'ordre següent:

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

Nota: s'imprimirà la informació de depuració i s'apagarà el llum, ja que provarà que no està connectat a Internet. Només podeu utilitzar -debug i veure els missatges. No només podeu utilitzar -test, ha de ser el segon paràmetre després de -debug.

Podeu canviar les CONSTANTS de la part superior del programa pel valor que vulgueu. El primer conjunt s'executa amb el conjunt de paràmetres -test, el segon conjunt és el que s'utilitzarà en la resta de casos.

He configurat un servei per executar-lo a l’hora d’arrencada, de manera que sempre s’executa al meu Raspberry Pi.

Obriu internet-monitor.service i editeu les línies ExecStart i WorkingDirectory amb els camins complets al codi python. Deseu el fitxer.

Copieu el fitxer a la carpeta systemd / system:

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

Comproveu que el servei s'inicia sense cap error:

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

Activeu el servei per iniciar-se en el moment de l'arrencada:

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

Si tot va bé, ara podeu ajuntar-ho tot i apagar el relé d’alimentació Iot, desconnectar el llum, connectar l’encaminador i tornar-lo a encendre. El vostre encaminador s'hauria de reiniciar i ara està supervisant Internet.

Vaig fer una prova més després de tenir-ho tot connectat: vaig desconnectar el cable d'Internet a la paret i vaig esperar; segur que l’encaminador s’ha apagat i s’encén. Va romandre encès i al cap de deu minuts més o menys, vaig tornar a connectar el cable a la paret i tenia internet: fins ara funcionava bé ….:)

Recomanat: