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

Sistem Pemantauan Suhu Cerdas untuk Sekolah: Akurat, Real-Time, dan Aman

Komponen dan Perlengkapan

Berikut adalah daftar komponen yang diperlukan untuk membangun sistem pemantauan suhu cerdas ini:

Aplikasi dan Layanan Online

Tentang Proyek Ini

Pernyataan Masalah

Di Asia, karena cuaca panas dan wabah sindrom pernafasan akut parah (SARS) pada tahun 2003, siswa sekolah dasar dan menengah diwajibkan melakukan pengukuran suhu setiap kuartal untuk memastikan kesejahteraan siswa. Setiap kali sekolah menjadwalkan latihan pengukuran suhu, siswa harus membawa termometer digital mereka sendiri. Namun, beberapa siswa mungkin tidak dapat berpartisipasi karena termometer hilang, rusak, atau lupa membawa perangkat. Karena alasan higienis, siswa tidak diizinkan berbagi termometer dan mungkin tidak memiliki uang cukup untuk membeli yang baru. Hal ini mempengaruhi tingkat keberhasilan latihan pengukuran suhu. Setelah latihan selesai, petugas harus memasukkan secara manual data suhu dan identitas semua siswa ke database. Tugas ini sangat melelahkan dan memakan waktu karena setiap wali kelas perlu menginput data untuk sekitar 40 siswa.

Apa Solusinya?

Tema proyek ini adalah Dampak Sosial oleh SqwidNet, dalam bidang Kesehatan dan Kesejahteraan dalam Tujuan Pembangunan Berkelanjutan (SDG). Sistem ini mampu mengukur suhu pengguna yang valid secara otomatis sehingga suhu dapat dipantau, dan peringatan akan dikirim jika suhu melebihi ambang batas tertentu.

Bagaimana Kerjanya: RaspberryPi & Arduino

RaspberryPi menyimpan program Python dan database MySQL. Saat program Python diluncurkan, secara otomatis memeriksa apakah database sudah dibuat; jika belum, akan dibuat secara otomatis. Tabel di dalamnya juga diperiksa dan dibuat jika diperlukan. Ini mengurangi beban kerja manual guru dan staf administrasi.

Selanjutnya, program membuat koneksi kueri ke database dan menunggu Arduino mengirim informasi melalui port Komunikasi Serial. Ketika kartu RFID di-tape pada Arduino, informasi kartu disimpan dan dikirim ke RaspberryPi. RaspberryPi memverifikasi apakah kartu tersebut merupakan pengguna valid melalui database. Jika valid, Arduino menampilkan "Selamat datang, nama" pada layar LCD. Jika tidak valid, layar akan menunjukkan "Error! Pengguna Tidak Valid!".

Setelah pengguna valid di-tape, Arduino meminta pengguna untuk mengukur suhu. Sensor jarak mendeteksi apakah pengguna siap. Jika ya, suhu diukur dan ditampilkan pada LCD. Jika suhu valid (28°C - 42°C), informasi dikirim ke RaspberryPi (MySQL) dan Sigfox (ThingSpeak) untuk disimpan. Database MySQL menyimpan userID, tanggal, stempel waktu, dan suhu setiap pengukuran.

RaspberryPi terus memeriksa apakah data suhu telah terkirim dengan benar sebelum melanjutkan. Ini dilakukan untuk sinkronisasi karena kedua program mengeksekusi pada waktu yang berbeda. Kode Python terus memeriksa data suhu sebelum melanjutkan program.

Catatan: Kode Python dan Arduino menggunakan metode sinkronisasi Handshaking. Jika RaspberryPi belum siap menerima data, Arduino tidak mengizinkan pengguna menempelkan kartu, dan sebaliknya. Sinyal "READY" dikirim terus menerus sampai pihak lain merespons dengan "RECEIVE".

Bagaimana Kerjanya: Sigfox (SiPy)

Setelah menerima data suhu dari Arduino, SiPy memisahkan userID dan suhu menjadi bilangan bulat dan desimal. Semua data kemudian dikirim ke backend Sigfox melalui bytes sehingga dapat dikirim ke Ubidots dan ThingSpeak. Backend Sigfox kemudian mengenkode ulang data untuk dikirim ke ThingSpeak. Di Sigfox Backend (device type > Device Name > CALLBACKS), custom payload harus dimasukkan tepat sesuai dengan kode SiPy karena payload menentukan data apa yang diterima pertama sebagai userID.

Bagaimana Kerjanya: The Cloud

