Saya baru saja membahas hal ini dan sementara saya bisa menampilkan temp melalui SSH, saya berjuang untuk menampilkannya di halaman web kecil yang saya siapkan di Pi saya menjalankan Apache2. Saya mengikuti contoh ini http://www.raspberrypi.org/phpBB3/viewtopic.php?t=35487&p=310038 yang mencakup beberapa AJAX dan skrip dalam direktori cgi-bin, tapi saya mendapatkan kesalahan mengatakan itu $ was not defined
dan menjadi benar-benar tidak mengerti dengan JavaScript, saya tidak tahu di mana letak kesalahannya. Saya bertanya-tanya apakah itu bisa menjadi direktori cgi-bin. Saya baru saja membuatnya dan tidak dapat menemukan info apakah saya harus melakukan sesuatu yang khusus atau tidak agar dapat digunakan untuk skrip. Adakah yang bisa menjawab pertanyaan itu untuk saya? Jika relevan, saya menjalankan versi terbaru dari Raspbian.
Akhirnya, saya ingin mencatat nilai ke database dan grafik dari itu, tetapi hal pertama yang pertama. :)
Pertanyaan utama adalah bagaimana saya bisa menampilkan suhu di halaman web saya dari sensor internal?
EDIT
Saya akan mencoba saran pertama nanti malam ketika saya tiba di rumah, tetapi saya dengan cepat mendapatkan yang kedua (Lenik) yang tampaknya bekerja dengan baik. Saya harus melakukan beberapa pengeditan untuk membuatnya bekerja. Script tidak akan membuat file rrd jadi saya membuatnya secara manual dengan menggunakan sintaks yang digunakannya dalam skrip. Saya juga memodifikasi UPDATE
perintah karena tidak suka nilai yang diberikan padanya. Saya harus menghapus width
bagian dari GRAPH
perintah karena itu melemparkan kesalahan juga. Kemudian pada akhirnya, saya menambahkan cp
sehingga menempatkan file di direktori gambar situs web dan kemudian menambahkan*/5 * * * * /home/root/scripts/temprec.sh >/dev/null 2>&1
ke crontab saya jadi itu berjalan setiap 5 menit. Tampaknya berhasil, tetapi dengan hanya 4 sampel sejauh ini sulit untuk mengetahui dengan pasti. Dalam satu jam atau lebih saya akan memiliki ide yang lebih baik jika pengeditan saya berhasil.
#!/bin/bash
#
# update .rrd database with CPU temperature
#
# $Id: update_cputemp 275 2013-05-16 05:20:56Z lenik $
# Thanks to Lenik @ Raspberrypi.stackexchange.com.
cd /path/to/scripts
# read the temperature and convert .59234. into .59.234. (degrees celsius)
TEMPERATURE=`cat /sys/class/thermal/thermal_zone0/temp`
TEMPERATURE=`echo -n ${TEMPERATURE:0:2}; echo -n .; echo -n ${TEMPERATURE:2}`
/usr/bin/rrdtool update cputemp.rrd N:$TEMPERATURE
/usr/bin/rrdtool graph cputemp.png DEF:temp=cputemp.rrd:cputemp:AVERAGE LINE2:temp#00FF00
cp /path/to/scripts/cputemp.png /path/to/website/images
sumber
Beberapa waktu lalu saya menulis artikel " Raspberry Pi :: Memantau suhu CPU dengan RRDTOOL " tentang masalah yang sama. Solusi saya termasuk menerima suhu dari CPU, menyimpannya ke dalam database round-robin dan membangun grafik yang bagus sebagai file .PNG, yang cukup mudah untuk diletakkan di halaman web - cukup salin ke mana pun Anda inginkan. Saya harap Anda akan merasakan manfaatnya.
sumber
Saya yakin Anda bisa mengambil dan mengalirkan data dari RPi Anda dan menyematkannya di browser dengan paket ini di GitHub .
Begini tampilannya: https://plot.ly/~jensb89/12/ .
Setelah Anda membuat grafik, Anda dapat menyematkannya sebagai iframe dengan potongan ini:
Anda ingin menukar URL Anda dengan kode. Beritahu saya jika Anda memiliki masalah atau saya dapat membantu dengan apa pun. Juga, saya bagian dari Plotly, yang digunakan dalam paket ini.
Begini tampilannya:
sumber
Jawaban lain di sini luar biasa. Solusi saya, menggunakan skrip shell dan PHP adalah sebagai berikut:
Harap dicatat Saya melakukan ini pada Raspbian Wheezy, sehingga lokasi dari semua kode saya di
/var/www/
. Jika Anda menggunakan Jessie, itu harus dalam '/ var / www / html /'Pertama mari kita alihkan pengguna ke root (pengguna super):
sudo su
(dan masukkan kata sandi Anda)sampai ke lokasi yang benar:
cd /var/www/
(Wheezy)Sekarang buat direktori baru di sana:
mkdir scripts
Berikan atribut yang benar:
chmod 755 scripts/
Sekarang buat file baru di dalamnya, sebut saja 'temp.sh'
nano scripts/temp.sh
Masukkan kode berikut:
Ctrl+X
-Y
-Enter
untuk menyimpan dan keluar.Sekarang atur atribut file itu:
chmod 755 scripts/temp.sh
Sekarang buat direktori baru
mkdir include/
Set itu atribut
chmod 744 include/
OK, sekarang mari kita jalankan skrip dan uji outputnya:
cd scripts/
./temp.sh
cd ../include/
cat temp.txt
Seharusnya menampilkan sesuatu seperti ini:
Luar biasa! Sekarang, mari kita jalankan satu menit sekali. Kami akan memasukkan baris baru di Crontab.
crontab -e
Rekatkan baris di bawah ini di bagian bawah file
Ctrl+X
-Y
-Enter
untuk menyimpan dan keluar.Sekarang kita perlu mengedit Halaman di mana suhu akan ditampilkan. Jadi kita pergi mengedit file PHP:
cd /var/www/
nano index.php
Dan masukkan ini ke dalam
<div>
pilihan Anda:Itu akan melakukannya. Cukup muat ulang halaman Anda dan Anda akan melihat CPU dan GPU temps sedang ditampilkan.
Bonus tambahan: Saya juga suka memaksa halaman untuk memuat setiap kali (mencegah browser dari caching suhu) Untuk melakukan ini, saya juga menyertakan PHP berikut di awal file:
Catatan: Alasan mengapa ini berhasil bagi saya adalah karena itu ditampilkan pada "dasbor" perusahaan, Sebuah halaman di TV di kantor saya yang menunjukkan sejumlah grafik (status server, nomor pengguna, rata-rata memuat, dll, dll, dll). Saya telah mengatur pi berada dalam Mode Kiosk (browser layar penuh saat boot menggunakan Iceweasel) dan menunjukkan satu halaman yang menggulir otomatis ke bawah. Dibutuhkan sekitar 4 hingga 5 menit untuk sampai ke sana dari atas dan kemudian memuat ulang secara otomatis setelah menyentuh bagian bawah. Jadi itu memuat ulang sesekali, melewati kebutuhan bagi saya untuk memperbarui tampilan suhu menggunakan teknologi sisi klien. Saya juga mengaturnya agar dilihat menggunakan berbagai CSS / JS berdasarkan agen pengguna (tidak ada bergulir, tidak ada waktu saat ini di sudut, tidak ada memuat ulang di bagian bawah), tetapi pada versi itu, saya '
sumber