Daftar Isi:
- Perlengkapan
- Langkah 1: Hubungkan Sensor Air ke Partikel
- Langkah 2: Hubungkan Sumber Alarm ke Raspberry
- Langkah 3: Konfigurasikan Server Apache
- Langkah 4: Aktifkan CGI di Apache
- Langkah 5: Siapkan Halaman Web
- Langkah 6: Buat Skrip untuk Kamera Raspi
Video: Cara Membuat Sistem Alarm Deteksi Banjir Cerdas Menggunakan Raspberry Pi dan Particle Argon: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Memiliki sensor banjir standar sangat bagus untuk mencegah kerusakan besar pada rumah atau tempat kerja Anda.
Tapi itu membuat sulit jika Anda tidak di rumah untuk menghadiri alarm.
Tentu saja Anda bisa membeli yang pintar itu
Sistem alarm banjir ini mendeteksi cairan apa pun dan memicu alarm dan memperbarui halaman web tentang banjir yang dapat diakses di mana saja di dunia, apakah Anda sedang berlibur atau hanya bekerja dan Anda ingin tahu tentang status rumah Anda.
Perlengkapan
Raspberry pi (saya menggunakan model 3 B+) menjalankan raspbian
Partikel Argon
Sensor Air Grove
Kamera Rasp
Bel
Kabel jumper
Langkah 1: Hubungkan Sensor Air ke Partikel
sensor air memiliki 4 pin, yaitu GND, VCC, NC dan SIG dan kami hanya akan menggunakan tiga dari mereka
Saya menghubungkan pin SIG ke D2 di Argon.
Sekarang, Anda dapat meluncurkan Particle Web IDE untuk menulis kode dan mem-flash ke Argon
Jadi kita telah mendaftarkan Particle function liquid dan mendefinisikan variabel isFloodPresent, yang dapat dipanggil dari Particle Console dan mendapatkan nilai boolean dari isFloodPresent dan juga memanggil function liquid untuk pengujian tiruan yang mengambil nilai 1 sebagai input yang berarti benar untuk keberadaan banjir (air).
pastikan Anda dapat melihat fungsi dan variabel itu dari Konsol Partikel Perangkat Partikel Anda.
Langkah 2: Hubungkan Sumber Alarm ke Raspberry
Di papan tempat memotong roti, Anda dapat menghubungkan Buzzer ke pin GPIO Raspberry
Saya telah menghubungkan ujung buzzer yang lebih kecil ke GND(PIN 6) dan ujung yang lebih panjang ke pin 7 pada raspberry.
Sekarang jalankan kode untuk melihat. Kami akan membutuhkan file python ini berjalan sepanjang waktu sehingga dapat menerima pemicu dari server web dan meresponsnya.
Atau Anda dapat menjalankan file ini saat startup di raspberry Anda yang dapat Anda lakukan dengan mengedit /etc/systemd
dan file ini akan ditempatkan di folder cgi server apache Anda, Saya telah membuat direktori baru flood-cgi di dalam /var/www/html/ dan menempatkan file.py ini yang akan berkomunikasi dengan skrip cgi saya
Langkah 3: Konfigurasikan Server Apache
Anda dapat menginstal server apache dengan mengetik sudo apt-get install apache2
ketika diinstal, Anda dapat memverifikasi dengan mengetik hostname -I
dan Anda akan mendapatkan alamat IP lokal Anda dan Anda dapat menuju ke browser Anda dan akan melihat server berjalan
Langkah 4: Aktifkan CGI di Apache
Anda dapat mengaktifkan cgi dengan mengetik sudo a2enmod cgi
Secara default cgi_bin dari Apache terletak di /usr/lib/cgi-bin
di sinilah Anda dapat meletakkan skrip cgi Anda setelah mengaktifkan cgi
untuk mengambil efeknya, Anda perlu me-restart server Apache
Saya ingin direktori khusus untuk skrip cgi saya, jadi saya membuat direktori di /var/www/html/ disebut flood-cgi
untuk mengaktifkan direktori ini saya harus membuat file conf dengan mengetik
sudo nano /etc/Apache2/conf-available/flood-cgi.conf
dan menambahkan perintah seperti yang ditunjukkan pada tangkapan layar
lalu aktifkan direktori ini dengan mengetik
var/www/html $ sudo a2enconf flood-cgi
sekarang Anda dapat me-restart server apache Anda lagi dan semua cgi dari folder ini akan dapat dibaca oleh apache setelah izin.
Langkah 5: Siapkan Halaman Web
Untuk web service sederhana ini, saya menggunakan HTML, Javascript, CSS, jquery dan ajax.
Saya memiliki lima label kontrol yang dapat diklik, Jika mengambil foto diklik dari halaman web, itu akan memicu fungsi klik tombol foto dan fungsi ini terlihat seperti ini
$("#photobutton").click(function() { var floodDate = new Date();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString();
$.ajax({
url: 'flood-cgi/flood_cgi.py', metode: 'posting', data: { name_for_image: floodImageName }, sukses: fungsi (data) {
waspada (data, status)
$("#recentpic").attr("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
ini akan memanggil skrip flood_cgi.py untuk mengambil foto dan menyimpan gambar dengan nama khusus yang dihasilkan oleh tanggal dan waktu saat ini dan ajax memuat hingga halaman.
jika terjadi Alarm, kita dapat menggunakan fungsi ini
fungsi panggilanAlarm(Tipe alarm) {
$.ajax({
url: 'flood-cgi/alarm.cgi', metode: 'posting', data: { alarm_type: alarmType }, sukses: fungsi (data) { alert(data)
}, kesalahan: fungsi (XMLHttpRequest, textStatus, throwError) { alert(throwError) } });
}
fungsi callAlarm akan dipanggil ketika label buzzer diklik, $("#buzzer").click(function() { callAlarm("test");
})
kode di bawah ini adalah ketika Anda ingin mengklik tiruan banjir yaitu memanggil API Partikel dan memanggil fungsi dan mengubah nilai cair 1 dan memeriksa sistem apakah keseluruhan berfungsi seperti yang diharapkan dengan melakukan acara banjir tiruan
$("#mockFlood").click(function() { console.log("mock flood telah meminta");
var floodVal = 1;
$("#signal2").css("ukuran font", "kecil");
var varName = "isFloodPresent";
var deviceID = "ID PERANGKAT ANDA";
var accessToken = "TOKEN AKSES ANDA";
if (nilai banjir) {
$.post("https://api.particle.io/v1/devices/" + deviceID + "/liquid?access_token=" + accessToken, { cair: FloodVal }, fungsi (data, status) {
if (status == "berhasil") {
alert("Banjir tiruan telah terjadi!!!");
} lain {
alert("Maaf, ada masalah");
}
});
}
});
Ini adalah fungsi utama yang Anda perlukan untuk membuat koneksi dengan Particle Api dan raspberry Anda sehingga raspberry pi dan perangkat partikel Argon Anda dapat berkomunikasi.
catatan: Saya ingin mengunggah semua kode, tetapi tidak mengizinkan saya mengunggah file.html
Langkah 6: Buat Skrip untuk Kamera Raspi
kami membuat.py sederhana untuk mengambil gambar dan itu akan memiliki anotasi tanggal dan waktu saat ini di atasnya.
kemudian kita akan membuat script cgi flood_cgi.py sehingga akan dipanggil dari web dan ini akan memerintahkan file.py untuk mengambil foto.
pastikan untuk memulai skrip cgi dengan #! /usr/bin/env python
dan juga memberikan izin apache untuk menjalankan file-file ini.
server apache berjalan pada www-data pengguna jadi setelah kami membuat file.py atau.cgi, Apache harus menjadi pemilik file
sudo chown pi:www-data flood-cgi.py
dan beri izin untuk mengeksekusi
sudo chmod a+x flood-cgi.py
Anda harus melakukan ini untuk semua file yang perlu dijalankan dari server Apache.
CATATAN: mengekspos raspberry Anda ke internet dan memberikan semua izin ini membuat raspberry Anda sangat rentan karena alasan keamanan sehingga pengguna dan izin yang ketat harus diikuti dan menginstal firewall seperti firewall yang tidak rumit (ufw)
Direkomendasikan:
Cara Membuat Bel Pintu Non Sentuh, Deteksi Suhu Tubuh, GY-906, 433MHz Menggunakan Arduino: 3 Langkah
Cara Membuat Bel Pintu Non-Touch, Deteksi Suhu Tubuh, GY-906, 433MHz Menggunakan Arduino : Hari ini kita akan membuat Bel Pintu Non-touch yang akan mendeteksi suhu tubuh anda. Dalam situasi sekarang, Sangat penting untuk mengetahui apakah suhu tubuh seseorang lebih tinggi dari biasanya, ketika seseorang kocking. Proyek ini akan menunjukkan lampu merah jika mendeteksi
Jam Alarm Cerdas: Jam Alarm Cerdas Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Alarm Cerdas: Jam Alarm Cerdas yang Dibuat Dengan Raspberry Pi: Pernahkah Anda menginginkan jam pintar? Jika iya, ini solusinya untuk Anda! Saya membuat Smart Alarm Clock, ini adalah jam yang bisa Anda ubah waktu alarmnya sesuai dengan website. Saat alarm berbunyi, akan ada suara (buzzer) dan 2 lampu akan
Berkebun Cerdas Berbasis IoT dan Pertanian Cerdas Menggunakan ESP32: 7 Langkah
Berkebun Cerdas dan Pertanian Cerdas Berbasis IoT Menggunakan ESP32: Dunia berubah seiring waktu dan pertanian. Saat ini, Orang mengintegrasikan elektronik di setiap bidang dan pertanian tidak terkecuali untuk ini. Penggabungan elektronik dalam pertanian ini membantu petani dan orang-orang yang mengelola kebun.Dalam hal ini
Tutorial: Cara Membuat Alarm Pintu dengan Menggunakan MC-18 Magnetic Switch Sensor Alarm: 3 Langkah
Tutorial: Cara Membuat Alarm Pintu dengan Menggunakan MC-18 Magnetic Switch Sensor Alarm: Hai guys, saya akan membuat tutorial tentang MC-18 Magnetic Switch Sensor Alarm yang beroperasi dalam mode normal close. Tapi pertama-tama, izinkan saya menjelaskan kepada Anda singkatnya apa yang dimaksud dengan biasanya dekat. Ada dua jenis mode, biasanya terbuka dan biasanya tertutup
Musik Cerdas di Kamar Tidur dan Kamar Mandi Dengan Raspberry Pi – Mengintegrasikan Multiroom, Alarm, Kontrol Tombol, dan Otomatisasi Rumah: 7 Langkah
Musik Cerdas di Kamar Tidur dan Kamar Mandi Dengan Raspberry Pi – Mengintegrasikan Multiroom, Alarm, Kontrol Tombol, dan Otomatisasi Rumah: Hari ini kami ingin memberi Anda dua contoh tentang bagaimana Anda dapat menggunakan Raspberry Pi dengan perangkat lunak Max2Play kami untuk otomatisasi rumah: di kamar mandi dan kamar tidur . Kedua proyek serupa dalam hal musik dengan ketelitian tinggi dari berbagai sumber dapat dialirkan melalui