Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Raspberry Pi mengontrol pemantauan suhu ruangan dengan output gambar Gnuplot dan kemampuan peringatan email

Di tempat saya bekerja, ada ruangan yang sangat penting yang menampung banyak komputer. Suhu sekitar ruangan ini harus sangat dingin untuk mengoptimalkan kinerja sistem ini.
Saya diminta untuk membuat sistem pemantauan yang memiliki kemampuan untuk mengirimkan beberapa bentuk peringatan kepada beberapa orang yang akan memberi tahu mereka bahwa ada yang salah dengan AC di ruangan itu.
Perangkat keras untuk membangun ini, saya menggunakan Raspberry pi dan sensor suhu dan kelembaban USB.

Untuk pemantauan, saya menggunakan Gnuplot untuk memplot tiga grafik suhu dan membuat gambar grafik tersebut. Saya kemudian membuat halaman HTML khusus yang akan di-host di Raspberry pi sehingga kondisi saat ini, gambar output gnuplot tersebut, dapat dipantau dari halaman web dalam jaringan kami.

Untuk peringatan, saya memilih menggunakan Gmail. Saya telah menemukan beberapa contoh kode di majalah Pengguna Linux. (Tentu saja Anda dapat menggunakan server email apa pun setelah Anda mengetahui tugas port yang diperlukan. )
Untuk itu saya membuat akun email Gmail khusus untuk peringatan ini. Juga sebagai fitur tambahan, ketika peringatan telah dipicu, saya melampirkan satu grafik ke email sehingga orang yang menerima email dapat mengetahui seberapa drastis peningkatan yang menyebabkan peringatan tersebut.

Langkah 1:Pengaturan Perangkat Keras

Tidak banyak yang perlu disiapkan untuk perangkat keras. Pi Raspberry menjalankan Raspian dan sensor suhu USB cukup dihubungkan langsung ke salah satu port USB.

Konsumsi daya sensor ini minimal dan sebagai hasilnya saya menyalakannya langsung dari Raspberry pi. Namun, untuk perangkat yang diberdayakan USB dengan konsumsi daya yang sedikit lebih banyak, saya sarankan untuk menyalakannya melalui hub USB yang diberdayakan dan tidak langsung dari port USB Raspberry pi.

Setelah sensor suhu dinyalakan, sensor ini menyediakan rangkaian serial yang berisi pembacaan suhu dan kelembaban dari kondisi saat ini.

suhu=20.9°C kelembaban=62.7% titik embun=13.0°C

Skrip python mem-parsing string ini dan menyimpan nilai suhu dan kelembapan ke dalam tiga file teks setiap lima menit; file teks harian, 24 jam dan 48 jam (Perbedaannya akan dibahas nanti di bagian HTML). Dari file-file ini, Gnuplot akan menghasilkan grafik dan kemudian gambar dari kumpulan data di setiap file.

Sebelum saya membahas script python saya akan berbicara tentang mempersiapkan pi Raspberry.

Karena pemantauan dilakukan secara online, server web perlu diinstal. Saya sudah mencoba beberapa dari mereka di waktu saya di Raspberry pi tetapi meskipun agak besar, saya lebih suka Apache. Untuk menginstal Apache di Raspberry pi Anda, cukup ketik:

sudo apt-get install apache2

Ini akan memberi Anda prompt sebelum menginstal, tekan "y" untuk ya dan
dan Apache akan diinstal beberapa menit tergantung pada pi Raspberry Anda.

Setelah selesai, Anda harus menginstal dua plug-in python:python-serial dan python-gnuplot plug. (Meskipun saya telah menyadari bahwa Raspian build baru-baru ini memiliki standar plug-in python-serial tetapi hanya untuk amannya.)

Untuk menginstal yang Anda ketik:

sudo apt-get install python-serial python-gnuplot

Sekali lagi setelah mengetahui petunjuknya, plugin ini akan diinstal.

Dan dengan itu, pengaturan perangkat keras selesai.

Langkah 2:Pengaturan Perangkat Lunak – Pengaturan Email dan Penerima

buat alamat email

Sebelum kita terlalu jauh ke dalam perangkat lunak sekarang akan menjadi saat yang tepat untuk membuat akun Gmail untuk mengirim email Anda. (Contoh ini menggunakan GMail tetapi server email apa pun dapat digunakan setelah kami mengetahui pengaturan port smtp)

Kode python cukup mudah, tetapi impor yang dibutuhkan sangat penting. Tanpa mereka, tidak ada yang akan berhasil.

dari waktu impor *
impor waktu

impor serial

impor smtplib

impor Gnuplot

impor os

sistem impor

Terakhir, milis. Tentu saja kita harus menambahkan penerima email. Setiap alamat email disimpan dalam variabel.

from_address =‘[email protected]’
to_address1 =‘recipient1.mail.com’

to_address2 =‘recipient2.mail.com’

username =‘[email protected]@gmail.com’

kata sandi ='custom_email_password'

Langkah 3:Penyiapan Perangkat Lunak – Penyiapan serial dan Parsing

