Daftar Isi:

Raspberry Pi Reboot Router: 3 Langkah
Raspberry Pi Reboot Router: 3 Langkah

Video: Raspberry Pi Reboot Router: 3 Langkah

Video: Raspberry Pi Reboot Router: 3 Langkah
Video: You call THAT a router?! 2 Tiny Raspberry Pi Routers 2024, November
Anonim
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router
Raspberry Pi Reboot Router

Pernahkah Anda memperhatikan bahwa Anda tidak lagi terhubung ke internet?

Apakah frustasi untuk bangun di pagi hari dan harus 'reboot' router untuk mendapatkan internet kembali?

Nah, ini telah terjadi pada saya lebih sering daripada yang saya pedulikan untuk itu terjadi.

Awal tahun ini, saya pergi ke luar kota selama 3 minggu dan pada hari pertama router saya terputus dari internet! Ini berarti saya tidak memiliki koneksi ke barang-barang di rumah yang saya andalkan untuk 'check in' secara berkala - misalnya, termostat Nest, kamera Arlo…Karena saya tidak di rumah, saya tidak dapat memulai ulang router saya. Saya benar-benar tidak ingin mengganggu tetangga untuk melewati sistem keamanan saya dan kemudian menemukan router saya dan memulai kembali. Saya juga berpikir untuk menelepon perusahaan listrik dan meminta mereka memutus aliran listrik ke rumah saya selama sekitar 5 menit - S. O. tidak setuju..:(Ketika saya kembali, saya mulai mencari solusi yang baik tetapi tidak dapat menemukan sesuatu yang cukup komprehensif untuk apa yang saya butuhkan. Pada awalnya, saya baru saja membeli strip daya digital dan mengaturnya untuk mematikan router pada jam 2:00 pagi selama 5 menit. Sayangnya, beberapa pagi saya tidak memiliki internet - tinjauan log router untuk hari-hari itu menunjukkan bahwa internet 'terputus' sekitar jam 4:00 pagi dan router saya tidak akan terhubung kecuali saya me-restartnya.

Memiliki Raspberry Pi ekstra dan beberapa keterampilan python, saya memutuskan untuk melihat bagaimana itu dapat membantu dilema saya dan menghasilkan solusi ini.

Saya menguji dan menginstalnya dan sejauh ini bagus!

Pada dasarnya, Raspberry Pi memeriksa koneksi internet setiap 2 menit melalui 'ping' ke 2 situs web yang berbeda. Selama setidaknya salah satu dari mereka merespons, kita semua baik-baik saja. Jika tidak ada 'ping' yang dikembalikan, Pi mematikan daya ke hub USB internal yang pada gilirannya menyebabkan Iot Power Relay mematikan router. Setelah 2 menit, Pi menyalakan hub USB internal yang menyebabkan Iot Power Relay menyalakan router. Kemudian menunggu selama 4 menit sebelum melanjutkan pemeriksaan konektivitas internet 2 menit.

Saya juga harus mempertimbangkan bahwa mungkin ada pemadaman di daerah saya dan internet akan mati untuk sementara - jarang, tetapi itu memang terjadi (setidaknya di daerah saya…) dan saya tidak ingin router memulai ulang setiap 6 hingga 8 menit jadi saya memasang bendera yang akan menunda restart berikutnya selama 1 jam dalam kasus ini.

Perlengkapan

Daftar perlengkapan:

  1. Relay Daya Iot untuk Raspberry Pi (gambar di atas)
  2. Konektor Blok Terminal Sekrup USB 2.0 (jika Anda akan membuat USB Anda sendiri -> Kabel strip daya, juga digambarkan di atas)
  3. Kabel dengan 2 atau lebih kabel penghantar atau kabel USB lama/tambahan yang dapat Anda gunakan. Saya menggunakan kabel steker phono stereo lama dan memotong colokannya.
  4. Raspberry Pi Model 3+ (Anda dapat menggunakan Model 4 dan mengontrol port individual - Saya menggunakan Model 3)

Saya dapat memperoleh komisi kecil untuk dukungan, rekomendasi, testimonial, dan/atau tautan saya ke produk apa pun yang tercantum di atas.

Langkah 1: Bangun dan Hubungkan Perangkat Keras

Bangun dan Hubungkan Perangkat Keras
Bangun dan Hubungkan Perangkat Keras

Saya membangun kabel saya untuk menghubungkan Pi ke relai daya.

Saya menggunakan blok terminal sekrup USB dengan 2 kabel yang terhubung ke slot + dan gnd. Anda harus dapat melihatnya di konektor. Lihat gambar dengan panah merah(+) dan putih(-) pada slotnya.

Saya menghubungkan ujung lainnya ke relai daya. Bagian hijau di sisi relai daya hanya menarik keluar dan kemudian Anda dapat memasukkan kabel ke dalam slot dan sekrup kemudian kencangkan. Lihat gambar dengan panah merah (+) dan putih (-) ke kabel.

Catatan: jika Anda menggunakan kabel USB yang ada, Anda biasanya akan memiliki 4 kabel di ujung yang lain - yang merah adalah (+5v) dan yang hitam adalah (-) ground. Anda hanya akan menggunakan 2 itu untuk Relai Daya.

Untuk pengujian, saya menghubungkan lampu meja ke salah satu outlet bertanda 'normally off'. Ini dikendalikan oleh status daya USB. Saya mencolokkan Raspberry Pi ke stopkontak 'selalu menyala' dan mencolokkannya dan menyalakannya untuk langkah berikutnya.

Langkah 2: Instal Perangkat Lunak

Siapkan Pi:

Ada beberapa situs web yang akan memandu Anda dalam menyiapkan RPi Anda untuk pertama kali jika diperlukan.

Peretas Kehidupan

Org Raspberry Pi

Saya mengatur milik saya 'tanpa kepala' dan menggunakan VNC untuk menghubungkannya. Tautan di atas menunjukkan cara melakukannya.

Perangkat lunak mengatur:

  1. Instal uhubctl (lihat https://github.com/mvp/uhubctl) yang akan digunakan untuk mematikan dan menghidupkan hub usb.
  2. Unduh dan instal perangkat lunak yang saya tulis dari halaman GitHub saya: Perangkat lunak RPi Router Reboot.
  3. Siapkan dan daftarkan internet-monitor.service jika Anda ingin menjalankan ini sebagai layanan saat Raspberry Pi dijalankan.

Langkah 3: Rincian Pengujian dan Operasi

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

Buka sesi terminal di folder tempat Anda meletakkan kode dan jalankan perintah berikut:

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

Catatan - ini akan mencetak informasi debug dan mematikan dan menghidupkan lampu karena akan menguji tidak terhubung ke internet. Anda bisa menggunakan -debug dan melihat pesannya. Anda tidak bisa hanya menggunakan -test, itu harus menjadi parameter kedua setelah -debug.

Anda dapat mengubah KONSTAN di bagian atas program ke nilai apa pun yang Anda suka. Set pertama dijalankan dengan set parameter -test, set kedua adalah apa yang akan digunakan dalam semua kasus lainnya.

Saya menyiapkan layanan untuk menjalankan ini saat boot sehingga selalu berjalan di Raspberry Pi saya.

Buka internet-monitor.service dan edit baris ExecStart dan WorkingDirectory dengan path lengkap Anda ke kode python. Simpan file.

Salin file ke folder systemd/system:

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

Uji apakah layanan dimulai tanpa kesalahan:

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

Aktifkan layanan untuk memulai saat boot:

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

Jika semuanya berjalan dengan baik, Anda sekarang dapat menggabungkan semuanya dan mematikan Iot Power Relay, mencabut lampu, menghubungkan router dan menyalakan kembali Power Relay. Router Anda harus reboot dan sekarang sedang memantau internet.

Saya melakukan satu tes lagi setelah semuanya terhubung - saya memutuskan kabel internet saya di dinding dan menunggu; cukup yakin router pergi dan kemudian. Itu tetap menyala dan setelah 10 menit atau lebih, saya menyambungkan kembali kabel di dinding dan memiliki internet - sejauh ini berjalan dengan baik….:)

Direkomendasikan: