İçindekiler:
- Gereçler
- Adım 1: Su Sensörünü Parçacıklara Bağlayın
- Adım 2: Alarm Kaynağını Raspberry'ye Bağlayın
- 3. Adım: Apache Sunucusunu Yapılandırın
- Adım 4: Apache'de CGI'yı etkinleştirin
- Adım 5: Web Sayfasını Ayarlayın
- Adım 6: Raspi Kamera için Komut Dosyası Oluşturun
Video: Raspberry Pi ve Parçacık Argon Kullanarak Akıllı Taşkın Algılama Alarm Sistemi Nasıl Yapılır: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Standart sel sensörlerine sahip olmak, evinize veya iş yerinize büyük zarar gelmesini önlemek için harikadır.
Ama alarma katılmak için evde değilseniz, bu zorlaştırır.
Tabii ki akıllı olanları satın alabilirsin
Bu taşkın alarm sistemi, herhangi bir sıvıyı algılar ve alarmı tetikler ve dünyanın her yerinden erişilebilen, ister tatilde ister iş yerinde, evinizin durumunu öğrenmek istediğinizde sel ile ilgili web sayfasını günceller.
Gereçler
Raspbian çalıştıran Raspberry pi (model 3 B+ kullanıyorum)
Parçacık Argon
Koru Su Sensörü
Raspi Kamera
zil
Atlama telleri
Adım 1: Su Sensörünü Parçacıklara Bağlayın
su sensörünün GND, VCC, NC ve SIG olmak üzere 4 pini vardır ve bunlardan sadece üçünü kullanacağız.
SIG pinini Argon'da D2'ye bağlıyorum.
Şimdi, kodu yazmak ve Argon'a flash yapmak için Particle Web IDE'yi başlatabilirsiniz.
Bu nedenle, Particle function Liquid'i kaydettik ve Particle Console'dan çağrılabilen ve isFloodPresent'in boole değerini elde edebilen bir değişken isFloodPresent tanımladık ve ayrıca giriş olarak 1 değerini alan, yani mevcut sel (su) için doğru anlamına gelen sahte test için sıvı işlevini çağırdık..
Parçacık Cihazınızın Parçacık Konsolundan bu işlevi ve değişkeni görebildiğinizden emin olun.
Adım 2: Alarm Kaynağını Raspberry'ye Bağlayın
Breadboard'da Buzzer'ı Raspberry'nin GPIO pinine bağlayabilirsiniz.
Buzzer'ın daha küçük ucunu GND'ye (PIN 6) ve daha uzun ucunu ahudududaki pim 7'ye bağladım.
Şimdi görmek için kodu çalıştırın. Web sunucusundan tetikleyicileri alabilmesi ve buna göre yanıt verebilmesi için bu python dosyasının her zaman çalışıyor olmasına ihtiyacımız olacak.
Alternatif olarak, /etc/systemd dosyasını düzenleyerek yapabileceğiniz ahududunuzda başlangıçta bu dosyayı çalıştırabilirsiniz.
ve bu dosya apache sunucunuzun cgi klasörüne yerleştirilecektir, /var/www/html/ içinde yeni bir flood-cgi dizini oluşturdum ve cgi betiğim ile iletişim kuracak bu.py dosyasını yerleştirdim
3. Adım: Apache Sunucusunu Yapılandırın
apache sunucusunu sudo apt-get install apache2 yazarak kurabilirsiniz.
kurulduğunda, hostname -I yazarak doğrulayabilirsiniz.
ve yerel IP adresinizi alacaksınız ve tarayıcınıza gidebilir ve sunucunun çalıştığını görmelisiniz.
Adım 4: Apache'de CGI'yı etkinleştirin
sudo a2enmod cgi yazarak cgi'yi etkinleştirebilirsiniz
Varsayılan olarak apache'nin cgi_bin'i /usr/lib/cgi-bin içinde bulunur
burası, cgi'yi etkinleştirdikten sonra cgi betiklerinizi koyabileceğiniz yerdir.
efekti almak için apache sunucusunu yeniden başlatmanız gerekir
Cgi betiklerim için özel bir dizin istedim, bu yüzden /var/www/html/ içinde flood-cgi adında bir dizin oluşturdum
bu dizini etkinleştirmek için yazarak conf dosyası yapmak zorunda kaldım
sudo nano /etc/apache2/conf-available/flood-cgi.conf
ve ekran görüntüsünde gösterildiği gibi komut ekleme
daha sonra yazarak bu dizini etkinleştirin
var/www/html $ sudo a2enconf flood-cgi
şimdi apache sunucunuzu yeniden başlatabilirsiniz ve bu klasördeki tüm cgi'ler izin alındıktan sonra apache tarafından okunabilir.
Adım 5: Web Sayfasını Ayarlayın
Bu basit web hizmeti için HTML, Javascript, CSS, jquery ve ajax kullanıyorum.
Tıklanabilir beş kontrol etiketim var, Web sayfasından fotoğraf çek tıklandığında fotoğraf buton tıklama fonksiyonunu tetikleyecek ve bu fonksiyon şu şekilde görünecektir.
$("#photobutton").click(function () { var floodDate = new Date();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString();
$.ajax({
url: 'flood-cgi/flood_cgi.py', yöntem: 'gönder', veri: { name_for_image: floodImageName }, başarı: işlev (veri) {
uyarı(veri, durum)
$("#recentpic").attr("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
bu, fotoğraf çekmek için flood_cgi.py komut dosyasını çağırır ve resmi geçerli tarih ve saat tarafından oluşturulan özel adla kaydeder ve sayfaya ajax yüklenir.
Alarm durumunda bu fonksiyonu kullanabiliriz.
function callAlarm(alarmType) {
$.ajax({
url: 'sel-cgi/alarm.cgi', yöntem: 'gönder', veri: { alarm_type: alarmType }, başarı: işlev (veri) { uyarı (veri)
}, hata: function (XMLHttpRequest, textStatus, throwError) { alert(throwError) } });
}
Buzzer etiketine tıklandığında callAlarm fonksiyonu çağrılır, $("#buzzer").click(function () { callAlarm("test");
})
aşağıdaki kod, sahte sel'e tıklamak, yani Parçacık API'sini çağırmak ve işlevi çağırmak ve sıvı değerini 1 değiştirmek ve sahte bir sel olayı gerçekleştirerek sistemin tamamının beklendiği gibi çalışıp çalışmadığını kontrol etmek istediğiniz zamandır.
$("#mockFlood").click(function () { console.log("sahte sel istedi");
var selVal = 1;
$("#signal2").css("yazı tipi boyutu", "küçük");
var varName = "isFloodPresent";
var deviceID = "CİHAZ KİMLİĞİNİZ";
var accessToken = "ERİŞİM TOKENİNİZ";
if (floodVal) {
$.post("https://api.particle.io/v1/devices/" + deviceID + "/liquid?access_token=" + accessToken, { sıvı: floodVal }, işlev (veri, durum) {
if (durum == "başarılı") {
alert("Mock Flood yapıldı!!!");
} Başka {
alert("Üzgünüz, bir sorun oluştu");
}
});
}
});
Bunlar, ahududu pi ve parçacık aygıtınız Argon'un iletişim kurabilmesi için Particle Api ve ahududunuzla bağlantı kurmanız gereken ana işlevlerdir.
not: Tüm kodu yüklemek istedim, ancak.html dosyasını yüklememe izin vermiyor
Adım 6: Raspi Kamera için Komut Dosyası Oluşturun
görüntü yakalamak için basit.py oluşturuyoruz ve bu, üzerinde geçerli tarih ve saatin ek açıklamasına sahip olacak.
sonra cgi betiği flood_cgi.py oluşturacağız, böylece web'den çağrılacak ve bu.py dosyasına fotoğraf çekme komutu verecek.
cgi betiğini # ile başlattığınızdan emin olun! /usr/bin/env piton
ve ayrıca bu dosyaları çalıştırmak için apache'ye izin verin.
apache sunucusu www-data kullanıcısı üzerinde çalışır, bu nedenle.py veya.cgi dosyasını oluşturduğumuzda, apache'nin dosyanın sahibi olması gerekir
sudo chown pi: www-data flood-cgi.py
ve yürütme izni verin
sudo chmod a+x flood-cgi.py
apache sunucusundan çalıştırılması gereken tüm dosyalar için bunu yapmanız gerekecek.
NOT: Ahududunuzu internete maruz bırakmak ve tüm bu izinleri vermek, ahududunuzu güvenlik nedeniyle çok savunmasız hale getirir, bu nedenle katı kullanıcı ve izinlere uyulmalı ve karmaşık olmayan güvenlik duvarı (ufw) gibi güvenlik duvarı kurulmalıdır.
Önerilen:
Kendin Yap -- Arduino Uno Kullanarak Akıllı Telefonla Kontrol Edilebilen Örümcek Robot Nasıl Yapılır: 6 Adım
Kendin Yap || Arduino Uno Kullanarak Akıllı Telefonla Kontrol Edilebilen Örümcek Robot Nasıl Yapılır: Örümcek robotu yaparken robotik hakkında pek çok şey öğrenilebilir. Robot yapmak gibi eğlenceli olduğu kadar zordur. Bu videomuzda sizlere akıllı telefonumuzu kullanarak çalıştırabileceğimiz Örümcek robotu (Androi
Arduino Kullanarak Dokunmatik Olmayan Kapı Zili, Vücut Isısı Algılama, GY-906, 433MHz Nasıl Yapılır: 3 Adım
Arduino Kullanarak Dokunmatik Olmayan Kapı Zili Nasıl Yapılır, Vücut Sıcaklığı Algılama, GY-906, 433MHz: Bugün Dokunmatik olmayan bir kapı zili yapacağız, vücut sıcaklığınızı algılayacak. Şu anki durumda, birinin vücut ısısının normalden yüksek olup olmadığını, birisinin koktuğunu bilmek çok önemlidir. Bu proje, herhangi bir tespit ederse Kırmızı ışık gösterecektir
Arduino Kontrol Röle Modülünü Kullanarak Akıllı Ev Nasıl Yapılır - Ev Otomasyonu Fikirleri: 15 Adım (Resimlerle)
Arduino Kontrol Röle Modülünü Kullanarak Akıllı Ev Nasıl Yapılır | Ev Otomasyonu Fikirleri: Bu ev otomasyonu projemizde 5 adet ev aletini kontrol edebilen akıllı ev röle modülü tasarlayacağız. Bu röle modülü Mobil veya akıllı telefondan, IR uzaktan kumandadan veya TV uzaktan kumandasından, Manuel anahtardan kontrol edilebilir. Bu akıllı röle ayrıca r'yi algılayabilir
SONOFF Akıllı Anahtarlarla Akıllı Stor Perdeler Nasıl Kendin Yapılır?: 14 Adım
SONOFF Akıllı Anahtarlarla Akıllı Stor Perde Kendin Yap Nasıl Yapılır?: Sıradan stor perdelerinizi/panjurlarınızı akıllı hale getirmek için SONOFF akıllı anahtarlarında Kilitleme Modundan yararlanın Çoğunuz bunun sabahları storları/panjurları çekmenizin bir angarya olduğunu kabul edecek mi? ve akşam aşağı çekmek? Her neyse, ben
Arduino Kullanarak Akıllı Robot Nasıl Yapılır: 4 Adım
Arduino Kullanarak Akıllı Robot Nasıl Yapılır: merhaba, ben arduino üreticisiyim ve bu derste size arduino kullanarak nasıl akıllı robot yapılacağını göstereceğim, eğer eğitimimi beğendiyseniz, arduino yapımcısı adlı youtube kanalımı desteklemeyi düşünün