Mündəricat:
- Təchizat
- Addım 1: Su Sensorunu Partikula bağlayın
- Addım 2: Siqnal mənbəyini Moruqla birləşdirin
- Addım 3: Apache Serveri konfiqurasiya edin
- Addım 4: Apache -də CGI -ni aktivləşdirin
- Addım 5: İnternet səhifəsini qurun
- Addım 6: Raspi Camera üçün Script yaradın
Video: Raspberry Pi və Argon Particle istifadə edərək Ağıllı Daşqın Alarm Sistemini Necə Etmək olar: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Standart daşqın sensorlarının olması evinizə və ya iş yerinizə böyük ziyan vurmamaq üçün əladır.
Ancaq evdə olmadıqda həyəcan siqnalı verməyi çətinləşdirir.
Əlbəttə ki, bu ağıllıları satın ala bilərsiniz
Bu daşqın siqnalizasiya sistemi hər hansı bir mayeni aşkar edir və həyəcan siqnalı verir və dünyanın hər yerində əldə edilə bilən daşqınla bağlı veb səhifəni yeniləyir, istər istirahət etmək istər istirahət, istərsə də iş yerində və evinizin vəziyyəti haqqında bilmək istəyirsiniz.
Təchizat
Raspberry pi (mən 3 B+modelindən istifadə edirəm) raspbian işləyir
Hissəcik Argon
Grove Su Sensoru
Raspi Kamera
Buzzer
Jumper telləri
Addım 1: Su Sensorunu Partikula bağlayın
su sensoru GND, VCC, NC və SIG olan 4 sancağa malikdir və onlardan yalnız üçünü istifadə edəcəyik
SIG pinini Argonda D2 -yə bağlayıram.
İndi, Argon -a kodu yazmaq və flash etmək üçün Particle Web IDE -ni işə sala bilərsiniz
Beləliklə, biz hissəcik funksiyası mayesini qeydiyyatdan keçirdik və PartFile Console -dan çağırıla bilən və isFloodPresent -in boole dəyərini əldə edə biləcəyimiz isFloodPresent dəyişənini təyin etdik və eyni zamanda daşqın (su) üçün doğru olan 1 mənasını daxil edən saxta test üçün funksiya mayesini çağırırıq..
Partikül Cihazınızın Particle Console -dan bu funksiyanı və dəyişəni görə bildiyinizə əmin olun.
Addım 2: Siqnal mənbəyini Moruqla birləşdirin
Çörək taxtasında Buzzer -i Raspberry -nin GPIO pininə qoşa bilərsiniz
Zilin daha kiçik ucunu GND -ə (PIN 6) və daha uzun ucunu moruqda 7 -ci pinlə bağladım.
İndi görmək üçün kodu işlədin. Bu python faylının hər zaman işləyəcəyinə ehtiyacımız olacaq ki, tetikleyiciləri veb serverdən alsın və buna uyğun olaraq cavab versin.
Alternativ olaraq, bu faylı /etc /systemd redaktə etməklə edə biləcəyiniz moruqda işə sala bilərsiniz
və bu fayl apache serverinizin cgi qovluğuna yerləşdiriləcək, /Var/www/html/daxilində yeni bir daşqın cgi qovluğu yaratdım və cgi skriptimlə əlaqə quracaq bu.py faylını yerləşdirdim
Addım 3: Apache Serveri konfiqurasiya edin
sudo apt-get install apache2 yazaraq apache server qura bilərsiniz
quraşdırıldıqda, hostname -I yazaraq yoxlaya bilərsiniz
və yerli IP ünvanınızı alacaqsınız və brauzerinizə gedə bilərsiniz və serverin işlədiyini görməlisiniz
Addım 4: Apache -də CGI -ni aktivləşdirin
sudo a2enmod cgi yazaraq cgi -ni aktivləşdirə bilərsiniz
Varsayılan olaraq apache-nin cgi_bin/usr/lib/cgi-bin-də yerləşir
cgi -ni aktiv etdikdən sonra cgi skriptlərinizi bura yerləşdirə bilərsiniz
təsir etmək üçün apache serverini yenidən başlatmalısınız
Cgi skriptlərim üçün xüsusi bir kataloq istədim, buna görə/var/www/html/-də daşqın-cgi adlı bir kataloq yaratdım
Bu qovluğu aktiv etmək üçün yazaraq conf faylını hazırlamalı oldum
sudo nano /etc/apache2/conf-available/flood-cgi.conf
və ekran görüntüsündə göstərildiyi kimi əmrlər əlavə edin
sonra yazaraq bu qovluğu aktiv edin
var/www/html $ sudo a2enconf sel-cgi
indi apache serverinizi yenidən başlata bilərsiniz və bu qovluqdakı bütün cgi icazədən sonra apache tərəfindən oxunacaq.
Addım 5: İnternet səhifəsini qurun
Bu sadə veb xidməti üçün HTML, Javascript, CSS, jquery və ajax istifadə edirəm.
Tıklana bilən beş nəzarət etiketim var, Veb səhifədən fotoşəkil çəkildikdə, fotoşəkil düyməsini vurma funksiyasını işə salacaq və bu funksiya belə görünür
$ ("#photobutton"). klikləyin (function () {var FloodDate = yeni Tarix ();
var FloodImageName = "Flood_IMG_" + FloodDate.toLocaleTimeString ();
$.ajax ({
url: 'sel-cgi/sel_cgi.py', üsul: 'post', məlumatlar: {name_for_image: FloodImageName}, uğur: funksiya (data) {
xəbərdarlıq (məlumat, status)
$ ("#latestpic"). attr ("src", "sel-cgi/" + FloodImageName + ".jpg");
}
})
});
bu, şəkil çəkmək üçün Flood_cgi.py skriptini çağıracaq və səhifəyə qədər cari tarix və vaxt və ajax yükləmələri ilə yaradılan xüsusi adla şəkil saxlayacaq.
siqnalizasiya vəziyyətində bu funksiyadan istifadə edə bilərik
funksiyası callAlarm (alarmType) {
$.ajax ({
url: 'sel-cgi/alarm.cgi', üsul: 'post', məlumatlar: {alarm_type: alarmType}, müvəffəqiyyət: funksiya (data) {xəbərdarlıq (məlumat)
}, səhv: funksiya (XMLHttpRequest, textStatus, throwError) {xəbərdarlıq (throwError)}});
}
zəng siqnalı tıklandığında callAlarm funksiyası çağırılacaq, $ ("#buzzer"). basın (function () {callAlarm ("test");
})
Aşağıdakı kod, istehza daşqınını vurmaq istədiyiniz zaman, yəni Particle API -ni çağırmaq və funksiyanı çağırmaq və maye dəyərini 1 dəyişdirmək və sistemin saxta daşqın hadisəsi keçirərək gözlənildiyi kimi işlədiyini yoxlamaqdır.
$ ("#mockFlood"). basın (function () {console.log ("istehza daşqını istədi");
var selVal = 1;
$ ("#signal2"). css ("font-size", "small");
var varName = "isFloodPresent";
var deviceID = "CİHAZIN ID";
var accessToken = "SİZİN GİRİŞ TOKENİNİZ";
if (FloodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {maye: selVal}, funksiya (məlumat, status) {
əgər (status == "uğur") {
xəbərdarlıq ("Mock Flood keçirdi !!!");
} başqa {
xəbərdarlıq ("Bağışlayın, bir problem oldu");
}
});
}
});
Moruq pi və hissəcik cihazınız Argonun ünsiyyət qura bilməsi üçün Particle Api və moruq ilə əlaqə qurmaq üçün lazım olan əsas funksiyalar bunlardır.
Qeyd: Bütün kodu yükləmək istədim, amma.html faylını yükləməyimə icazə vermir
Addım 6: Raspi Camera üçün Script yaradın
şəkil çəkmək üçün sadə.py yaradırıq və bunun üzərində cari tarix və vaxtın qeydləri olacaq.
sonra cgi skriptini Flood_cgi.py yaradacağıq ki, internetdən çağırılsın və bu.py faylını çəkmək üçün əmr verəcək.
cgi skriptini #ilə başladığınızdan əmin olun! /usr/bin/env python
və həmçinin apache -dən bu faylları işə salmağa icazə verin.
apache serveri istifadəçi www-data üzərində işləyir, buna görə.py və ya.cgi faylını yaratdıqdan sonra apache faylın sahibi olmalıdır.
sudo chown pi: www-data sel-cgi.py
və icrasına icazə verin
sudo chmod a+x sel-cgi.py
apache serverindən işləməsi lazım olan bütün fayllar üçün bunu etməlisiniz.
QEYD: moruqunuzu internetə çıxarmaq və bütün bu icazələri vermək moruqunuzu təhlükəsizlik baxımından çox həssas edir, buna görə ciddi istifadəçi və icazələrə riayət olunmalı və mürəkkəb olmayan bir təhlükəsizlik duvarı (ufw) kimi təhlükəsizlik duvarı quraşdırılmalıdır.
Tövsiyə:
Arduino istifadə edərək bitki suvarma sistemini necə qurmaq olar: 7 addım
Arduino -dan istifadə edərək Bitki Suvarma Sistemini Necə Qurmaq olar: Bu dərslikdə, hər şey qaydasındadırsa OLED Ekran və Visuino varsa, nəm sensoru, su nasosu və yaşıl LED -dən istifadə edərək Bitki Suvarma Sistemini necə quracağınızı öyrənəcəyik
Arduino Nəzarət Rölesi Modulundan istifadə edərək Ağıllı Evi necə etmək olar - Ev avtomatlaşdırma fikirləri: 15 addım (şəkillərlə)
Arduino Nəzarət Rölesi Modulundan istifadə edərək Ağıllı Evi necə etmək olar | Ev Avtomatlaşdırma Fikirləri: Bu ev avtomatlaşdırma layihəsində 5 ev texnikasını idarə edə biləcək ağıllı bir ev rölesi modulu dizayn edəcəyik. Bu röle modulu Mobil və ya ağıllı telefondan, IR uzaqdan və ya TV uzaqdan, Manuel keçiddən idarə oluna bilər. Bu ağıllı röle həm də hiss edə bilər
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Arduino istifadə edərək avtomatik suvarma sistemini necə etmək olar: 5 addım
Arduino ilə Avtomatik Suvarma Sistemini Necə Hazırlamaq olar: Bu Təlimatlarda, torpaqdakı su miqdarını hiss edə bilən və bağınızı avtomatik olaraq suvara bilən avtomatik suvarma sisteminin necə qurulacağını və tətbiq olunacağını göstərəcəyəm. Bu sistem müxtəlif məhsul ehtiyacları üçün proqramlaşdırıla bilər və
NodeMCU istifadə edərək Firebase Ev Avtomatlaşdırma Sistemini necə etmək olar - IOT Platformasında: 14 addım
NodeMCU istifadə edərək Firebase Ev Avtomatlaşdırma Sistemini necə etmək olar | IOT Platformda: BU PROJENİN MƏQSƏDİ Bu layihə, istifadəçiyə evinin bütün uzaqdan idarə olunan cihazlarını IOT Android tətbiqindən istifadə edərək tam idarə etməsini təmin edən bir ev avtomatlaşdırma sistemini inkişaf etdirməyi hədəfləyir