Setelah data terkirim ke ThingSpeak, diterima terlebih dahulu di channel viewing pribadi di mana skrip MATLAB Analysis menganalisis data dan menggabungkan nilai suhu bilangan bulat dan desimal menjadi satu nilai. Kode tabel diambil dari proyek open source dan dimodifikasi; tabel memperbarui diri secara otomatis setiap kali data baru masuk. Sistem juga memeriksa apakah suhu pada tingkat berbahaya (demam); jika ya, email akan dikirim untuk memberitahu staf atau guru. Channel pertama adalah backend untuk pemrosesan, sedangkan channel kedua menampilkan nilai suhu yang sudah digabungkan dalam bentuk tabel seperti Excel untuk analisis data yang mudah.

1. Pengaturan Koneksi Arduino Nano

Untuk Arduino Nano, berikut adalah koneksi yang dibuat dengan modul-modul. Nano dan Uno memiliki pinout yang sama.

RFID - RC522
SDA D10
SCK D13
MOSI D11
MISO D12
IRQ Tidak Terhubung
GND GND
RST D9
3.3V 3.3V

LCD
SDA A4
SCL A5
GND GND
5V 5V

Sensor Jarak
5V 5V
GND GND
Input A0

Buzzer
GND GND
Output D6

Sensor Suhu IR
SDA A4
SCL A5
GND GND
5V 5V

LED
Sisi Datar (kathode) GND
Sisi Tidak Datar (anoda) D7

Bagus! Untuk koneksi Arduino, Anda sekarang siap melanjutkan.

2. Pengaturan RaspberryPi

Ada dua hal utama yang perlu diinstal pada Raspberry Pi 3: Sistem Operasi Raspbian dan perangkat pendukung. Instalasi Raspbian cukup sederhana: flash berkas image ke kartu SD dan masukkan ke Raspberry Pi 3. Gunakan balenaEtcher untuk mem-flash. Pilih "Raspbian Buster with Desktop and recommended software" untuk menghemat waktu mengunduh perangkat lunak tambahan. Setelah selesai, jalankan balenaEtcher, pilih image dan kartu SD, lalu tekan flash. Hubungkan Raspberry Pi melalui HDMI ke monitor untuk pengaturan awal. Buka Preferences -> Raspberry Pi Configuration untuk mengaktifkan antarmuka seperti SSH dan VNC. Opsional: edit dhcpcd.conf untuk menetapkan alamat IP statis (misalnya 192.168.0.11) melalui Ethernet. Setelah terhubung WiFi, Anda akan mendapatkan alamat IP wlan0 untuk akses nirkabel.

3. Pengaturan Database MySQL

Pastikan sistem telah diperbarui dengan perintah sudo apt update dan sudo apt upgrade. Instal apache2 (sudo apt install apache2) untuk membuat server web, kemudian PHP (sudo apt install php php-mbstring). Uji dengan membuka alamat IP Raspberry Pi atau "localhost" di browser. Instal database dengan sudo apt install mariadb-server php-mysql. Buat root user MySQL melalui sudo mysql --user=root dan jalankan perintah untuk menetapkan hak akses. Setelah itu, instal PHPMyAdmin (sudo apt install phpmyadmin) untuk mengelola database melalui browser di https://ip_raspberrypi/phpmyadmin.

4. Panduan Pengaturan dan Perangkat Lunak SiPy Expansion Board 2.0

Masukkan modul SiPy ke Expansion Board dengan tombol reset menghadap ke USB Connector. Perbarui firmware SiPy menggunakan firmware updater sesuai sistem operasi (Windows, macOS, atau Linux). Pastikan memilih Region Sigfox dan Board yang benar saat pertama kali menjalankan updater. Setelah firmware diperbarui, unduh Visual Studio Code, instal ekstensi Pymakr dan nodejs. Buat folder baru untuk menyimpan berkas yang akan diunggah ke SiPy. Buat berkas baru dan simpan sebagai file Python. Jika mengunggah ke SiPy, berkas harus bernama main. Untuk menjalankan kode tanpa mengunggah, tekan tombol run di bagian bawah program. Hati-hati dengan while loop tak terbatas karena satu-satunya cara mengakses SiPy lagi adalah melalui FTP untuk menghapus main.py.

Gunakan FileZilla untuk mengakses flash SiPy melalui FTP. Atur enkripsi ke "Only use plain FTP (insecure)" dan transfer ke "passive and limit the number of active connections to 1". Host, user, dan password dapat ditemukan di Visual Studio Code melalui semua perintah dan pengaturan global. Password untuk SSID Modul SiPy adalah www.pycom.io. Setelah terhubung, buka folder flash dan hapus main.py HANYA, kemudian restart SiPy untuk mulai menjalankan atau mengunggah program.

5. Mendaftar dengan Sigfox Backend

