Isi kandungan:

Penghala Reboot Raspberry Pi: 3 Langkah
Penghala Reboot Raspberry Pi: 3 Langkah

Video: Penghala Reboot Raspberry Pi: 3 Langkah

Video: Penghala Reboot Raspberry Pi: 3 Langkah
Video: Test Tvheadend on Raspberry pi 2 2024, November
Anonim
Penghala Reboot Raspberry Pi
Penghala Reboot Raspberry Pi
Penghala Reboot Raspberry Pi
Penghala Reboot Raspberry Pi

Pernahkah anda menyedari bahawa anda tidak lagi tersambung ke internet?

Adakah mengecewakan untuk bangun pada waktu pagi dan harus 'reboot' router untuk mendapatkan kembali internet?

Ini lebih kerap berlaku kepada saya daripada yang saya harapkan.

Awal tahun ini, saya keluar dari bandar selama 3 minggu dan pada hari pertama penghala saya terputus dari internet! Ini bermaksud saya tidak mempunyai kaitan dengan perkara-perkara di rumah saya yang saya percayai untuk 'mendaftar masuk' secara berkala - mis. Termostat Nest, kamera Arlo … Oleh kerana saya tidak berada di rumah, saya tidak dapat menghidupkan semula penghala saya. Saya sebenarnya tidak mahu mengganggu jiran untuk melewati sistem keselamatan saya dan kemudian mencari penghala saya dan mulakan semula. Saya juga terfikir untuk memanggil syarikat kuasa dan meminta mereka menghentikan bekalan elektrik ke rumah saya selama kira-kira 5 minit - S. O. tidak meluluskan..:(Apabila saya kembali, saya mula mencari penyelesaian yang baik tetapi tidak dapat menemui sesuatu yang cukup komprehensif untuk apa yang saya perlukan. Pada mulanya, saya baru sahaja membeli jalur kuasa berjenama digital dan menetapkannya untuk mematikan penghala pada jam 2:00 pagi selama 5 minit. Malangnya, beberapa pagi saya tidak mempunyai internet - semakan log penghala pada hari-hari tersebut menunjukkan bahawa internet 'terputus' sekitar jam 4:00 pagi dan penghala saya tidak akan menyambung kecuali saya menghidupkannya semula.

Dengan menggunakan Raspberry Pi tambahan dan beberapa kemahiran python, saya memutuskan untuk melihat bagaimana ia dapat membantu mengatasi dilema saya dan mencari penyelesaian ini.

Saya menguji dan memasangnya dan setakat ini bagus!

Pada dasarnya, Raspberry Pi memeriksa sambungan internet setiap 2 minit melalui 'ping' ke 2 laman web yang berbeza. Selagi sekurang-kurangnya salah satu daripada mereka bertindak balas, kita semua baik. Sekiranya tidak ada 'ping' yang dikembalikan, Pi mematikan kuasa ke hab USB dalaman yang seterusnya menyebabkan Iot Power Relay mematikan penghala. Selepas 2 minit, Pi menghidupkan hab USB dalaman menyebabkan Iot Power Relay menghidupkan penghala. Ia kemudian menunggu selama 4 minit sebelum meneruskan pemeriksaan sambungan internet selama 2 minit.

Saya juga harus mempertimbangkan bahawa mungkin terdapat gangguan di kawasan saya dan internet akan berhenti sebentar - jarang berlaku, tetapi ia berlaku (sekurang-kurangnya di kawasan saya …) dan saya tidak mahu penghala dimulakan semula setiap 6 hingga 8 minit jadi saya meletakkan bendera yang akan menangguhkan memulakan semula seterusnya selama 1 jam dalam kes ini.

Bekalan

Senarai peralatan:

  1. Iot Power Relay untuk Raspberry Pi (gambar di atas)
  2. Penyambung Blok Terminal Skru USB 2.0 A (jika anda ingin membuat USB -> Kabel jalur kuasa sendiri, juga gambar di atas)
  3. Kabel dengan 2 atau lebih wayar pengalir atau kabel USB lama / tambahan yang boleh anda gunakan. Saya menggunakan kabel steker phono stereo lama dan memotong palamnya.
  4. Raspberry Pi Model 3+ (anda boleh menggunakan Model 4 dan mengawal port individu - Saya menggunakan Model 3)

Saya mungkin mendapat komisen kecil untuk sokongan, cadangan, testimoni, dan / atau pautan ke mana-mana produk yang disenaraikan di atas.

Langkah 1: Bina dan Sambungkan Perkakasan

Bina dan Sambungkan Perkakasan
Bina dan Sambungkan Perkakasan

Saya membina kabel untuk menyambungkan Pi ke geganti kuasa.

Saya menggunakan blok terminal skru USB dengan 2 wayar yang disambungkan ke slot + dan gnd. Anda seharusnya dapat melihatnya di penyambung. Lihat gambar dengan anak panah merah (+) dan putih (-) ke slot.

Saya menghubungkan hujung yang lain ke relay kuasa. Bahagian hijau di sebelah relai kuasa hanya keluar dan kemudian anda boleh memasukkan wayar ke dalam slot dan skru kemudian ke bawah dengan ketat. Lihat gambar dengan anak panah merah (+) dan putih (-) ke wayar.

Catatan: jika anda menggunakan kabel USB yang ada, biasanya anda akan mempunyai 4 wayar di hujung yang lain - yang merah adalah (+ 5v) dan yang hitam adalah tanah (-). Anda hanya akan menggunakan 2 untuk Power Relay.

Untuk ujian, saya menyambungkan lampu meja ke salah satu outlet bertanda 'normal off'. Ini dikawal oleh keadaan kuasa USB. Saya memasang Raspberry Pi ke outlet 'selalu aktif' dan memasangnya dan menyalakannya untuk langkah seterusnya.

Langkah 2: Pasang Perisian

Sediakan Pi:

Terdapat beberapa laman web yang akan membimbing anda dalam menyiapkan RPi anda untuk pertama kalinya jika diperlukan.

Penggodam Hidup

Raspberry Pi Org

Saya menyiapkan tambang 'tanpa kepala' dan menggunakan VNC untuk menyambungkannya. Pautan di atas menunjukkan cara melakukannya.

Penyediaan perisian:

  1. Pasang uhubctl (lihat https://github.com/mvp/uhubctl) yang akan digunakan untuk mematikan dan menghidupkan hab usb.
  2. Muat turun dan pasang perisian yang saya tulis dari halaman GitHub saya: RPi Router Reboot perisian.
  3. Sediakan dan daftarkan perkhidmatan internet-monitor. Jika anda ingin menjalankannya sebagai perkhidmatan semasa Raspberry Pi dimulakan.

Langkah 3: Ujian dan Maklumat Operasi

Program python utama, rpi-internet-monitor.py dapat dijalankan dengan 1 atau 2 parameter untuk tujuan penyahpepijatan dan pengujian.

Buka sesi terminal di folder yang anda masukkan kodnya dan jalankan perintah berikut:

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

Catatan - ini akan mencetak maklumat penyahpepijatan dan mematikan dan menyalakan lampu kerana akan menguji tidak tersambung ke internet. Anda hanya boleh menggunakan -debug dan melihat mesejnya. Anda tidak boleh hanya menggunakan -test, ia mesti menjadi parameter kedua selepas -debug.

Anda boleh menukar KONSTAN di bahagian atas program kepada apa sahaja nilai yang anda suka. Set pertama dijalankan dengan set parameter -test, set kedua adalah yang akan digunakan dalam semua kes lain.

Saya menyediakan perkhidmatan untuk menjalankan ini pada waktu boot sehingga selalu berjalan di Raspberry Pi saya.

Buka internet-monitor.service dan edit baris ExecStart dan WorkingDirectory dengan laluan penuh anda ke kod python. Simpan fail.

Salin fail ke folder sistemd / sistem:

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

Uji bahawa perkhidmatan bermula tanpa sebarang kesalahan:

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

Aktifkan perkhidmatan bermula pada waktu boot:

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

Sekiranya semuanya berjalan lancar, anda kini boleh menyatukannya dan mematikan Iot Power Relay, memutuskan sambungan lampu, menyambungkan penghala dan menghidupkan semula Power Relay. Penghala anda harus reboot dan sekarang memantau internet.

Saya melakukan satu ujian lagi setelah semuanya terpasang - saya memutuskan sambungan kabel internet saya di dinding dan menunggu; sudah pasti penghala mati dan kemudian dihidupkan. Ia kekal dan setelah 10 minit atau lebih, saya menyambungkan semula kabel di dinding dan mempunyai internet - sejauh ini telah berjalan dengan baik….:)

Disyorkan: