Saya menggunakan Raspberry Pi untuk membuat kios web non-interaktif - halaman web tertentu (pengukuran dari stasiun pemantauan jarak jauh) untuk ditampilkan pada layar dalam mode layar penuh, konten sering disegarkan melalui AJAX.
Sekarang ada beberapa solusi untuk membuat Raspberry menjadi kios, dan saya cukup yakin saya akan bisa melakukannya dengan baik, tetapi kios itu harusnya bebas perawatan. Terutama dalam situasi ketika listrik padam, kemudian hidup kembali, tetapi entah bagaimana router / modem / infrastruktur jaringan tidak cukup online.
Dalam situasi itu Midori akan memunculkan halaman tentang "tidak dapat terhubung" atau sesuatu seperti itu dan akan macet seperti ini sampai seseorang siklus kekuatan lagi - karena halaman web termasuk mekanisme autorefresh sendiri gagal memuat!
Sekarang bagaimana saya bisa memaksa Midori memuat halaman ketika jaringan tersedia lagi, atau sesuatu dengan efek yang sama (auto-refresh selalu setiap 15 menit atau lebih, atau terus menyegarkan sampai halaman memuat atau semacamnya.)?
Jika opsi itu tidak tersedia untuk Midori, dapatkah Anda merekomendasikan beberapa solusi lain?
qdbus
(dari paketlibqt4-dbus
) atau alat serupa dan mencari Midori di sana. Maka Anda kemungkinan besar dapat memicu penyegaran halaman.Jawaban:
Dengan asumsi bahwa Anda memiliki Python di sistem Anda, ada alternatif untuk
cron
. Saya telah membuat skrip Python 2.7.3 cepat yang akan memuat ulang Midori setiap 5 menit.Jika Anda perlu mengubah jumlah waktu istirahat, cukup ubah
rest_time
variabelnya.Skrip Baru
Seperti yang Anda katakan bahwa Anda membutuhkan program untuk menjadi "pintar", saya telah mengeditnya untuk membuatnya jadi. Saat menggunakan program ini, tolong jangan membuka Midori secara manual; buka dari skrip. Saya memiliki kebiasaan aneh untuk menabrak karena Speed Dialer jika Anda melakukannya. Ini juga berjalan di Python 2.7.3. Jika Anda tidak ingin melakukan semua copy dan paste itu, silakan kunjungi kode pastebin saya .
sumber
Untuk berjaga-jaga jika ada yang datang dan mencari jawaban yang diperbarui, Midori sekarang memiliki opsi baris perintah
--inactivity-reset=SECONDS
(atau-i
singkatnya).Digabungkan dengan
-a
opsi, Anda dapat mencapai peramban yang terus-menerus memulai kembali dalam mode kios setiap x detik.misalnya
Akan membuka http://www.google.com/ di jendela layar penuh dan menyegarkan halaman setelah 2 menit tidak aktif. (
-e
mengeksekusi perintah)sumber
Saya memutuskan untuk mendekatinya dari sisi yang berbeda, sebagian besar tidak bergantung pada browser.
Browser dimulai dalam mode kios, menunjuk ke dokumen lokal tertentu:
watchdog.html
Sekarang dalam file ini, nilai batas waktu disesuaikan untuk mengandung dua autorefresh normal dari halaman jarak jauh ditambah beberapa, dan
reload_url
diatur ke URL-nya.Halaman jarak jauh memiliki snippet yang dieksekusi setiap kali refresh dilakukan dengan benar:
Jika sesuatu yang buruk terjadi - halaman gagal dimuat, dimuat sebagai 404 atau kesalahan atau javascriptnya berhenti karena alasan apa pun, atau beberapa pembajak redirect mendorong kita ke halaman yang berbeda, jika dua pesan penyegaran berturut-turut gagal tiba, bingkai pengawas me-reset URL ke sumber asli, yang secara otomatis melakukan pemuatan ulang.
Catatan, coba ... tangkap adalah untuk mencegah masalah dengan browser lama yang mungkin tidak mendukung postMessage. Ini tidak akan menjadi masalah dengan kios karena kami mengontrol lingkungan dan selalu dapat memastikan peramban yang tepat akan digunakan. OTOH, pada komputer klien acak tanpa bingkai mendengarkan pesan operasi postMessage adalah no-op asalkan tidak menyebabkan kesalahan pembatalan skrip, jadi coba..catch.
sumber
Saya menggunakan xdotool untuk mensimulasikan penekanan tombol f5
dan kemudian di crontab saya menjalankan skrip itu setiap menit
sumber