Setelah menginstal Visual Studio Code, hubungkan papan ekspansi pycom ke komputer. Salin dan jalankan kode berikut untuk mendapatkan Device ID dan PAC Number Sigfox:

from network import Sigfox
import binascii
sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=Sigfox.RCZ*)
print(binascii.hexlify(sigfox.id()))
print(binascii.hexlify(sigfox.pac()))

Ganti * dengan Nomor Region RCZ Anda. Setelah mendapatkan ID dan PAC, daftarkan Sigfox ke Sigfox Backend. Pilih negara tempat perangkat akan digunakan, masukkan Device ID dan PAC Number, lalu buat atau masuk ke akun Sigfox. Setelah akun siap, jalankan kode berikut untuk menguji pengiriman data:

from network import Sigfox
import socket
sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=Sigfox.RCZ*)
s = socket.socket(socket.AF_SIGFOX, socket.SOCK_RAW)
s.setblocking(True)
s.setsockopt(socket.SOL_SIGFOX, socket.SO_RX, False)
s.send(bytes([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]))

Catatan: Hubungkan antena Sigfox terlebih dahulu sebelum menjalankan program Sigfox.

6. Pengaturan Cloud

Siapkan IFTTT untuk pengiriman email. Buat akun di IFTTT, lalu buat applet baru. Pilih "This" dan cari Webhooks. Pilih "Receive a web request" dan masukkan nama acara (contoh: demam). Kemudian pilih "That", cari Email, dan pilih "Send me an email". Sertakan {{Value1}} dan {{Value2}} dalam body pesan. ThingSpeak adalah platform IoT yang mudah digunakan dan open source. Buat dua channel: (SIGFOX) TEMPERATURE PRIVATE VIEWING dan (SIGFOX) TEMPERATURE PUBLIC VIEWING. Channel privat untuk menerima data dari backend Sigfox dalam bentuk bytes, kemudian dikonversi menggunakan MATLAB Analysis menjadi satu nilai dan dipindahkan ke channel publik. userID juga dipindahkan ke channel publik untuk tujuan penampilan. Skrip MATLAB dipicu melalui ThingSpeak REACT saat data baru masuk dari backend Sigfox. Konfigurasikan reaksi dengan tipe kondisi string, frekuensi pada penyisipan data, dan kondisi field 3 (userid) tidak sama dengan 0. Tindakan adalah MATLAB Analysis dengan opsi jalankan hanya pertama kali kondisi terpenuhi.

Untuk mengambil informasi Webhooks, klik logo profil di pojok kanan atas, pilih My Services, lalu Webhooks dan dokumentasi. Anda akan melihat kunci dan format untuk mengirim permintaan. Nama acara untuk proyek ini adalah "demam". Contoh URL: https://maker.ifttt.com/trigger/demam/with/key/(contoh). Uji layanan dengan menempelkan URL ke browser atau menekan tombol uji saat membuat applet.

Kontribusi

Aden - RaspberryPi + Arduino + modul-modulnya + ThingSpeak (MATLAB+ Pengaturan)

Reginald - Sigfox + ThingSpeak Pengumpulan Data + Skematik

Bo Sheng - Pengaturan IFTTT

Kode

Kode lengkap untuk Arduino Nano, RaspberryPi, SiPy, dan skrip MATLAB tersedia di bagian kode proyek asli dan dapat disesuaikan sesuai kebutuhan implementasi.

Skematik

Semua komponen terhubung bersama-sama sesuai skematik yang disediakan, termasuk koneksi sensor jarak, sensor suhu, LED, RFID, LCD, dan buzzer untuk Arduino.

Proses manufaktur

  1. Pemantauan Suhu Raspberry Pi Profesional dengan DS18B20
  2. Pemantauan Suhu Akurat di Lemari Server dengan Raspberry Pi
  3. Kontrol Suhu Homebrew DIY: Pantau & Atur dengan Arduino
  4. Sensor CO2 K30: Pemantauan Kualitas Udara Indoor dalam Waktu Nyata
  5. Smart Blinds: Kontrol Cahaya Otomatis dengan Arduino & Energi Surya
  6. Gerbang Pemantauan Suhu Tanpa Kontak untuk Saringan Cepat dan Akurat
  7. Arduino UNO & WiFi Shield: Tampilan Suhu Real-Time di Web melalui Serial
  8. Pustaka Port IO 8-bit Efisien untuk Arduino – Perluas Kontrol Digital
  9. Health Band: Asisten Wearable Cerdas Terpercaya untuk Lansia
  10. Pertanian Cerdas: Pemantauan Komprehensif Berbasis IoT untuk Pertanian Masa Depan