Isi kandungan:
- Bekalan
- Langkah 1: Sambungkan Sensor Air ke Zarah
- Langkah 2: Sambungkan Sumber Penggera ke Raspberry
- Langkah 3: Konfigurasikan Pelayan Apache
- Langkah 4: Aktifkan CGI di Apache
- Langkah 5: Sediakan Laman Web
- Langkah 6: Buat Skrip untuk Kamera Raspi
Video: Cara Membuat Sistem Penggera Pengesanan Banjir Pintar Menggunakan Raspberry Pi dan Particle Argon: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Mempunyai sensor banjir standard sangat bagus untuk mencegah kerosakan besar di rumah atau tempat kerja anda.
Tetapi menyukarkan jika anda tidak berada di rumah untuk menghadiri penggera.
Sudah tentu anda boleh membeli yang pintar
Sistem penggera banjir ini mengesan sebarang cecair dan mencetuskan penggera dan mengemas kini laman web mengenai banjir yang boleh diakses di mana sahaja di dunia, sama ada anda sedang bersantai atau hanya di tempat kerja dan anda ingin mengetahui mengenai status rumah anda.
Bekalan
Raspberry pi (saya menggunakan model 3 B +) menjalankan raspbian
Argon Zarah
Sensor Air Grove
Kamera Raspi
Buzzer
Wayar pelompat
Langkah 1: Sambungkan Sensor Air ke Zarah
sensor air mempunyai 4 pin, iaitu GND, VCC, NC dan SIG dan kami hanya akan menggunakan tiga daripadanya
Saya menyambungkan pin SIG ke D2 di Argon.
Sekarang, anda boleh melancarkan IDE Partikel Web untuk menulis kod dan mem-flash ke Argon
Oleh itu, kami telah mendaftarkan cecair fungsi Partikel dan menentukan pemboleh ubahnya adalahFloodPresent, yang boleh dipanggil dari Particle Console dan memperoleh nilai boolean isFloodPresent dan juga memanggil fungsi cecair untuk ujian tiruan yang mengambil nilai 1 sebagai input yang bermaksud benar untuk banjir (air) yang ada.
pastikan anda dapat melihat fungsi dan pemboleh ubah tersebut dari Particle Console dari Particle Device anda.
Langkah 2: Sambungkan Sumber Penggera ke Raspberry
Di papan roti anda boleh menyambungkan Buzzer ke pin GPIO Raspberry
Saya telah menghubungkan hujung buzzer yang lebih kecil ke GND (PIN 6) dan hujung yang lebih panjang ke pin 7 pada raspberry.
Sekarang jalankan kod untuk melihat. Kami memerlukan fail python ini berjalan sepanjang masa sehingga dapat menerima pencetus dari pelayan web dan bertindak balas dengan sewajarnya.
Sebagai alternatif anda boleh menjalankan fail ini pada permulaan pada raspberry anda yang boleh anda lakukan dengan menyunting / etc / systemd
dan fail ini akan diletakkan di folder cgi pelayan apache anda, Saya telah membuat direktori baru banjir-cgi di dalam / var / www / html / dan meletakkan fail.py ini yang akan berkomunikasi dengan skrip cgi saya
Langkah 3: Konfigurasikan Pelayan Apache
anda boleh memasang pelayan apache dengan menaip sudo apt-get install apache2
apabila dipasang, anda boleh mengesahkan dengan menaip nama host -I
dan anda akan mendapat alamat IP tempatan anda dan anda boleh menuju ke penyemak imbas anda dan sepatutnya melihat pelayan berjalan
Langkah 4: Aktifkan CGI di Apache
anda boleh mengaktifkan cgi dengan menaip sudo a2enmod cgi
Secara lalai cgi_bin apache terletak di / usr / lib / cgi-bin
di sinilah anda boleh meletakkan skrip cgi anda setelah mengaktifkan cgi
untuk mengambil kesannya, anda perlu memulakan semula pelayan apache
Saya mahukan direktori tersuai untuk skrip cgi saya jadi saya membuat direktori di / var / www / html / dipanggil flood-cgi
untuk mengaktifkan direktori ini saya terpaksa membuat fail conf dengan menaip
sudo nano /etc/apache2/conf-available/flood-cgi.conf
dan menambahkan arahan seperti yang ditunjukkan dalam tangkapan skrin
kemudian aktifkan direktori ini dengan menaip
var / www / html $ sudo a2enconf banjir-cgi
sekarang anda boleh menghidupkan semula pelayan apache anda dan semua cgi dari folder ini akan dapat dibaca oleh apache setelah mendapat kebenaran.
Langkah 5: Sediakan Laman Web
Untuk perkhidmatan web sederhana ini, saya menggunakan HTML, Javascript, CSS, jquery dan ajax.
Saya mempunyai lima label kawalan yang boleh diklik, Sekiranya mengambil gambar diklik dari laman web, ia akan memicu fungsi klik butang foto dan fungsi ini terlihat seperti ini
$ ("# photobutton"). klik (fungsi () {var floodDate = Tarikh baru ();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
url: 'banjir-cgi / banjir_cgi.py', kaedah: 'post', data: {name_for_image: floodImageName}, kejayaan: fungsi (data) {
amaran (data, status)
$ ("# currentpic"). attr ("src", "flood-cgi /" + floodImageName + ".jpg");
}
})
});
ini akan memanggil skrip flood_cgi.py untuk mengambil gambar dan menyimpan gambar dengan nama tersuai yang dihasilkan oleh tarikh dan masa semasa dan ajax dimuat hingga ke halaman.
sekiranya berlaku Penggera, kita boleh menggunakan fungsi ini
fungsi callAlarm (alarmType) {
$.ajax ({
url: 'banjir-cgi / alarm.cgi', kaedah: 'post', data: {alarm_type: alarmType}, kejayaan: fungsi (data) {alert (data)
}, ralat: fungsi (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
fungsi callAlarm akan dipanggil apabila label buzzer diklik, $ ("# buzzer"). klik (function () {callAlarm ("test");
})
kod di bawah adalah ketika anda ingin mengklik mock mock iaitu memanggil Particle API dan memanggil fungsi dan menukar nilai cecair 1 dan periksa sistem jika keseluruhan berfungsi seperti yang diharapkan dengan melakukan peristiwa banjir palsu
$ ("# mockFlood"). klik (function () {console.log ("mock mock telah diminta");
var floodVal = 1;
$ ("# signal2"). css ("font-size", "small");
var varName = "isFloodPresent";
var deviceID = "ID PERANTI ANDA";
var accessToken = "TOKEN AKSES ANDA";
jika (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/ liquid? access_token =" + accessToken, {cecair: banjirVal}, fungsi (data, status) {
jika (status == "kejayaan") {
amaran ("Mock Flood telah dilakukan !!!");
} lain {
amaran ("Maaf, ada masalah");
}
});
}
});
Ini adalah fungsi utama yang anda perlukan untuk membuat hubungan dengan Particle Api dan raspberry anda supaya raspberry pi dan peranti zarah anda Argon dapat berkomunikasi.
nota: Saya mahu memuat naik semua kod, tetapi tidak membenarkan saya memuat naik fail.html
Langkah 6: Buat Skrip untuk Kamera Raspi
kami membuat.py mudah untuk menangkap gambar dan yang akan mempunyai penjelasan tarikh dan masa semasa di atasnya.
maka kita akan membuat script cgi flood_cgi.py sehingga akan dipanggil dari web dan ini akan memerintahkan fail.py untuk mengambil gambar.
pastikan memulakan skrip cgi dengan #! / usr / bin / env python
dan juga memberikan kebenaran apache untuk menjalankan fail-fail ini.
pelayan apache berjalan pada data www pengguna jadi setelah kami membuat fail.py atau.cgi, apache perlu menjadi pemilik fail tersebut
sudo chown pi: www-data banjir-cgi.py
dan memberi kebenaran untuk melaksanakan
sudo chmod a + x banjir-cgi.py
anda perlu melakukan ini untuk semua fail yang perlu dijalankan dari pelayan apache.
CATATAN: mengekspos raspberry anda ke internet dan memberikan semua kebenaran ini menjadikan raspberry anda sangat terdedah kerana alasan keselamatan sehingga pengguna dan kebenaran yang ketat harus diikuti dan memasang firewall seperti firewall yang tidak rumit (ufw)
Disyorkan:
Sistem Penggera SMS Pengesanan Gerak DIY: 5 Langkah (dengan Gambar)
Sistem Penggera SMS Pengesanan Gerak DIY: Dalam projek ini saya akan menggabungkan sensor gerak PIR yang murah dengan modul GSM TC35 untuk membina sistem penggera yang akan menghantar anda " ALAT PEMASANG " SMS setiap kali seseorang cuba mencuri barang anda. Mari kita mulakan
Pengesanan Ralat Heatpump dan Penggera ESP8266, Openhab, Telegram, MQTT Bertenaga Bateri: 5 Langkah
Pengesanan Ralat Heatpump dan Penggera ESP8266, Openhab, Telegram, MQTT Bertenaga Bateri: Heatpump saya untuk pemanasan rumah dan air saya sekarang dan kemudian mendapat ralat. Kesalahan ini tidak dapat dilihat dengan mudah, kerana tidak ada lampu merah atau sesuatu, hanya 'P' kecil pada skrin LCD kecil. Oleh itu, saya membuat pengesan ini untuk mengesan kesalahan dan
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: Adakah anda pernah mahukan jam pintar? Jika ya, ini adalah penyelesaian untuk anda! Saya membuat Jam Penggera Pintar, ini adalah jam yang boleh anda ubah waktu penggera mengikut laman web. Apabila penggera berbunyi, akan ada bunyi (bel) dan 2 lampu akan
Sistem Penggera Pengesanan Gerak: 11 Langkah (dengan Gambar)
Sistem Penggera Pengesanan Gerak: Perhatikan! Blok Reaktif tidak lagi tersedia untuk dimuat turun. Kamera USB asas boleh digunakan untuk mengesan pergerakan di dalam bilik. Pada langkah-langkah berikut, kami akan menunjukkan kepada anda bagaimana Anda dapat menggunakan Blok Reaktif untuk memprogram aplikasi Java yang siap dijalankan yang mengirim SMS
Tutorial: Cara Membuat Penggera Pintu dengan Menggunakan Penggera Sensor Suis Magnetik MC-18: 3 Langkah
Tutorial: Cara Membuat Penggera Pintu dengan Menggunakan Penggera Sensor Suis Magnetik MC-18: Hai kawan-kawan, saya akan membuat tutorial mengenai Penggera Sensor Suis Magnetik MC-18 yang beroperasi dalam mod tutup biasanya. Tetapi pertama, izinkan saya menerangkan kepada anda secara ringkas apa yang dimaksudkan dengan tutup biasanya. Terdapat dua jenis mod, biasanya terbuka dan biasanya ditutup