Monitor Suhu Raspberry Pi

Raspberry Pi Temperature Monitor



Raspberry Pi adalah Single Board Computer (SBC) yang kuat. Ia boleh digunakan untuk melakukan banyak tugas yang canggih. Tetapi melakukannya akan meningkatkan suhu pemproses peranti Raspberry Pi. Yang tidak baik. Prestasi Raspberry Pi SBC akan menderita kerana suhu. Ini juga dikenali sebagai pendikit terma.

Sekiranya suhu pemproses Raspberry Pi anda melebihi 80 darjah Celsius, anda akan melihat ikon termometer di sudut kanan atas skrin. Secara rasmi, Raspberry Pi Foundation mengesyorkan agar suhu peranti Raspberry Pi anda mestilah di bawah 85 darjah Celsius agar ia berfungsi dengan baik. Itu had maksimum. Tetapi ia akan mula meletup pada 82 darjah Celsius.







Dalam artikel ini, saya akan menunjukkan kepada anda cara memantau suhu Raspberry Pi anda. Saya akan menggunakan sistem operasi Raspbian pada peranti Raspberry Pi 3 Model B saya. Tetapi ia harus berfungsi pada mana-mana Raspberry Pi SBC dengan sistem operasi Raspbian terpasang.



Anda boleh mengukur suhu teras peranti Raspberry Pi anda dengan arahan berikut:



$vcgencmd mengukur_temp

Suhu teras semasa ialah 48.3 darjah Celsius seperti yang anda lihat di bahagian tangkapan skrin di bawah.





Seperti yang anda lihat, setiap kali saya menjalankan arahan menunjukkan nilai suhu yang berbeza.



Menghuraikan Data Suhu:

Data suhu yang kami dapat dari vcgencmd arahan adalah rentetan. Anda tidak dapat membuat pengiraan di atasnya. Kita dapat dengan mudah menggunakan ungkapan Biasa untuk mengekstrak data suhu dan melakukan pengiraan apa saja.

Sekiranya anda ingin menggunakan data suhu dalam skrip shell Bash, anda boleh mengekstrak data suhu dengan egrep arahan seperti berikut:

$vcgencmd mengukur_temp| egrep -atau '[0-9] * . [0-9] *'

Seperti yang anda lihat, hanya data suhu yang dicetak. Tidak ada apa-apa sebelum atau selepasnya.

Anda boleh menggunakannya pada skrip shell anda (katakanlah print_temp.sh ) seperti berikut:

$nanoprint_temp.sh

Di sini, pada baris 3, saya menetapkan temp pemboleh ubah kepada data suhu yang dihuraikan yang saya dapat dari vcgencmd dan cengkaman arahan.

Pada baris 5, saya menggunakan membuang untuk mencetak kandungan temp pemboleh ubah di skrin.

Baris 1 digunakan untuk memberitahu Linux bahawa skrip harus dijalankan dengan / bin / bash secara lalai.

Sekarang, buat skrip yang dapat dilaksanakan dengan perintah berikut:

$chmod+ x print_temp.sh

Sekarang, jalankan skrip seperti berikut:

$./print_temp.sh

Seperti yang anda lihat, output yang dikehendaki dicetak di skrin.

Menulis Skrip Pemantauan Suhu Raspberry Pi:

Sekarang kita dapat menguraikan data suhu yang kita dapat dari vcgencmd perintah, kita dapat menulis skrip pemantauan suhu dengan mudah untuk Raspberry Pi. Skrip pemantauan suhu akan mencetak cap waktu semasa dan suhu teras setiap saat di skrin dengan cara yang diformat dengan baik.

Pertama, buat skrip baru tempmon.sh dengan arahan berikut:

$sentuhantempmon.sh

Sekarang, edit tempmon.sh skrip dengan arahan berikut:

$nanotempmon.sh

Sekarang, ketik baris kod berikut dan simpan fail dengan + x dan kemudian tekan dan diikuti oleh .

Di sini, pada baris 4, printf digunakan untuk mencetak rentetan TIMESTAMP dan TEMP (degC) sebagai lajur lebar tetap.

Pada baris 5, saya menggunakan printf sekali lagi untuk mencetak garis putus-putus hanya untuk menjadikan output lebih mudah dibaca dan menarik.

Pada baris 7-13, saya menjalankan gelung tanpa batas untuk mencetak data suhu setiap saat.

Pada baris 9, saya menyimpan data suhu yang dihuraikan di temp pemboleh ubah.

Pada baris 10, saya menyimpan data cap waktu yang saya dapat dari Tarikh arahan pada cap waktu pemboleh ubah.

Pada baris 11, saya mencetak tarikh dan waktu dalam format cap waktu dan data suhu dalam format lajur lebar tetap.

Pada baris 12, saya menggunakan perintah sleep 1 untuk menahan pelaksanaan skrip sebentar. Selepas itu, gelung akan berterusan.

Sekarang, buat skrip tempmon.sh boleh dilaksanakan dengan arahan berikut:

$chmod+ x tempmon.sh

Akhirnya, jalankan skrip tempmon.sh dengan arahan berikut:

$./tempmon.sh

Seperti yang anda lihat, skrip monitor suhu berfungsi dengan sempurna. Ia mencetak data suhu setiap saat.

Seperti yang anda lihat, ketika saya meningkatkan beban sistem, suhu meningkat sedikit.

Sekiranya anda mahu menghentikan skrip pemantauan suhu, tekan + c . Pemantauan suhu tidak lagi berjalan seperti yang anda lihat dalam tangkapan skrin di bawah.

Sekarang skrip pemantauan suhu berfungsi, mari salin ke / usr / tong sampah direktori. Dengan cara itu, anda boleh menjalankannya seperti arahan Linux yang lain.

Untuk menyalin skrip tempmon.sh kepada / usr / tong sampah direktori, jalankan arahan berikut:

$sudo cptempmon.sh/usr/saya/tempmon

Seperti yang anda lihat, saya dapat menjalankan skrip pemantauan suhu seperti yang saya jalankan perintah Linux standard.

Mengubahsuai tempmon untuk Mencetak Data Suhu di Fahrenheit:

Anda boleh menukar data suhu dari Celsius ke Fahrenheit dengan mudah.

Formula yang terkenal untuk mengira suhu di Fahrenheit dari Celsius adalah,

F =(9/5)*C +32
Atau
F =1.8 *C +32

Tetapi masalahnya ialah, bash shell tidak mempunyai fungsi yang diperlukan untuk melakukan pengiraan titik terapung. Jadi, anda harus bergantung pada beberapa program lain seperti bc .

bc tidak dipasang pada Raspbian secara lalai. Tetapi anda boleh memasangnya dengan mudah dengan arahan berikut:

$sudotepatpasang bc

bc harus dipasang.

Sekarang, anda perlu mengubah skrip pemantauan suhu dan membuat pengiraan yang diperlukan untuk menukar suhu ke Fahrenheit dari Celsius dengan bc .

Edit tempmon.sh skrip dengan arahan berikut:

$nanotempmon.sh

Sekarang, buat pengubahsuaian seperti yang ditunjukkan pada tangkapan skrin di bawah.

Di sini, pada baris 4, saya mencetak TEMP (F) bukannya TEMP (degC) .

Pada baris 9, saya menukar pemboleh ubah dari temp ke tempC .

Pada baris 10, saya menambahkan hasil penukaran Celsius ke Fahrenheit ke pemboleh ubah tempF .

Akhirnya, saya mencetak nilai tempF pemboleh ubah bukan temp pada baris 12.

Sekarang, jalankan skrip seperti berikut:

$./tempmon

Seperti yang anda lihat, suhu dicetak dalam unit Fahrenheit.

Oleh itu, anda memantau suhu di Raspberry Pi. Terima kasih kerana membaca artikel ini.