- Komponen Diperlukan
- Interfacing MLX90614 dengan Raspberry Pi
- Antarmuka Kamera Pi dengan Raspberry Pi
- Menyiapkan Email SMTP dengan Raspberry Pi
- Kode Python untuk Pi untuk Membaca Suhu dari MLX90614 dan Mengirim E-mail dengan Gambar
- Mengukur Suhu dan Mengirim Pemberitahuan Surat dengan PI
Sejak wabah korona, menjadi sangat sulit untuk mengidentifikasi mereka yang terkena virus atau tidak. Untuk mengatasi masalah ini, alat pengukur suhu sering digunakan untuk mengukur suhu tubuh. Perangkat ini memiliki sensor suhu IR non-kontak yang dapat mengukur suhu tubuh tanpa kontak fisik.
Ada banyak senjata suhu yang tersedia di pasaran, tetapi tidak satupun dari mereka memberikan peringatan atau pemberitahuan email kepada otoritas yang lebih tinggi untuk mengambil tindakan yang sesuai ketika suhu melebihi batas tertentu. Dalam proyek ini, kami akan menghubungkan sensor suhu IR dan mengirim peringatan email dengan gambar orang tersebut jika suhu orang tertentu melebihi nilai yang ditetapkan.
Di dunia sekarang ini, Internet of Things merevolusi hidup kita dengan mengembangkan sejumlah sistem yang dapat dipantau dan dikendalikan dari jarak jauh. Dalam proyek ini, kami akan memanfaatkan kekuatan IoT dan kami akan membangun perangkat Pemantauan Suhu dengan peringatan Email menggunakan Raspberry Pi, MLX90614, dan PiCamera.
Sebelumnya kami juga telah membuat termometer serupa lainnya untuk pengukuran suhu tubuh, Anda dapat menemukannya di sini.
- Termometer digital berbasis Arduino menggunakan MAX30205
- Skrining Suhu Tubuh Tanpa Kontak menggunakan RFID dan Arduino dengan MLX90614
- Pistol Termometer Inframerah Non-Kontak menggunakan Arduino
- Wall Mount Non-Contact Thermometer menggunakan Arduino
- Smart Thermometer menggunakan Arduino dengan Aplikasi Android
Komponen Diperlukan
Di sini kami menggunakan Raspberry Pi 3 Raspbian OS. Semua persyaratan Perangkat Keras dan Perangkat Lunak dasar telah dibahas sebelumnya, Anda dapat mencarinya di Pengenalan Raspberry Pi dan LED Berkedip Raspberry PI untuk memulai, selain yang kami butuhkan:
- Raspberry Pi 3 (versi apa pun akan baik-baik saja).
- Kamera Pi.
- MLX90614 - Sensor suhu IR.
- Menghubungkan kabel.
- Papan tempat memotong roti.
- Catu Daya (5V, 2A / 3A)
Proyek ini sederhana jika kita membagi proyek menjadi beberapa bagian.
- Memahami & Menghubungkan MLX90614 dengan Raspberry pi.
- Memulai dengan Pi Camera.
- Menyiapkan Email SMTP dengan Raspberry pi.
- Pengembangan dan pemahaman kode akhir.
Raspberry Pi: Raspberry Pi adalah komputer seukuran kartu kredit yang dirancang untuk tujuan pendidikan. Karena harganya dan spesifikasinya yang luar biasa seperti wifi onboard, Bluetooth, dan header GPIO yang dapat diprogram, dan banyaknya opsi yang memungkinkan untuk membuat aplikasi, itu diadopsi oleh pengembang dan penggemar elektronik. Anda dapat mencarinya di Pengenalan Raspberry Pi dan LED Raspberry PI Berkedip untuk memulai proses booting.
MLX90614 IR Sensor Suhu: Ada banyak sensor yang tersedia di pasaran yang dapat memberi kita suhu dan kelembaban. Apa yang membuat sensor ini berbeda dari semua sensor lainnya adalah ia dapat memberi kita suhu objek dan sensor lain memberikan suhu sekitar. Kami telah menggunakan Sensor DHT11 dan LM35 secara ekstensif untuk banyak aplikasi di mana kelembaban atau suhu atmosfer harus diukur.
Namun disini untuk membuat temperature gun yang tidak memerlukan kontak fisik dan dapat mengukur temperatur objek sebagai pengganti temperatur ambien, kami menggunakan MLX90614 berbasis IR. Untuk mempelajari lebih lanjut tentang sirkuit sensor Inframerah dan IR, ikuti link.
Sensor MLX90614 diproduksi oleh sistem Terpadu Mikroelektronika Melexis, bekerja berdasarkan prinsip sensor termopile InfraRed untuk pengukuran suhu. Sensor ini terdiri dari dua unit yang disematkan secara internal untuk menghasilkan keluaran suhu. Unit pertama adalah unit penginderaan yang memiliki detektor infra merah yang kemudian dilanjutkan dengan unit kedua yang melakukan komputasi data dengan Digital Signal Processing (DSP). Sensor ini bekerja berdasarkan hukum Stefan-Boltzmann yang menjelaskan daya yang dipancarkan oleh benda hitam dalam kaitannya dengan suhunya. Sederhananya, setiap benda memancarkan energi IR dan intensitasnya akan berbanding lurus dengan suhu benda tersebut. Sensor MLX90614 mengubah nilai komputasi menjadi ADC 17-bitdan itu dapat diakses menggunakan protokol komunikasi I2C. Sensor ini mengukur suhu sekitar serta suhu objek dengan kalibrasi resolusi 0,02 ° C. Untuk mengetahui lebih lanjut tentang fitur sensor MLX90614, lihat Lembar Data MLX90614.
Fitur MLX90614:
- Tegangan Operasi: 3.6V hingga 5V
- Kisaran Suhu Sekitar: -40 ° C hingga 125 ° C
- Rentang Suhu Objek: -70 ° C hingga -382.2 ° C
- Resolusi / Kalibrasi: 0,02 ° C
- ADC 17-bit.
- Komunikasi I2C.
Interfacing MLX90614 dengan Raspberry Pi
Pertama, kita akan mengunduh pustaka dan paket yang diperlukan untuk berhasil menghubungkan MLX90614.
Langkah 1: Mengaktifkan I2C dari pengaturan Raspberry Pi.
Ketik sudo raspi-config dan kemudian masuk ke opsi antarmuka.
Buka opsi I2C dan aktifkan.
Langkah2: Unduh paket / pustaka MLX90614 dengan membuka https://pypi.org/project/PyMLX90614/#files, lalu klik kanan dan salin alamat tautan.
Buka terminal RPI dan ketik wget dan tempel tautan yang disalin seperti di bawah ini.
Dapatkan
Ini akan mengunduh pustaka dalam nama file zip 'PyMLX90614-0.0.3.tar.gz' . kemudian ekstrak folder dengan ekstensi nama file tar -xf atau gunakan perintah di bawah ini untuk melakukan hal yang sama.
tar -xf PyMLX90614-0.0.3.tar.gz
Kemudian kita perlu menginstal beberapa paket yang dibutuhkan menggunakan perintah di bawah ini.
sudo apt-get install python-setuptools sudo apt-get install -y i2c-tools
Lalu masuk ke folder hasil ekstrak menggunakan cd PyMLX90614-0.0.3 / dan jalankan perintah.
sudo python setup.py install
Setelah Anda selesai mengikuti langkah-langkahnya, cukup tautkan sensor MLX90614 dengan Raspberry pi menggunakan rangkaian yang diberikan di bawah ini. Rangkaian Raspberry Pi MLX90614 di bawah ini dirancang dengan menggunakan fritzing.
Jika koneksi dan instalasi dilakukan dengan benar, kita dapat memeriksa apakah kita mendapatkan nilai alamat sensor pada bus I2C menggunakan perintah i2cdetect -y 1 .
Jika semuanya berfungsi seperti yang diharapkan, kita dapat melihat output di bawah ini di terminal kita.
0x5A mewakili alamat sensor seperti yang disebutkan oleh lembar data. Potongan lembar data yang menunjukkan hal yang sama diberikan di bawah ini.
Sekarang, kita akan menjalankan membuat nama file baru mlxread.py dan menulis program contoh untuk memeriksa data dari sensor. Kode yang sama diberikan di bawah ini.
dari smbus2 impor SMBus dari mlx90614 impor MLX90614 bus = SMBus (1) sensor = MLX90614 (bus, alamat = 0x5A) print "Suhu Sekitar:", sensor.get_ambient () print "Suhu Objek:", sensor.get_object_1 () bus. Menutup()
Setelah file dibuat, kita akan menjalankannya dengan ekstensi python python mlxread.py. Output yang saya terima ditunjukkan di bawah ini. Saya menjalankan program beberapa kali untuk memeriksa apakah nilainya berubah saat saya menggerakkan tangan saya di atasnya.
Woah, kami telah berhasil menghubungkan MLX90614 dengan Raspberry Pi kami seperti yang Anda dapat konfirmasi dari gambar di atas.
Antarmuka Kamera Pi dengan Raspberry Pi
Langkah 1: Mengaktifkan Kamera dari pengaturan Raspberry Pi.
Ketik sudo raspi-config dan kemudian masuk ke opsi antarmuka.
Buka Kamera dan aktifkan kamera.
Sekarang, hubungkan modul kamera seperti yang ditunjukkan di bawah ini.
Langkah2: Untuk memeriksa apakah kamera terhubung dengan benar, kami mengambil gambar uji dan menyimpannya di Desktop kami (kami menggunakan versi GUI Raspbian OS Lengkap)
raspistill -o Desktop / image.jpg
Ini akan memungkinkan kamera Anda untuk mengklik gambar dengan gambar nama dan menyimpannya di Desktop Anda.
Menyiapkan Email SMTP dengan Raspberry Pi
Di bagian ini, kita akan memahami bagaimana kita dapat mengatur akun GMAIL kita untuk mengirim email peringatan setelah suhu melebihi nilai yang telah ditentukan sebelumnya.
SMTP adalah Simple Mail Transfer Protocol yang merupakan protokol lapisan aplikasi yang bertanggung jawab untuk layanan email menggunakan TCP / IP. Ini memberikan kemampuan untuk mengirim dan menerima pesan email dan dikelola oleh Internet Engineering Task Force (IETF).
Tutorial ini hanya bekerja dengan akun GMAIL dan untuk menghindari kemungkinan kesalahan, akan direkomendasikan jika Anda menggunakan akun Gmail baru.
Secara default, Google tidak mengizinkan pengguna mengirim email menggunakan skrip python. Untuk membuat ini berfungsi, kami harus mengaktifkan beberapa aplikasi yang kurang aman dengan masuk ke pengaturan akun.
Langkah 1: Pergi ke pojok kanan dan klik saya Kelola Akun Google Anda.
Langkah2: Klik Keamanan dan gulir ke bawah ke "Akses Aplikasi yang Kurang Aman".
Langkah3: Aktifkan aplikasi yang kurang aman.
Langkah4: Ulangi dengan id email lainnya juga untuk mengirim / menerima email dari skrip python.
Step5: Unduh paket yang diperlukan.
sudo apt-get install ssmtp sudo apt-get install mailutils
Jika Anda mendapatkan error dalam menjalankan perintah dengan copy-paste, ketikkan secara manual.
Langkah6: Setelah instalasi semua perpustakaan selesai, kita perlu membuat perubahan pada file ssmtp.conf di mana kita harus memasukkan detail email pengirim
Buka sudo nano /etc/ssmtp/ssmtp.conf
Gulir ke bawah sampai akhir dan tempel ini, mailhub = smtp.gmail.com: 587 AuthUser = YourEmailAddress AuthPass = YourEmailPassword UseSTARTTLS = YES UseTLS = YES
Saya juga telah membagikan tangkapan layar terminal saya untuk referensi Anda.
Saya baru saja menggunakan papan tempat memotong roti untuk membuat koneksi saya, pengaturan perangkat keras saya terlihat seperti miliknya ketika MLX90614 dan kamera terhubung.
Kode Python untuk Pi untuk Membaca Suhu dari MLX90614 dan Mengirim E-mail dengan Gambar
Program python melakukan semua operasi yang diperlukan untuk membaca data sensor, membandingkannya dengan nilai ambang batas, mengotorisasi email, dan kemudian mengirim email dengan gambar terlampir. Pertama-tama, kami akan memerlukan deklarasi email library, pengirim, dan penerima. Email dapat dikirim melalui smtplib, tetapi kami hanya ingin email diatur dengan subjek, badan, dan lampiran lainnya, ini dilakukan dengan bantuan Multipurpose Internet Mail Extensions (MIME). Kode lengkap dapat ditemukan di bagian bawah halaman ini.
impor RPi.GPIO sebagai gpio impor picamera waktu impor impor smtplib dari email.MIMEMultipart impor MIMEMultipart dari email.MIMEText impor MIMEText dari email.MIMEBase impor MIMEBase dari email import encoders dari email.mime.image impor MIMEImage dari smbus2 impor SMBus dari mlx90614 impor MLX90614
Setelah itu, kami menentukan alamat email pengirim, alamat email penerima, subjek email, badan, dan pesan lampiran.
fromaddr = "[email protected]" # ubah alamat email sesuai toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Nilai suhu melebihi peringatan" body = "Silakan temukan lampiran gambar"
Kemudian, kami membuat fungsi yang dapat digunakan untuk mengirim E-mail.
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attachment = buka (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (image) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "test12345 @") text = mail. as_string () server.sendmail (fromaddr, toaddr, teks) server.quit ()
Kemudian kita buat fungsi untuk menangkap gambar yang dikirim melalui email dan juga menyimpan gambar tersebut dengan data dan waktu.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) cetak data camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (data)
Kemudian, kami membuat beberapa pengaturan dengan PiCamera.
camera = picamera.PiCamera () camera.rotation = 0 camera.awb_mode = 'auto' camera.brightness = 55
Dan akhirnya, kita memiliki waktu (1) loop yang akan berjalan tanpa batas. Ini akan membaca data dari sensor suhu MLX90614 dan jika suhu melebihi nilai yang ditetapkan, maka fungsi capture_image () dipanggil yang kemudian memanggil fungsi sendMail (data) untuk mengirim pengambilan gambar melalui email.
Mengukur Suhu dan Mengirim Pemberitahuan Surat dengan PI
Ketika perangkat keras dan perangkat lunak siap, jalankan saja kode python (berikan di bawah) pada pi Anda. Ini akan mencetak nilai suhu yang dibaca dari sensor seperti gambar di bawah ini.
Jika suhu objek melebihi suhu ambang, maka program python kita akan mengambil gambar dari kamera, menyimpannya di raspberry pi, dan juga membagikannya melalui E-mail. Contoh E-mail yang dikirim dari raspberry Pi ditunjukkan di bawah ini.
Pekerjaan lengkap proyek juga dapat ditemukan di video yang ditautkan di bawah ini. Semoga Anda menikmati artikel ini, jika Anda memiliki pertanyaan, silakan tinggalkan di komentar di bawah atau Anda juga dapat menggunakan forum kami untuk memposting pertanyaan Anda dan berhubungan dengan komunitas.