Selanjutnya kita lihat serial setupnya.

Ini hanya masalah pengaturan parameter yang cocok dengan output serial dari sensor. Sensor mengeluarkan string serial pada 9600 8 N 1 yang merupakan format standar.

Setelah string diterima, ada beberapa cara untuk menguraikan string ini dengan python dan sangat mungkin lebih andal. Cara yang saya lakukan adalah dengan mencari karakter “temp” di serial string. Setelah ditemukan, tinggal membaca 46 karakter serial berikutnya menjadi sebuah string.

String yang dikumpulkan sekarang dapat dialamatkan seperti elemen dalam array. Data yang diinginkan diurai dari string dan disimpan ke tiga file bersama dengan cap waktu yang sesuai.

timestamp =strftime(“%d%b%Y %H:%M:%S “,localtime())

Langkah 4:Pengaturan Perangkat Lunak – Gnuplot

Gnuplot adalah alat grafis baris perintah. Setelah Anda mengetahui dasar-dasarnya, ini bisa menjadi alat yang cukup kuat untuk tampilan grafis kumpulan data.

Gnuplot dapat memplot langsung dari file teks yang diformat dan kami kebetulan memilikinya dari langkah penguraian sebelumnya.

Setelah kami menunjukkan ke gnuplot di mana dalam file data berada, kami dapat memplot nilai yang diinginkan. Saya akan menggunakan waktu pada sumbu X dan suhu kita pada sumbu Y.

Merencanakan waktu dari pengalaman saya adalah yang paling sulit karena Anda harus mendapatkan format waktu di gnuplot agar sesuai dengan format file teks.

Setelah semua opsi grafik selesai dan sesuai keinginan Anda, Gnuplot kemudian dapat membuat gambar dari grafik ini. Ini akan menjadi gambar yang akan kita gunakan di halaman Web kita nanti. Saya memilih untuk menggunakan gambar .png dan karena saya ingin mengganti gambar lama di halaman Web, setiap gambar memiliki nama yang sama sehingga baris kode ini tidak perlu diubah.

Pengaturan ukuran gambar terkait dengan pengoptimalan halaman html. Saya pertama kali bermain-main dengan ukuran standar kemudian bereksperimen untuk membuat gambar sesuai dengan layar saya. Untuk proyek ini, saya tidak menyimpan gambar lama sehingga ukuran fisik file dalam penyimpanan bukanlah faktor utama pada penyimpanan Raspberry pi yang berharga.

Berikut adalah cuplikan kode untuk membuat dan menyimpan gambar grafik daily.png.

g =Gnuplot.Gnuplot(debug=debug)

g(‘cd “‘ + path + ‘”‘ )
g(‘setel waktu xdata’)

g(‘set timefmt “%d%b%Y %H:%M:%S”‘)

g(‘setel format x “%H:%M\\n%d%b”‘)

g(‘setel judul ” Tampilan Suhu Harian Saat Ini”‘)

g('matikan kunci')

g('set grid') g('set xlabel “Waktu\\nTanggal”‘)

g(‘set yrange [15.0:35.0]’)

g(‘set ylabel ” Suhu “‘)

g(‘set datafile tidak ada “NaN”‘)

g('setel ukuran png terminal 800.400')

g(‘setel keluaran “daily.png”‘)

g('plot "daily.dat" menggunakan 1:($3) dengan garis')

CATATAN:Baris yang bertuliskan g(‘set datafile missing “NaN”‘), tujuan dari baris ini adalah untuk memplot ruang kosong di plot. Variabel "NaN" ditulis ke file jika skrip python mendeteksi sesuatu yang aneh untuk pembacaan tertentu atau transmisi serial.

Seperti yang dapat Anda lihat dari tiga grafik di atas, daily.png memberi Anda tampilan data waktu saat ini sedangkan 24_hour.png memiliki informasi yang sama yang ditampilkan pada skala 24 jam. Grafik 48_hour.png menunjukkan data 48 jam terakhir Anda dari sensor.

Untuk detail lebih lanjut:Raspberry Pi mengontrol pemantauan suhu ruangan dengan output gambar Gnuplot dan kemampuan peringatan email


Proses manufaktur

  1. Kontrol akses dengan QR, RFID, dan verifikasi suhu
  2. Ukur suhu dengan sensor DS18B20 1-kawat dan Raspberry Pi
  3. Memantau Suhu Kamar dengan Raspberry Pi dan Nagios
  4. Baca suhu dengan DS18B20 | Raspberry Pi 2
  5. Pemantau Suhu dan Kelembaban Rumah (Kamar) dengan Bagan Berbasis Web – Raspberry Pi
  6. Pemantauan Suhu di Raspberry Pi
  7. Mengukur suhu dengan RASPBERRY PI
  8. Sensor Suhu Python dan Raspberry Pi
  9. Memantau Suhu Kamar dengan Moteino dan Raspberry Pi
  10. Suhu dan Kelembaban yang Mudah di Raspberry Pi