İçindekiler:

Raspberry Pi Reboot Router: 3 Adım
Raspberry Pi Reboot Router: 3 Adım

Video: Raspberry Pi Reboot Router: 3 Adım

Video: Raspberry Pi Reboot Router: 3 Adım
Video: Raspberry Pi Üzerinde Steam Oyunlarını Nasıl Oynarsınız? 2024, Temmuz
Anonim
Raspberry Pi Yeniden Başlatma Yönlendiricisi
Raspberry Pi Yeniden Başlatma Yönlendiricisi
Raspberry Pi Yeniden Başlatma Yönlendiricisi
Raspberry Pi Yeniden Başlatma Yönlendiricisi

Artık internete bağlı olmadığınızı hiç fark ettiniz mi?

Sabah kalkıp interneti geri almak için yönlendiriciyi 'yeniden başlatmak' zorunda kalmak sinir bozucu mu?

Bu, olmasını umduğumdan daha sık başıma geldi.

Bu yılın başlarında 3 haftalığına şehir dışına çıktım ve ilk gün yönlendiricimin internet bağlantısı kesildi! Bu, evimde periyodik olarak 'check-in' yapmak için güvendiğim şeylerle hiçbir bağlantım olmadığı anlamına geliyordu - ör., Nest termostatı, Arlo kameraları… Evde olmadığım için yönlendiricimi yeniden başlatamadım. Gerçekten bir komşuyu güvenlik sistemimi geçmesi için rahatsız etmek ve ardından yönlendiricimi bulup yeniden başlatmak istemedim. Ayrıca elektrik şirketini aramayı ve evimin elektriğini yaklaşık 5 dakika kesmelerini sağlamayı düşündüm - S. O. onaylamadım..:(Döndüğümde iyi bir çözüm aramaya başladım ama ihtiyacım olan şey için yeterince kapsamlı bir şey bulamadım. İlk başta, dijital zamanlı bir anahtarlı uzatma kablosu satın aldım ve yönlendiriciyi sabah saat 2:00'de 5 dakika boyunca kapatacak şekilde ayarladım. Ne yazık ki, birkaç sabah internetim yoktu - o günlere ait yönlendirici günlüklerinin bir incelemesi, internetin sabah 4:00 civarında 'bağlantısının kesildiğini' ve yeniden başlatmadığım sürece yönlendiricimin bağlanamayacağını gösterdi.

Fazladan bir Raspberry Pi'ye ve biraz python becerisine sahip olarak, ikilemime nasıl yardımcı olabileceğini araştırmaya karar verdim ve bu çözümü buldum.

Test ettim ve kurdum ve şimdiye kadar çok iyi!

Temel olarak, Raspberry Pi, 2 farklı web sitesine bir 'ping' aracılığıyla her 2 dakikada bir internet bağlantısını kontrol eder. En az biri cevap verdiği sürece hepimiz iyiyiz. Döndürülen 'ping' yoksa, Pi dahili USB hub'ına giden gücü kapatır ve bu da Iot Power Relay'in yönlendiriciyi kapatmasına neden olur. 2 dakika sonra Pi, dahili USB hub'ını açar ve Iot Power Relay'in yönlendiriciyi açmasına neden olur. Ardından, 2 dakikalık internet bağlantı kontrolüne devam etmeden önce 4 dakika bekler.

Ayrıca, bölgemde bir kesinti olabileceğini ve internetin bir süreliğine kesintiye uğrayacağını da düşünmeliydim - nadirdir, ancak bu gerçekleşir (en azından benim bölgemde…) ve yönlendiricinin her 6'da bir yeniden başlatılmasını istemedim. 8 dakikaya kadar, bu durumda bir sonraki yeniden başlatmayı 1 saat erteleyecek bir bayrak koydum.

Gereçler

Ekipman listesi:

  1. Raspberry Pi için Iot Güç Rölesi (yukarıdaki resimde)
  2. USB 2.0 A Vidalı Terminal Bloğu Konektörü (kendi USB -> Güç şeridi kablonuzu yapacaksanız, yine yukarıda resmedilmiştir)
  3. 2 veya daha fazla iletken telli kablo veya kullanabileceğiniz eski / ekstra bir USB kablosu. Eski bir stereo fono fiş kablosu kullandım ve fişleri kestim.
  4. Raspberry Pi Model 3+ (bir Model 4 kullanabilir ve bireysel bağlantı noktalarını kontrol edebilirsiniz - Model 3 kullanıyorum)

Onay, tavsiye, referans ve/veya yukarıda listelenen herhangi bir ürüne bağlantı için küçük bir komisyon kazanabilirim.

Adım 1: Donanımı Oluşturun ve Bağlayın

Donanımı Oluşturun ve Bağlayın
Donanımı Oluşturun ve Bağlayın

Pi'yi güç rölesine bağlamak için kablomu oluşturdum.

+ ve gnd yuvalarına bağlı 2 telli USB vidalı terminal bloğu kullandım. Bunları konektörde görebilmeniz gerekir. Yuvalara kırmızı(+) ve beyaz(-) okları olan resme bakın.

Diğer ucunu güç rölesine bağladım. Güç rölesinin yan tarafındaki yeşil kısım dışarı çıkıyor ve ardından kabloları yuvalara yerleştirip sıkıca vidalayabilirsiniz. Tellere kırmızı(+) ve beyaz(-) okları olan resme bakın.

Not: Mevcut bir USB kablosu kullanıyorsanız, genellikle diğer uçta 4 kablonuz olur - kırmızı olan (+5v) ve siyah olan (-) topraktır. Bu 2'yi yalnızca Güç Rölesi için kullanacaksınız.

Test için, 'normalde kapalı' olarak işaretlenmiş çıkışlardan birine bir masa lambası bağladım. Bu, USB güç durumu tarafından kontrol edilir. Raspberry Pi'yi 'her zaman açık' prize taktım ve bir sonraki adım için prize taktım ve açtım.

2. Adım: Yazılımı Yükleyin

Pi'yi kurun:

Gerekirse RPi'nizi ilk kez kurmanızda size rehberlik edecek birkaç web sitesi vardır.

hayat korsanı

Ahududu Pi Org

Benimkini 'başsız' olarak ayarladım ve ona bağlanmak için VNC kullanıyorum. Yukarıdaki bağlantılarda bunun nasıl yapılacağı gösterilmektedir.

Yazılım kurulumu:

  1. Usb hub'ını kapatıp açmak için kullanılacak uhubctl'yi kurun (bkz.
  2. GitHub sayfamdan yazdığım yazılımı indirip kurun: RPi Router Reboot yazılımı.
  3. Raspberry Pi başladığında bunu hizmet olarak çalıştırmak istiyorsanız internet-monitor.service'i kurun ve kaydedin.

Adım 3: Test ve İşlem Detayları

Ana python programı olan rpi-internet-monitor.py, hata ayıklama ve test amacıyla 1 veya 2 parametre ile çalıştırılabilir.

Kodu koyduğunuz klasörde bir terminal oturumu açın ve aşağıdaki komutu yürütün:

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

Not - bu, hata ayıklama bilgilerini yazdıracak ve internete bağlı olmadığını test edeceği için lambayı kapatıp açacaktır. Sadece -debug komutunu kullanabilir ve mesajları görebilirsiniz. Sadece -test kullanamazsınız, -debug'dan sonraki ikinci parametre olmalıdır.

Programın üst kısmındaki SABİTLERİ istediğiniz değerlere değiştirebilirsiniz. İlk set -test parametre seti ile çalıştırılır, ikinci set diğer tüm durumlarda kullanılacak olanlardır.

Bunu önyükleme sırasında çalıştırmak için bir hizmet kurdum, böylece her zaman Raspberry Pi'mde çalışıyor.

internet-monitor.service dosyasını açın ve ExecStart ve WorkingDirectory satırlarını python koduna giden tam yollarınızla düzenleyin. Dosya 'yı kaydet.

Dosyayı systemd/system klasörüne kopyalayın:

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

Hizmetin hatasız başladığını test edin:

:~/Documents/RebootRouter $ sudo systemctl internet-monitor.service'i başlat

Hizmetin önyükleme zamanında başlamasını sağlayın:

:~/Documents/RebootRouter $ sudo systemctl internet-monitor.service'i etkinleştirir

Her şey yolunda giderse, şimdi hepsini bir araya getirebilir ve Çok Güç Rölesini kapatabilir, lambanın bağlantısını kesebilir, yönlendiriciyi bağlayabilir ve Güç Rölesini tekrar açabilirsiniz. Yönlendiriciniz yeniden başlatılmalı ve şimdi interneti izliyor.

Her şeyi bağladıktan sonra bir test daha yaptım - internet kablomu duvardan çıkardım ve bekledim; kesinlikle yönlendirici kapandı ve sonra açıldı. Açık kaldı ve 10 dakika kadar sonra, kabloyu duvara yeniden bağladım ve internete sahip oldum - şu ana kadar iyi çalışıyor….:)

Önerilen: