Saya baik dengan perintah dan skrip Unix, tetapi saya hampir tidak memiliki pengalaman web. Saya memiliki skrip yang mengambil metrik yang saya minati, seperti beban CPU atau sistem temp dan memperbarui file setiap 10 detik. Saya ingin mengarahkan iPad saya ke situs web lokal yang dihosting oleh Raspberry Pi saya, yang memiliki representasi grafik yang diperbarui secara real-time dari data ini.
Saya telah bekerja sebelum membuat server web Apache sederhana, dan saya dapat menulis HTML dan JavaScript. Selain itu, saya tersesat dan membutuhkan seseorang untuk mengarahkan saya ke arah yang benar.
unix
apache-http-server
raspberry-pi
gui
jake9115
sumber
sumber
Jawaban:
Saya menggunakan Grafana dengan InfluxDB untuk ini di Raspberry Pi 3. Keduanya relatif mudah disetel dan terhubung satu sama lain. Mereka bahkan bekerja dengan baik dalam wadah Docker di Raspberry Pi.
Saya mengalirkan semua pembaruan saya ke InfluxDB saat dibuat. Kemudian Grafana melakukan semua pekerjaan grafis untuk menampilkannya dalam format visual yang bagus. Saya merancang dasbor sederhana hanya untuk iPad lama saya dengan layar yang lebih kecil.
Memang terdengar seperti banyak menginstal dan overhead, tetapi memang terlihat cantik.
sumber
Untuk memiliki dasbor pemantauan web yang ringan dan sangat mudah untuk mengatur (dan memperluas) halaman pemantauan pada Raspberry Anda, Anda telah memiliki RPi Monitor .
Muncul dengan beberapa default dan sebagian besar konfigurasi mengedit beberapa file teks sederhana. Saya mengkonfigurasinya dengan mudah untuk menambahkan grafik kelembaban dari DTH21.
sumber
Untuk aplikasi waktu nyata di web alat terbaik adalah WebSocket . Biasanya ini diimplementasikan di server aplikasi, bukan server web, tetapi Apache menyediakan cara untuk proxy websockets. Ini dapat dengan mudah menyediakan pembaruan per detik atau subsecond.
Pustaka mana yang Anda gunakan pada server aplikasi tergantung pada platform web apa yang ingin Anda gunakan, tetapi misalnya yang populer untuk Node.js adalah Socket.IO.
Di sisi klien Anda dapat mengatur koneksi seperti ini:
Di sisi server dengan Node.js menggunakan pustaka WebSocket dasar:
sumber
Anda juga bisa melihat Node-RED https://nodered.org Muncul di Raspbian
Inilah dashboard yang saya buat
sumber
Saya menggunakan phpSysInfo untuk memonitor semua server / komputer Linux saya, dan saya sangat suka betapa sederhananya. Pengaturannya juga sangat mudah dimengerti, dan Anda dapat mengatur kecepatan refresh Anda sendiri.
sumber
Jika Anda ingin kode dalam C atau C ++, Anda mungkin menggunakan beberapa perpustakaan server HTTP seperti libonion atau Wt untuk mengkode server HTTP khusus Anda (mungkin menggunakan sqlite untuk basis data). Anda kemudian harus memahami dengan baik protokol HTTP (termasuk cookie HTTP dan header HTTP ) dan HTML5 .
Anda mungkin ingin menggunakan teknik Ajax dan WebSocket (WebSockets didukung oleh libonion & Wt, Ajax memberikan permintaan HTTP biasa yang dimulai oleh kode JavaScript yang dijalankan di browser klien). Anda dapat menggunakan kanvas HTML5 dan / atau SVG untuk grafik. Anda mungkin menemukan beberapa kerangka kerja web HTML5 berguna; kebanyakan dari mereka menggunakan Javascript, DOM, HTML5, ....
sumber